跳到主要内容
// free · open-source · 无付费墙

Build Your Own AI Agent

从零复刻一个 Claude Code

普通 chatbot 回答你;agent 把同一个模型放进一个循环里——执行、观察、再执行——直到任务真的完成。这本书带你用 TypeScript 从零写出那个循环,不靠任何框架。

安装并运行《Build Your Own AI Agent》的陪读 skill,按本站章节一步步带我学,每章结束前先让我自己动手: https://build-your-own-ai-agent.com/skill/tutor.md

// 粘贴给 Claude Code、Cursor 等编码 agent,它会按章带你从零写一个 agent

// 同一个问题,两种回应

把「修复 cart 的 bug,跑 npm test 直到全绿」这一句,
分别交给 chat 和 agent——

chat 读得懂问题,甚至猜得到 bug 就在 applyDiscount。但它改不动那一行、跑不了那次测试——建议给到,活还得你自己干。这是今天多数人用的 AI。

chat ›
AI 助手
修复 cart 的 bug,跑 npm test 直到全绿
发消息……
chat · 一问一答,没有下一步

你将亲手造出什么

每个 Part 都有清楚的出口能力;进入开发后,再把它切成一组可运行、逐步增强的章节。下面的章名是当前展开,不是不会变化的目录合同。

终局能力已定,Part 目标已重排;正在推进序章与第一部分,未发布章节仍可重切。

序章 看见模型边界 · 从一次调用开始

出口 →一个使用裸 fetch 的无状态聊天 CLI;连续追问时会失忆,读者能解释原因。

第二部分 可控运行

出口 →理解项目环境、过程可见、危险操作受控、工具错误可恢复、网络瞬时错误可重试、Ctrl+C 无孤儿进程。

第四部分 计划与分工

出口 →Todo 跨 prompt 保存进度;Task Tool 复用 runAgent,以新 messages 和只读工具集返回可复查证据。

第五部分 开放扩展

出口 →Skills 按需进入 system prompt;MCP 工具经过命名、权限和错误适配后进入同一个 Tool Map。

第六部分 验证与交付

出口 →终端体验完整,eval 产出确定性报告,能力证据分级,干净环境可在三分钟内安装跑通。

查看 Part 目标与当前章节假设 →

翻开是什么样

阅读体验本身就是这本书的第一个 demo:墨黑标题、灰正文、浅灰代码面、双主题语法高亮、随手展开的 callout。下面是真实排版的一小段。

agent loop 的形状

普通的一次 API 调用是「一问一答」:你发 messages,拿回一段文本,结束。要让模型真正做事,你得把它放进一个循环里,并给它一组工具——执行、观察、再执行,直到它不再请求工具。

// agent loop 的核心:每一轮都重发整个 messages 数组
async function runAgent(messages: Message[]) {
  while (true) {
    const res = await callModel(messages)
    messages.push(res.message)
    if (res.stopReason !== 'tool_use') return res
    const results = await runTools(res.toolCalls)
    messages.push(...results)
  }
}
一个坑
while (true) 没有上界。真实实现里必须有 maxTurns 兜底——否则模型反复请求工具时会无限循环,把你的 API 账单烧穿。

// 正文逐章写作中,过程公开

不是源码导读,是从零跟写

同类项目要么收费止步、要么照着成品讲。这本书的不同,是诚实地从空文件开始。

免费,而且走得更深
对标的付费课止步于 Read/Write/Bash + 基础 loop。我们免费开源,一路走到上下文压缩、子 agent、MCP、skills、评测——多数教程停下的地方,正是这本书的后半程。
渐进式构建,逐行看得懂
不是把成品代码摊开导读。每个 Part 先跑通出口,再切成可运行、逐步增强的章节;发布后按章打 git tag,随时能 diff 对照。
讲内部机制,不是用法
tool use 就是一段 JSON、loop 就是重发数组、MCP 就是 JSON-RPC——把「黑魔法」拆成你能亲手复刻的协议。
照实暴露踩过的坑
spike 周的失败、压缩把问题摘没、子 agent 自信答错——都写进正文,不营造「一切都很顺」的假象。

开始之前

门槛低、花费小,拿一把 key 就能跑。没有付费墙,你只为自己的 API 调用付费。

你需要什么
会任意一门编程语言就够了。书用 TypeScript,但语言只是表达的载体——你会 Go、Python 也一样跟得下来,需要时让你的 agent 把示例转写成你的语言,机制是相通的。再加 Node 22+ 和一个 API key,就能开工。
这要花多少钱
全程只为自己的 API 调用付费。spike 周从头跑通核心能力链,实测约 $1;跟完全书预计 不到 $5。对照付费同类平台 CodeCrafters 的年订阅约 $990——这本书免费、开源、无付费墙。
用哪个模型
正文用 Anthropic Messages 格式tool_use / tool_result 是消息里显式的 JSON block,「loop 就是重发数组」一一对应,学起来心智负担最低。Anthropic、OpenRouter、DeepSeek 都能直接跑,OpenAI 兼容端点见附录 A。预算敏感推荐 DeepSeek(便宜,且自带 Anthropic 兼容端点)。