本页目录
Lesson 09 练习 — 毕业项目:多智能体研究系统
这是 36 课的收官练习。重点是"综合应用"和"打磨成简历作品"。
练习 1:追踪并行研究流程(关键概念,5 分钟)
运行 code.py 的实验 1,观察输出。回答:
[并行研究-split]拆出了几个子问题?[并行研究-researcher] ✓ 完成一个子问题打印了几次?它们是同时完成的还是一个个的?[并行研究-summarize]是在所有 researcher 完成后才出现的吗?- 最终生成了多少字的报告?有几个并行研究发现?
这道题帮你确认"多 Agent 真的并行了"——不是串行假并行。
练习 2:验证 Checkpointer 记忆(核心机制,5 分钟)
运行实验 2,回答:
- 追问"基于刚才的研究"时,系统知道"刚才的研究"是什么吗?
- 如果用不同的 thread_id(如
research-2)追问,还能记住吗?为什么?
实验:把实验 2 的 thread_id 改成 "research-2",看是否还能记住实验 1 的内容。
这就是 Checkpointer 的核心:同 thread_id = 记忆延续;不同 thread_id = 互相隔离。
练习 3:接入真实搜索(进阶,20 分钟)
本课的 researcher 用 LLM 直接回答(模拟数据)。参考 Agent L09 的 web_search 工具,让 researcher 真正联网搜索。
提示:
1. 从 agent-lessons/09_capstone/code.py 复制 web_search 函数(用 DuckDuckGo)
2. 在 researcher 节点里调用 web_search(subtopic) 获取真实搜索结果
3. 把搜索结果(而不是 LLM 回答)作为 finding 写入
观察:接入真实搜索后,研究报告的内容是不是更真实、更有时效性?
这是把毕业项目从"演示级"升级到"准生产级"的关键一步。架构不用改,只换 researcher 的实现——模块化的好处。
练习 4:加一个"审查"节点(15 分钟)
在 writer 之后加一个 reviewer 节点(用 glm-4),审查报告质量。如果不合格,回传 writer 重写。
要求:
1. 加 reviewer 节点:读 report,判断是否合格(输出 "PASS" 或 "REWORK: 原因")
2. 加条件边:PASS → END;REWORK → 回 writer(带审查意见)
3. 设最大重写次数(防无限循环)
这综合了 L01(条件路由)+ L05(共享 State 传审查意见)+ Agent L08(审查回环)。
练习 5:对比三个毕业项目(认知总结,10 分钟)
打开三个毕业项目的 code.py,对比填写:
| 维度 | Agent L09 | Framework L09 | 本课 L09 |
|---|---|---|---|
| Agent 数量 | ? | ? | ? |
| 并行还是串行 | ? | ? | ? |
| 用了哪些课的技术 | ? | ? | ? |
| 代码行数 | ? | ? | ? |
| 最适合的场景 | ? | ? | ? |
这道题帮你建立"同一问题不同复杂度方案"的认知——从单 Agent 到多 Agent,不是"越复杂越好",而是"按需选择"。
思考题(不写代码)
-
这个系统如果要部署成 Web 服务(用户通过浏览器使用),还需要什么? 提示:FastAPI 包装 + 流式输出 + 前端界面(这正是当初备选的"AI 应用工程化"课程内容)。
-
如果研究的子问题不是 3 个而是 20 个,架构要怎么调整? 提示:并行度太高会打爆 API(QPS 限制),需要加并发控制(信号量/队列)。
-
36 课学完,你觉得最有价值的是哪三门课?为什么? 提示:没有标准答案,重点是反思自己的学习收获。
完成标志
- [ ] 确认了多 Agent 真的并行(3 个 researcher 同时完成)
- [ ] 验证了 Checkpointer 跨轮记忆(同 thread_id 记住)
- [ ] 理解了 7 项综合技术(supervisor/子图/并行/State/多模型/Checkpointer/Mermaid)
- [ ] 能说清三个毕业项目的演进(单Agent→单Agent图→多Agent并行)
- [ ] 能把这个项目写进简历 🎓
🎓 36 课全部完成!
你完成了从零到多智能体架构师的完整学习路径: - 📘 RAG 手写 9 课 + 🤖 Agent 手写 9 课 + 🔧 框架进阶 9 课 + 🔀 多智能体编排 9 课 = 36 课 - 4 个毕业项目,从单 Agent 串行到多 Agent 并行协作 - 三框架横向对比(LangGraph / CrewAI / AutoGen)
下一步:把这个代码库整理成 GitHub Portfolio,开始投简历。你值得一个 AI 应用开发的 offer 💪