Agent X-Ray
RuntimeNotesAbout
Notes/产品经理/Agent 基础知识/S09-实践

阶段 9 实践 — 单 Agent 与 Planner-Executor 对比

5 分钟 · 更新于 2026-09-01

阶段 9 实践 — 单 Agent 与 Planner-Executor 对比

本实践的产出最小产出:同一任务下单 Agent 与 Planner + Executor 的对比实验记录 完整产出:对比实验 + 三角色委派设计 + 子任务失败演练 + 个人知识库自动化链路复盘

预计投入:6~8 小时。核心目标不是证明多 Agent 好,是拿到数据来判断它值不值。


实践 1 · 单 Agent vs Planner + Executor(⭐ 必做)

任务选择

选一个真实、需要多步、有客观验收标准的任务。推荐:

"调研这 5 条国际航线未来 30 天的最低价分布,找出价格波动异常的航线,并给出可能原因。"

它的好处:步数够多(每条航线要查日历、查航班)、有并行机会、结果可客观核对。

两种实现

方案结构
A · 单 Agent一个 Agent + 全部工具,自己决定顺序
B · Planner + ExecutorPlanner 先出计划(子任务列表),Executor 逐条执行,最后汇总

要求:两边用同一套工具、同一个模型、同一个任务描述。只改结构。

记录表(各跑 5 次)

指标A 单 AgentB Planner+Executor
任务成功率(5 次里几次结果正确)
平均步数
平均输入 token / 输出 token
平均端到端耗时
最大单次上下文占用
出错时能否定位到哪一步
5 次结果的一致性

必须回答的四个问题

  1. B 在哪个指标上真的更好? 如果一个都没有,说明这个任务不需要拆。
  2. B 的额外成本是多少?(token、延迟、实现复杂度)
  3. B 的计划出错时会怎样? 手动把 Planner 的计划改错一条,观察 Executor 是否会盲从。
  4. A 的失败模式和 B 的失败模式一样吗? 通常不一样——A 容易偏航,B 容易"计划僵化"。

验收标准

  • 两套都跑通,7 项指标有数据
  • 能给出一句明确结论:"这个任务应该用 X,因为 Y 指标上有 Z 的差距"
  • 第 3 个问题的实验做了——这是最能暴露 Planner-Executor 结构风险的一步

实践 2 · 主 Agent + 研究 Subagent + 审核 Subagent

任务:设计并跑通一个三角色结构,验证上下文隔离的真实收益。

结构

text
主 Agent(掌控全局,产出最终交付)
  ├── 研究 Subagent × N(并行,各自独立上下文)
  │     职责:查资料 → 只回传结论 + 依据 + 置信度
  └── 审核 Subagent(独立上下文,对抗立场)
        职责:只拿到产物和判据,被要求"找出问题;找不到才算通过"

关键设计点(每一条都要写清楚)

设计点我的设计
研究 Subagent 回传的格式长度上限
回传里必须包含哪些字段(结论/依据/置信度/未完成项)
失败时回传什么("卡在哪、试过什么、建议怎么办")
审核 Subagent 拿到什么、不能拿到什么
审核不通过时,主 Agent 怎么处理(重做?降级?告知用户?)
子 Agent 的过程记录去哪(不进主上下文,但必须落轨迹)

验证上下文隔离的收益

对比两种做法,各跑 3 次:

主上下文峰值 token最终结果质量
子 Agent 只回传结论
子 Agent 把过程全部回传(模拟"隔离失效")

要看到的现象

  • 隔离失效时,主上下文迅速膨胀
  • 更重要的:结果质量不一定更好——这证明"上下文更多 ≠ 结论更好",与阶段 1、3 的结论一致

实践 3 · Fresh Brief 与 Fork Directive 对比

选择实践 2 中同一个研究子任务,分别写两份委派:

模式写法要求
Fresh Brief写全目标、背景、输入、约束、验收标准与回传格式
Fork Directive假设已继承父上下文,只写任务范围、动作和回传合同,不重复背景

各跑 3 次并记录:委派 Prompt token、子 Agent 总输入 token、结果质量、遗漏约束数量、主上下文回传长度。

必须检查

  • Fresh 是否因为 Brief 不完整而误解任务
  • Fork 是否因为重复背景造成 Token 浪费或指令冲突
  • 两种模式的权限、Skill 与工具继承是否符合预期
  • 异步运行期间主 Agent 是否避免预测尚未返回的结果

参考:Claude Code:Fork 与 Fresh。


实践 4 · 子任务失败演练

在实践 2 的结构上注入失败,验证降级链路:

注入期望行为实测
一个研究 Subagent 超时其余继续;最终汇总标注"第 X 项未完成"
一个研究 Subagent 返回明显错误的结论审核 Subagent 应当发现
审核 Subagent 自己失败不能默认通过(fail-closed)
全部 Subagent 都失败主 Agent 交出"什么都没查到"而不是编造

第三行是最容易写错的 "审核组件挂了 → 跳过审核继续" 是 fail-open,等于审核不存在。审核失败必须阻塞或降级为人工。这条在阶段 11 会作为安全原则再次出现,这里先在编排层建立直觉。

验收:四种注入都有明确、可预期的行为,且部分成功的结果被交付出来而不是整体失败。


实践 5 · 复盘个人知识库网站的多 Agent 自动化链路

任务:把已经跑过的那套自动化开发链路(远程控制 + 自动化开发)按本阶段的框架重新复盘一遍

复盘提纲

问题回答
当时用了几个 Agent?各自职责?
拆分依据是什么?是上下文隔离、并行,还是按岗位?
有没有屏障?在哪?浪费了多少时间?
结果冲突出现过吗?怎么处理的?
出问题时能定位到具体哪个 Agent 哪一步吗?
如果现在重做,哪几个 Agent 应该合并回单 Agent?
有没有可度量的收益?

最后两行是复盘的价值所在 这条链路当时是"做出来了",现在要回答的是"它值不值"。能诚实地指出"其中两个 Agent 其实应该合并",比当初做出来更能体现判断力——这也是这份复盘可以作为公开作品素材的原因。

参考材料:远程控制自动化开发。

产出:一份复盘文档,结论要包含"如果重做,架构会怎么变"。


自测

维度阶段 9 的问法
解释讲清"子 Agent 的第一价值是上下文隔离",并举一个反例(按岗位拆分为什么不算)
画图三角色结构图,标出上下文边界与轨迹去向
比较单 Agent vs Planner-Executor,有数据支撑的结论
实践四个实验有记录,含 Fresh / Fork 对比
评测能定义"多 Agent 值得"的判据(哪个指标改善多少)
产品化复盘文档能作为公开作品的素材
迁移换成一个客服场景(转接专家),是 handoff 还是 subagent?为什么?

通过标志 在一次真实方案评审中,能对"我们上多 Agent 吧"这个提议,用三个否定性问题(阶段 9 讲义第一节)把讨论拉回到可度量的收益上。


  • 阶段 9 讲义
  • 阶段 10 实践:最小评测集
  • 远程控制自动化开发
  • 学习路线

本章目录
实践 1 · 单 Agent vs Planner + Executor(⭐ 必做)实践 2 · 主 Agent + 研究 Subagent + 审核 Subagent实践 3 · Fresh Brief 与 Fork Directive 对比实践 4 · 子任务失败演练实践 5 · 复盘个人知识库网站的多 Agent 自动化链路自测Related Documents
苏ICP备2025204887号-2