Agent 工作流:让多个智能体协作
Agent 不是又一个聊天框,而是「能自己决定下一步做什么」的程序:它观察环境、调用工具、根据结果再决策,直到任务完成。这篇讲清它的骨架。
一、什么是 Agent
普通接口调用是「一问一答」;Agent 是「给目标,它自己循环去完成」。它把大模型当作「大脑」,把代码、API、搜索引擎当作「手和眼睛」。
二、最小闭环
任何 Agent 都绕不开这个循环:思考(Think)→ 行动(Act)→ 观察(Observe),然后回到思考,直到满足终止条件。
while not done:
plan = think(goal, memory) # 思考下一步
action, args = plan.next_action
result = run_tool(action, args) # 行动
memory.append(result) # 观察并记忆
done = plan.is_finished(result)
三、多智能体分工
复杂任务拆给不同角色更稳:Planner 拆解目标、Worker 执行子任务、Reviewer 检查结果。三者用消息传递协作,避免一个模型又想又做又查。
四、工具调用
让模型声明「我能调用哪些函数」,它返回函数名和参数,由我们的代码真正执行——这就是 Function Calling。模型只决策,执行永远在我们手里。
{"name": "search_web", "description": "搜索互联网",
"parameters": {"query": "string", "top_k": "integer"}}
五、别让它停不下来
- 设最大步数上限,防止无限循环烧钱;
- 明确「完成」的判定标准,而不是靠模型自觉;
- 关键动作加人工确认,尤其是会改数据的操作。
进阶建议:先把单 Agent 的最小闭环跑通,再考虑多智能体。大多数需求,一个会调用工具的基础 Agent 就够了。