Appearance
对比分析:bojieli/ai-agent-book vs 本教程
两本书的定位差异
| 维度 | 本教程(build-coding-agent-tutorial) | bojieli/ai-agent-book |
|---|---|---|
| 定位 | 动手构建:从零写出 750 行 Coding Agent | 深入理解:Agent 架构原则与设计决策 |
| 风格 | 渐进式代码教程(每章增量 50-100 行) | 学术+工程混合(理论分析 + 实验代码) |
| 读者 | 会 TS/Node,没写过 Agent | 有技术背景,想理解 Agent 设计原则 |
| 深度 | 实现层面(怎么写) | 设计层面(为什么这么写) |
| 语言 | TypeScript | Python(配套实验) |
| 篇幅 | 16 章,聚焦 Coding Agent | 10 章,覆盖通用 Agent 全景 |
本教程已覆盖的内容
bojieli 书中的以下主题在本教程中已有对应章节:
- ✅ LLM API 调用与消息结构 → 第 01-03 章
- ✅ Agent 核心循环(ReAct Loop) → 第 07 章
- ✅ 工具定义与调用 → 第 06、08 章
- ✅ Coding Agent 文件编辑工具 → 第 08 章
- ✅ 上下文管理/压缩 → 第 12 章
- ✅ 评测基础 → 第 15 章
- ✅ 扩展系统(钩子/拦截) → 第 13 章
- ✅ Mock 测试 → 第 05 章
可以补充的内容(按价值排序)
高价值 — 直接补充为新章节
1. Prompt Engineering 与 System Prompt 设计(对应 bojieli 第 2 章)
本教程的缺口:目前 system prompt 只是一行字符串,没有展开讨论如何设计好的 prompt。
bojieli 覆盖的内容:
- 结构化 system prompt(分段、标记、优先级)
- 流程驱动 vs 规则堆砌
- 工具描述的写法对模型行为的影响
- Few-shot 示例的使用时机
- 提示注入攻防
建议:新增一章「System Prompt 工程」,放在第 13 章(扩展系统)之后。演示如何从"一行字符串"进化到结构化、动态拼接的 system prompt,包含防注入。
2. 安全与权限控制(对应 bojieli 第 4、5 章)
本教程的缺口:第 13 章只有一个 isDangerous() 简单示例,缺乏系统性的安全设计。
bojieli 覆盖的内容:
- Coding Agent 的安全模型(沙箱、文件系统隔离)
- 工具执行的权限确认机制
- 护栏(Guardrails)设计模式
- Agent 越权操作的防范
建议:可以在现有第 13 章扩展系统中加深安全内容,或单独成章。
3. Harness 工程(对应 bojieli 第 1、5 章)
本教程的缺口:没有明确提出 "Harness" 概念 — 即模型能力之外的工程层如何补足模型的不足。
bojieli 的核心观点:
- 模型会幻觉、会过早终止、会调错工具
- Harness 是"模型之外的竞争力"
- 具体手段:重试、验证、自动纠错、proposer-reviewer 模式
建议:新增一章「Harness 工程 — 让 Agent 可靠」,演示:重试策略、输出验证、自动纠错循环。放在评测之前或与评测合并。
4. Agent Skills 动态加载(对应 bojieli 第 2、4 章)
本教程的缺口:当前 tools 是硬编码的固定列表,没有按需加载机制。
bojieli 覆盖的内容:
- Skills = 可组合的领域能力单元
- 工具列表过长时的渐进式披露
- 动态 system prompt(注入当前 skill 上下文)
建议:可以作为第 13 章扩展系统的深化内容。
中等价值 — 作为现有章节的扩展段落
5. KV Cache 友好的设计(bojieli 第 2 章)
本教程第 12 章讲上下文截断,但没有从 Prompt Cache/KV Cache 角度解释为什么要「前缀稳定」。加一个小节解释原理,读者会更理解截断策略的设计动机。
6. 搜索工具(bojieli 第 5 章)
本教程的 4 个核心工具里没有 grep/search。Coding Agent 实际使用中搜索是高频工具。可以在第 08 章补充一个 search_files 工具。
7. 故障与错误恢复(bojieli 第 5 章)
本教程的错误处理是"工具返回 isError,让 LLM 自行决策"。bojieli 进一步讨论了:
- 模型陷入死循环怎么办(max iterations)
- 连续失败的自动退避
- "先确认再执行"的模式
可在第 10 章(有状态 Agent)中补充一小节。
8. 评测的指标体系(bojieli 第 7 章)
本教程第 15 章只有 pass/fail,bojieli 引入了:
- Pass@k(多次运行取最好)vs Pass^k(多次运行全要过)
- 过程指标(不只看最终结果)
- LLM-as-a-Judge
可以在第 15 章的"评测设计要点"表格后补充一节。
低优先级 — 超出本教程定位
以下主题 bojieli 有详细讨论,但超出了「从零构建 Coding Agent」的范围:
- RAG / 知识库(第 3 章)— 本教程聚焦 Coding Agent,不涉及检索增强
- 多模态感知(第 4、6 章)— 语音、视觉、Computer Use
- 模型后训练 SFT/RL(第 8 章)— 训练相关,非 Agent 构建
- 持续进化(第 9 章)— 需要生产环境运行数据
- 多 Agent 协作(第 10 章)— 更高级的系统架构
- 异步/事件驱动(第 6 章)— 非 CLI 场景
这些可以在教程末尾的"下一步"指引中推荐读者去阅读 bojieli 的书。
建议的行动方案
最小投入、最大价值的补充方案:
- 新增第 16 章:System Prompt 工程(结构化设计 + 动态拼接 + 防注入)
- 新增第 17 章:Harness 工程(重试 + 验证 + max iterations + proposer-reviewer)
- 扩展第 08 章:添加
search_files工具 - 扩展第 12 章:添加 KV Cache / Prompt Cache 原理简述
- 扩展第 15 章:添加 Pass@k / LLM-as-a-Judge 概念
- 新增「推荐阅读」:在教程末尾引导读者阅读 bojieli 书的高级主题