05Bread Multi-Agent · 第 1 章
总进度 28 / 33

让两个助手轮流对话

本章先做最简单的连接:A 回复后,把这段话作为 B 的输入;B 回复后,再交给 A。

2026-09-28约 25 分钟80 行代码难度 ★

如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。

1. 把一个助手的回复交给另一个

单 agent 时代你写的是这样的代码:

messages = [
    {"role": "system", "content": "你是 ..."},
    {"role": "user", "content": "用户输入"},
    {"role": "assistant", "content": "模型回复"},
]

user 是真实的人。assistant 是 LLM。

本章先做最简单的连接:A 回复后,把这段话作为 B 的输入;B 回复后,再交给 A。

[Alice 的视角]
  system: 你是 Alice ...
  assistant: "Bob,咱们辩论..."     ← Alice 自己说的
  user: "Alice,Go 才是 ..."        ← Bob 的话,但对 Alice 而言是 'user'
  assistant: "但 Python ..."
  user: "..."

消息中的 role 表示这段内容在当前对话里的角色,不要求文本一定由人键入。因此程序可以转发另一个助手的输出。后面再加入分工、工具和控制流程。

<!-- bread-visual:start -->

我说的话,是你收到的消息

图解: 两个助手各自保存自己的 messages。 把一方的 assistant 输出,当作另一方的 user 输入,就能交替对话。

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

2. 跑起来

cd ch00_dialogue
python main.py

预期输出

🐍 Alice: Bob,我们来辩论一下:写 AI agent,Python 显然比 Go 更合适,你怎么看?

🦫 Bob: Alice,Python 在原型阶段确实快,但生产环境部署 Go 二进制单文件、
       启动 50ms vs Python 进程 1-2 秒。并发 goroutine 模型比 Python GIL ...

🐍 Alice: Bob,你说的部署优势我承认,但 AI agent 的核心是 LLM 调用——
        90% 时间在等 API 响应,并发不是瓶颈。Python 生态里 openai SDK ...

🦫 Bob: ...

程序会让两位助手交替发言六轮。观察它们有没有回应对方上一句,以及各自的观点怎样变化。

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

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

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