源码阅读 · Source Reading
文档告诉你"是什么",源码才告诉你"怎么做的"。这一章选 3 个有代表性的开源 agent 框架,按统一 8 维尺并排读——你会看到"同一个问题,三种正交解法"在源码层面长什么样。
Core Curriculum · Chapter 05
这一章把抽象语言翻译成真实代码与状态机
适合谁学
- 已经学过前 4 章,但还不能自己快速读懂 agent 仓库的人。
- 想把“会用框架”升级成“会拆框架、会迁移设计”的工程师。
学完能做什么
- 沿着入口、状态、扩展点 3 条线快速拆一个 agent codebase。
- 把 replay / eval / regression 视角加入源码阅读,而不是只看 happy path。
必修主线
Level 3 · 源码迁移
预计时间 · 3–4 小时
建议顺序 · 完成 03 后继续
中波动
Last reviewed · 2026-04-22
这一章的特殊态度:不读源码就没法说清楚
- 章 0–4 都在讲抽象:什么是 agent loop、什么是 middleware、什么是 checkpoint。但这些抽象的边界、约束、暗坑、性能权衡都藏在实际代码里。例如同样叫 "ReAct",LangChain 的
create_agent 是 100+ 行 graph 编排,Agents SDK 的 Runner.run 是 contextvar + tracing 装配,smolagents 的 MultiStepAgent.run 就 ~20 行 while——三家的"复杂度预算"花在了完全不同的地方。
- 这一章不是 API 文档。我们不会逐函数解释参数,而是按统一 8 维尺:入口 → 状态 → 工具 → middleware → backend → subagent → permissions → interrupt,把 3 个 codebase 各自的代码并排、定位、对比。读完应能:① 拿到一个新 agent 框架,30 分钟内画出它的执行骨架;② 知道哪些是公共必备件、哪些是该框架独家投资;③ 能写"反向文档"——用自己的话重写一份,与官方对照。
- 挑选这 3 家的理由——它们代表 3 种截然不同的复杂度策略:LangChain create_agent = "把 agent loop 编译成 LangGraph 图"(结构化 + 重);OpenAI Agents SDK = "把 agen