第 2 章合同:Agent 主循环
章节目标
读者理解一个 Agent 从用户输入到模型调用、工具执行、继续下一轮的完整主链路。
必须覆盖的源码
restored-src/src/QueryEngine.tsrestored-src/src/query.tsrestored-src/src/cli/print.tsrestored-src/src/screens/REPL.tsxrestored-src/src/utils/messages.ts
必须回答的问题
QueryEngine为什么适合作为学习入口?- 一轮
submitMessage内部发生什么? query.ts如何决定是否继续下一轮?- streaming 响应、assistant message、tool use block 的关系是什么?
- 一个简化版
AgentLoop至少需要哪些状态?
必须包含的迁移观点
自己写 Agent 时,不应一开始就做完整 UI 和插件系统;应先实现可测试的主循环。
验收标准
- 给出主循环时序。
- 给出简化版伪代码。
- 明确区分 headless 路径和交互式路径。