10 Agent:模型驱动的工具调用循环
- 理解 Agent 不等于模型本身。
- 会实现最小 ReAct loop。
- 知道工具调用为什么需要 schema 和错误处理。
Agent 是一个循环:模型决定下一步,程序执行工具,把结果写回上下文,模型再继续决定。它像“会调用工具的控制器”。
while not done: thought = llm(context) action = parse(thought) observation = tool(action) context += observation这就是 ReAct 的核心:Reasoning + Acting。
参考项目里的对应实现思路
Section titled “参考项目里的对应实现思路”OpenAI Swarm 用很少代码展示 Agent 和 handoff。smolagents、tiny-agent、PocketFlow 都适合观察轻量 Agent 如何组织工具和状态。
最小代码实验
Section titled “最小代码实验”这个实验用 mock model 触发 calculator 工具,再把 observation 写回 trace。
运行命令与预期输出
Section titled “运行命令与预期输出”运行:
npm run lab:10预期你会看到 Action、Observation 和 Final 三段 trace。
- Agent 需要可靠边界,否则会无限循环或调用危险工具。
- 工具返回值要结构化,不能只靠自由文本猜。
- Agent 的失败常常来自状态管理,而不是模型“不聪明”。