Skip to content

对比分析:bojieli/ai-agent-book vs 本教程

两本书的定位差异

维度本教程(build-coding-agent-tutorial)bojieli/ai-agent-book
定位动手构建:从零写出 750 行 Coding Agent深入理解:Agent 架构原则与设计决策
风格渐进式代码教程(每章增量 50-100 行)学术+工程混合(理论分析 + 实验代码)
读者会 TS/Node,没写过 Agent有技术背景,想理解 Agent 设计原则
深度实现层面(怎么写)设计层面(为什么这么写)
语言TypeScriptPython(配套实验)
篇幅16 章,聚焦 Coding Agent10 章,覆盖通用 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 的书。

建议的行动方案

最小投入、最大价值的补充方案:

  1. 新增第 16 章:System Prompt 工程(结构化设计 + 动态拼接 + 防注入)
  2. 新增第 17 章:Harness 工程(重试 + 验证 + max iterations + proposer-reviewer)
  3. 扩展第 08 章:添加 search_files 工具
  4. 扩展第 12 章:添加 KV Cache / Prompt Cache 原理简述
  5. 扩展第 15 章:添加 Pass@k / LLM-as-a-Judge 概念
  6. 新增「推荐阅读」:在教程末尾引导读者阅读 bojieli 书的高级主题