跳到主要内容
// 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 · 一问一答,没有下一步

你将亲手造出什么

每一章都有一个可运行的里程碑,比上一章明显更强。下面是完整的构建轴——按顺序读,按顺序写。

全书写作中:spike 周已跑通核心能力链,正在写第 0–5 章。结构已定,正文逐章补全、过程公开。

查看完整大纲(含 16 章 + 3 附录)→

翻开是什么样

阅读体验本身就是这本书的第一个 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、评测——多数教程停下的地方,正是这本书的后半程。
渐进式构建,逐行看得懂
不是把成品代码摊开导读。每一章从上一章的可运行版本出发,只加一个能力,代码按章打 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 兼容端点)。