inside_an_agent零基础约 60 分钟
2
拆开 Agent:模型、工具与编排层怎样协作
参考:来源 A · Google
学完你能做到
- 画出 agent 的三层结构
- 说清每一层负责什么
- 知道"编排层"为什么是最关键的一层
Google 白皮书把 agent 拆成三个部分。这个拆法很干净,记住它,后面看任何 agent 框架的文档都能对上号。
第一层:模型
先建立直觉
一个只会说话、不会动的顾问。你问他他就答,但他不会自己站起来去做事。
第二层:工具
先建立直觉
顾问办公室墙上开的那几个小窗口。每个窗口能递东西进出。
第三层:编排层 — 最重要的一层
先建立直觉
顾问团队的项目经理。他把当前目标和资料交给顾问,接住顾问提出的动作,安排执行人员去做,再把结果放回资料夹交给顾问。信息不够就再跑一轮,完成、超时或触碰规则时就停止。
课堂练习
15 分钟- 让学生用这三层去拆解一个他们熟悉的产品(比如某个 AI 助手 app):哪部分是模型?有哪些工具?编排层做了什么?
- 追问:如果把编排层拿掉,这个产品还能做什么、不能做什么?
查看参考答案
期望的讨论落点:拿掉编排层之后,产品退化成"一问一答",不能连续查两次资料、不能发现结果不对再试一次。这正好说明编排层的价值——它把一次性的问答变成了可以反复试探的过程。
案例推演:一次论文检索请求在三层之间怎样传递
用户要求“找出近三年支持某结论的随机对照试验”。模型负责解释意图,工具负责检索与读取,编排层负责循环、去重、预算和证据状态。
本节追问:若结果错了,怎样定位是模型、工具还是编排层的问题? 先不要急着看结论。沿着下面四步,逐项区分输入、决策、证据和失败信号。
| 阶段 | 本步要做的决定 | 什么算证据 | 最常见的失败 |
|---|---|---|---|
| 模型决策 | 生成检索式并判断下一篇是否值得读 | 决策输入与理由可追踪 | 模型声称已读但没有工具记录 |
| 工具执行 | 查询数据库、下载并读取原文 | 返回值带来源、状态和错误码 | 工具只返回模糊自然语言 |
| 编排更新 | 去重、计数、保存已读与待读集合 | 状态变化能重放 | 把所有状态埋在模型对话里 |
| 完成验证 | 检查年份、研究设计和证据覆盖 | 完成条件由结构化规则验证 | 模型自行宣布“已经足够” |
阅读方式:先遮住后两列自己回答,再用“证据”和“失败”两列检查理解。
常见误解
把三层日志混成一条聊天记录
实际上
可观察症状:无法判断错误发生在决策、执行还是状态更新。
更可靠的修复:分别记录模型请求、工具 I/O 和编排状态转换,并用任务 ID 串联。
案例工作坊 · 建议真正动手完成
25 分钟- 画出一次“搜索—读摘要—读全文—纳入”的数据流。
- 分别写一个模型错、工具错、编排错的例子。
- 设计能跨三层关联的最小日志字段。
查看参考答案
模型、工具和编排层必须职责清楚:模型做语义判断,工具接触外部世界,编排层维护过程与约束。可观察性需要三层分别记录再关联。
迁移检查:换一个场景还会不会
“同一篇论文被下载十次”最可能首先检查哪层?