// 课程大纲 · 16 章 + 3 附录
从一次 API 调用,到一个 ~2500 行的编码 agent
完整章节地图与写作进度。每章固定五段式,结束项目必须可运行、且比上一章明显更强,代码按章打 git tag。
每章结构
- 1为什么需要它
- 2原理拆解
- 3动手实现
- 4跑起来看效果
- 5练习与延伸
全书写作中:spike 周已跑通核心能力链,正在写第 0–5 章。下方状态会随章节上线更新。
写作中 规划中 可读
第〇部分
00 导言:把黑盒拆开 写作中 里程碑 → 环境就绪,看完最终成品演示 为什么 agent 没有魔法;最终成品演示;环境准备(Node 22+、API key、~$5 预算)。 01 一次 API 调用 写作中 里程碑 → 一个会失忆的聊天 CLI——连问"我叫什么"都答不出 messages 与角色、system prompt;打通一次干净的调用,再套一个无状态对话循环。 起点
第一部分
02 Tool Use:给模型一双手 写作中 里程碑 → 能查时间、算算术的助手 工具即 JSON Schema 声明;tool call 的请求-响应协议;为什么说"模型只是输出了一段 JSON"。 03 Agent Loop:循环直到完成 写作中 里程碑 → 记得住你上一句的代码问答 agent loop 的终止条件;messages 数组的增长方式;实现 read_file 工具。 04 写与改:Write、Edit 与 diff 写作中 里程碑 → 能修真实 bug 的最小编码 agent 全量写 vs 精确替换;old_string/new_string 的设计权衡;终端里渲染 diff。 05 Bash:让 agent 跑命令 写作中 里程碑 → 丢给它一个失败的测试,它自己修到通过 子进程、stdout/stderr 捕获、超时与输出截断;跑测试→看报错→改代码→再跑的自我迭代闭环。 核心循环
agent 的本质 第二部分
06 系统提示词与环境感知 规划中 里程碑 → 注入环境后答对"当前分支有什么未提交改动" system prompt 的分层设计;注入 cwd、git 状态、目录结构;CLAUDE.md 式的项目记忆文件。 07 权限系统:信任但确认 规划中 里程碑 → agent 不再能悄悄 rm -rf 危险操作分级;写操作/命令执行的用户确认交互;白名单与会话内记忆。 08 token 感知:计数、截断与缓存 规划中 里程碑 → API 账单下降;大输出不再把窗口撑爆 token 计数与预算(count_tokens / usage 锚定);大输出截断策略;prompt caching 与账单观测。 09 上下文压缩:compaction 规划中 里程碑 → 长对话不再爆窗口,压缩前后 usage 眼见为实 手写客户端压缩:何时压(锚定真实 usage、双参数防 thrash);怎么压;切点结构性排除 toolResult;硬事实结构化留存。 10 健壮性与会话生命周期 规划中 里程碑 → 429 退避、Ctrl+C 优雅取消、关终端重开对话还在 三层健壮性:网络重试与退避;工具错误三段式编码进 tool_result;session JSONL 持久化。 从玩具到可用
第三部分
11 子 agent:分而治之 规划中 里程碑 → 主 agent 派只读子 agent 全库搜索,自己保持清爽 为什么需要隔离上下文;Task 工具的实现;只读工具集作结构性权限;git worktree 隔离文件系统。 12 计划、命令与 Skills 规划中 里程碑 → 开 todo 不漏步骤;/commit skill 按需加载眼见为实 扩展 agent 行为不碰核心 loop:TodoWrite 式工具、斜杠命令、skill 文件的按需加载。 13 MCP:接入外部世界 规划中 里程碑 → 你的 agent 能用上整个 MCP 生态 MCP 协议拆解(不是黑魔法,就是 JSON-RPC);实现 MCP client,接入一个现成 server。 进阶能力
第四部分
14 终端体验打磨 规划中 里程碑 → 流式 markdown、spinner、工具调用折叠 不依赖重型 TUI 框架的渲染:spinner、工具调用折叠、流式 markdown 渲染;裸 SSE 手解析作练习。 15 评测:怎么知道它变好了 规划中 里程碑 → 三配置的通过率与 token 成本对比表 为 agent 写 mini eval:固定任务集 + 自动判分;用 eval 验证前面每个特性确实有效。 16 发布 规划中 里程碑 → 干净容器里 npm i -g 后三分钟跑通 demo 打包成 npm 全局命令;README 写法;如何让别人三分钟跑起来。 收尾
附录
A API 提供商选择 规划中 里程碑 → Anthropic 直连 / OpenRouter / 兼容端点 Anthropic 直连 / OpenRouter / 任意 OpenAI 兼容端点(解决国内读者访问问题)。 B 多模型适配层 规划中 在不同模型供应商之间切换的适配层设计。 C 术语表(中英对照) 规划中 全书技术名词的中英文对照表。