05Bread Multi-Agent · 第 2 章
总进度 29 / 33

Planner + 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 -->

一个人列步骤,一个人照着做

图解: 例子:计算前 10 个素数的算术平均值。 Planner 产出计划;Executor 带着工具和执行历史逐步完成。

<!-- bread-visual:end -->

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 -->

实操画面对照

Planner 拆解任务,Executor 开始执行

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

执行计算并汇报 12.9

试读到这里 · 后续内容已封存

关注公众号,继续把这章学完

在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。