05Bread Multi-Agent · 第 2 章
总进度 29 / 33Planner + Executor
用一道计算题观察问题。下面是一种可能出现的错误回答,用来说明为什么需要核对计算过程:
2026-09-28约 40 分钟150 行代码难度 ★★
如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。
1. 先列步骤,再用工具计算
用一道计算题观察问题。下面是一种可能出现的错误回答,用来说明为什么需要核对计算过程:
任务:"计算前 10 个素数的平均值,给出中文句子作答"
单 agent 一次性回答: "前 10 个素数是 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,加起来等于 130, 平均值是 13.0。所以答案是:前 10 个素数的平均值约为 13.0。"
❌ 错——和是 129,不是 130。LLM 边想边算容易出错。
本章尝试这样处理:
Planner ── 拆任务 ──→ [
"列出前 10 个素数",
"用 calc 算它们的和",
"用 calc 除以 10",
"汇报最终答案"
]
Executor ── 一步一步执行(带 calc 工具)──→ 13.0 → 中文句子
Planner 列出步骤,Executor 使用计算工具执行,再整理答案。角色分开便于检查计划和执行各自的问题;正确算出结果主要依赖计算工具与核对,不能仅归功于助手数量增加。
<!-- bread-visual:start -->
<!-- bread-visual:end -->图解: 例子:计算前 10 个素数的算术平均值。 Planner 产出计划;Executor 带着工具和执行历史逐步完成。
2. 跑起来
cd ch01_planner_executor
python main.py
预期输出
=== 原任务 ===
计算前 10 个素数的算术平均值,给出一句完整的中文答案。
=== Planner 在思考 ===
1. 列出前 10 个素数
2. 计算这些素数的和
3. 用和除以 10 得到平均值
4. 汇报最终答案
▶ Executor 步骤 1/4: 列出前 10 个素数
Executor: 前 10 个素数是 2, 3, 5, 7, 11, 13, 17, 19, 23, 29。
▶ Executor 步骤 2/4: 计算这些素数的和
↳ calc('2+3+5+7+11+13+17+19+23+29') = 129
Executor: 它们的和是 129。
▶ Executor 步骤 3/4: 用和除以 10 得到平均值
↳ calc('129/10') = 12.9
Executor: 平均值是 12.9。
▶ Executor 步骤 4/4: 汇报最终答案
Executor: 前 10 个素数的算术平均值是 12.9。
=== 最终答案 ===
前 10 个素数的算术平均值是 12.9。
注意:
- Planner 输出步骤,本例不为它提供工具。
- Executor 根据计划逐步处理,需要计算时调用工具。
- 最后核对总和 129、平均值 12.9,并查看实际调用记录。
<!-- bread-practice:start -->
实操画面对照

实操运行记录: 实际执行课程副本的
main.py;展示原始输出第 1–12 行。Planner 拆解任务,Executor 开始执行。这是实测日志的排版图,并非 Windows 原生终端截图;模型回复可能随运行变化。

试读到这里 · 后续内容已封存
关注公众号,继续把这章学完
在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。