18 KiB
深入理解 AI Agent:设计原理与工程实践
中文 ← 当前 · English · Español · Bahasa Indonesia · العربية · 繁體中文(台灣) · Русский · Tiếng Việt · தமிழ் · 日本語 · Türkçe · 한국어 · Magyar · עברית
📥 下载 PDF / EPUB(推荐)— 推荐使用 PDF / EPUB 离线阅读,排版最佳;也可在线阅读(支持多语言切换、章节折叠、全文搜索,每次推送自动更新)。
Agent = LLM + 上下文 + 工具——本书围绕这个核心公式,用 10 章把 AI Agent 从原理讲到工程实战。全书正文、配图、103 个配套实验全部开源,欢迎亲手把实验跑一遍。
📢 2.0 版变更(相较 1.4 版):本仓库书稿版本已由 1.4 升级为 2.0。2.0 版将原第四章中的“异步交互”部分与原第九章中关于“多模态 Agent”的内容合并,重组为新的第六章“交互:观察与动作空间的扩展”。原第六章“Agent 的评估”、第七章“模型后训练”和第八章“Agent 的持续进化”依次后移一章,现分别为第七、八、九章。
如果你看到的是旧版 PDF,建议下载最新版 PDF。新版还包含许多内容修正与调整,请以最新版为准。
| 📚 10 章 正文,从基础到生产 | 📂 103 个 配套实验(含本地项目与外部复现轨道) | 🌐 14 种 语言:中 / 英 / 西 / 印尼 / 阿 / 繁體中文(台灣) / 俄 / 泰米尔 / 越 / 日 / 土耳其 / 韩 / 匈牙利 / 希伯来 |
|---|
📖 电子书
📥 离线下载(推荐,全书正文,开源免费)。以下链接始终指向 main 分支的最新构建;固定版本见 Releases:
- 中文(原版):PDF · EPUB
- 英文(社区翻译,by @nsdevaraj、@whanyu1212):PDF · EPUB
- 西班牙语(社区翻译,by @santhreal):PDF · EPUB
- 繁体中文(台湾)(社区翻译,by @tigercosmos):PDF · EPUB
- 俄语(社区翻译,by @ui99ru):PDF · EPUB
- 泰米尔语(社区翻译,by @nsdevaraj):PDF · EPUB
- 越南语(社区翻译,by @toanalien):PDF · EPUB
- 日语(社区翻译,by @eltociear):PDF · EPUB
- 阿拉伯语(社区翻译,by @TheSyBuilder):PDF · EPUB
- 土耳其语(社区翻译,by @memisemre):PDF · EPUB
- 韩语(社区翻译,by @JeongJaeSoon):PDF · EPUB
🌐 也可在线阅读——支持多语言切换、章节折叠、全文搜索,以及配套实验直链。每次推送 main 自动重建。
中文正文源码位于 book/;英文/西班牙语/阿拉伯语/繁体中文(台湾)/俄语/泰米尔语/越南语/日语/土耳其语/韩语版为社区贡献(可能滞后于中文原版),分别位于 book-en/、book-es/、book-ar/、book-zhtw/、book-ru/、book-ta/、book-vi/、book-ja/、book-tr/、book-ko/。
🔧 自行编译 PDF / EPUB?(PDF 需 pandoc / xelatex / ElegantBook)
-
EPUB:使用共享构建脚本,详见 EPUB 构建说明
-
正文源码:
book/introduction.md(引言)、book/chapter1.md~book/chapter10.md(第一至第十章)、book/afterword.md(后记) -
编译:安装 pandoc、xelatex、ElegantBook 文档类与相关字体后,运行
cd book && bash build_pdf.sh图表以 SVG 文件存于
book/images/,编译时直接使用;排版细节见book/preamble.tex与book/*.lua。
📑 内容速览(第 1–10 章)
全书围绕核心公式 Agent = LLM + 上下文 + 工具 展开,十章层层递进:
| 章 | 主题 | 一句话核心 | 正文 | 实验 |
|---|---|---|---|---|
| 1 | 🚀 AI Agent 入门 | Agent = LLM + 上下文 + 工具;Harness 工程才是竞争力 | 读 | 3 |
| 2 | 🎯 上下文工程 | 上下文决定能力上限:KV Cache、提示工程、Agent Skills、上下文压缩 | 读 | 10 |
| 3 | 📚 用户记忆和知识库 | 跨会话记住用户、接入外部知识:用户记忆、RAG、结构化索引、知识图谱 | 读 | 12 |
| 4 | 🛠️ 工具 | 工具是 Agent 的双手:MCP 协议、感知/执行/协作三类工具与主动工具发现 | 读 | 5 |
| 5 | 💻 Coding Agent 与通用 Agent | 代码是「能创造新工具的工具」,生产级 Coding Agent 全景 | 读 | 13 |
| 6 | 🎙️ 交互:观察与动作空间的扩展 | 从模态与时序两个维度扩展 Agent 的观察与动作空间:异步与事件驱动、语音交互、Computer Use 和机器人操作 | 读 | 13 |
| 7 | 🎯 Agent 的评估 | 把表现变成可比较信号:评估环境、指标、统计显著性、评估驱动选型 | 读 | 13 |
| 8 | 🧠 模型后训练 | 预训练/SFT/RL 三阶段:何时选 SFT、何时选 RL,工具调用内化、样本效率 | 读 | 19 |
| 9 | 🔄 Agent 的持续进化 | 从运行轨迹获得学习信号,更新知识、指令、程序与参数 | 读 | 9 |
| 10 | 🤝 多 Agent 协作 | 群体智能高于个体:协作框架、上下文共享/隔离、涌现的「Agent 社会」 | 读 | 6 |
💡 读 = 在 GitHub 网页直接读章节正文(markdown);N = 该章配套项目数,点击查看代码。项目类型说明(✅ 可运行 / 📖 复现 / 🚧 设计)见各章 README。
📚 如何高效阅读本书?详见 学习建议(核心理念、学习路径、难度分级、实践建议)。
💻 运行配套实验
项目统一支持 Python 3.11–3.13。请在仓库根目录按章节安装依赖;将 ch1 替换为 ch2 ~ ch10 即可安装对应章节:
# 推荐:使用提交到仓库的 uv.lock,获得可复现的章节环境
uv sync --locked --extra ch1
# 未安装 uv 时:使用 pip 从 pyproject.toml 重新解析
python -m pip install -e ".[ch1]"
运行会调用模型的实验前,请按该实验 README 配置凭据:支持根目录配置的实验可复制 .env.example 为 .env 并填入至少一个提供商 Key;有些实验要求在自身目录放 .env 或直接导出环境变量。只有在实验 README 或 CLI 明确列出 ollama 时,才可启动本地 Ollama 并添加 --provider ollama。
安装后可从仓库根目录运行实验,例如:
uv run python chapter1/context/main.py
# 使用 pip 安装时也可直接运行:python chapter1/context/main.py
uv安装方法见 官方文档;pip仍受支持,但不会使用锁文件。- 各实验现有的
requirements.txt在迁移期间继续有效,适合只运行单个项目或需要特殊版本约束的情况。 all是不含本地训练栈的 CPU 友好组合,并不代表每个实验;uv sync每次都会精确同步当前选择,使用特殊 extra 时请合并到同一条命令,例如uv sync --locked --extra ch2 --extra vllm或uv sync --locked --extra ch7 --extra unsloth;pip 对应为python -m pip install -e ".[ch2,vllm]"。- 浏览器、CUDA、FFmpeg、Ollama、Playwright 浏览器及外部仓库等系统依赖,请继续参考各实验 README。第 8 章部分内置第三方组件需要 Python 3.12+。
🔑 API 密钥
建议申请下面几个平台的 API Key 方便学习。模型选型可参考 这篇指南。
| 平台 | 链接 | 备注 | 访问端点 |
|---|---|---|---|
| Kimi(Moonshot) | https://platform.moonshot.cn/ | Kimi 系列,长上下文和 Agent 能力强 | 中国大陆 |
| 智谱 GLM | https://open.bigmodel.cn/ | GLM-4.6 等,中文能力突出,性价比高 | 中国大陆 |
| Siliconflow | https://siliconflow.cn/ | 各类开源模型(DeepSeek、Qwen 等),国内快速接入 | 中国大陆 |
| DeepSeek | https://platform.deepseek.com/ | DeepSeek 官方 API | 全球 + 中国大陆 |
| Krill AI | www.krill-ai.net | 一站式接入全球及国内主流模型(OpenAI、Claude、Gemini、Grok、Kimi、GLM、DeepSeek、Qwen、Minimax) | 全球 + 中国大陆 |
| OpenRouter | https://openrouter.ai/ | 一站式接入全球及国内主流模型(GPT、Claude、Gemini、Kimi、GLM、DeepSeek、Qwen 等) | 全球 |
💎 赞助
感谢 Krill AI 赞助本项目!Krill 提供 GPT / Claude / Gemini 及众多国产模型的官方稳定极速 API 中转,支持企业级定制、开票及 7×16h 专属技术支持,并独家适配 WebSocket 连接实现极速首 Token 响应。
Krill 为本书读者提供专属优惠:通过 此链接 注册并在充值时输入优惠码 "ai-agent-book",即可享受首单 Codex 方案 23% 折扣!
🧪 实验执行状态、证据及未达验收条件另行记录于
EXPERIMENT_STATUS.md;clone 或安装源码不构成完成证明。
📦 附录 · 获取外部仓库
第 6、7、8、10 章的 23 个外部仓库(基准测试、训练框架、机器人平台)因体积和许可原因未打包,需自行 clone 到对应目录。
一键 clone 脚本
🔧 展开 clone 命令(23 个外部仓库)
# 第 6 章 · GUI 与机器人外部复现轨道
git clone https://github.com/browser-use/browser-use.git chapter6/browser-use
git clone https://github.com/anthropics/claude-quickstarts.git chapter6/claude-quickstarts
git clone https://github.com/Vector-Wangel/XLeRobot.git chapter6/XLeRobot # 实验 6-9、6-11 共用
git clone https://github.com/Grigorij-Dudnik/RoboCrew.git chapter6/RoboCrew # 实验 6-10、6-11
git clone https://github.com/StoneT2000/lerobot-sim2real.git chapter6/lerobot-sim2real # 实验 6-13
# 第 7 章 · 评估基准
git clone https://github.com/google-research/android_world.git chapter7/android_world
git clone https://huggingface.co/datasets/gaia-benchmark/GAIA chapter7/GAIA
git clone https://github.com/xlang-ai/OSWorld.git chapter7/OSWorld
git clone https://github.com/SWE-bench/SWE-bench.git chapter7/SWE-bench
git clone https://github.com/sierra-research/tau2-bench.git chapter7/tau2-bench
git clone https://github.com/laude-institute/terminal-bench.git chapter7/terminal-bench
# 第 8 章 · 训练框架(bojieli/* 为本书适配 fork)
git clone https://github.com/bojieli/minimind.git chapter8/MiniMind-pretrain/minimind # 实验 8-3 从零训练 LLM
git clone https://github.com/bojieli/minimind-v.git chapter8/MiniMind-pretrain/minimind-v # 实验 8-4 从零训练 VLM(投影层)
git clone https://github.com/bojieli/AdaptThink.git chapter8/AdaptThink-original
git clone https://github.com/bojieli/AWorld.git chapter8/AWorld
git clone https://github.com/bojieli/SFTvsRL.git chapter8/SFTvsRL
git clone https://github.com/bojieli/verl.git chapter8/verl
git clone https://github.com/bojieli/SandboxFusion.git chapter8/SandboxFusion # 实验 8-14 代码沙箱
git clone https://github.com/thinking-machines-lab/tinker-cookbook.git chapter8/tinker-cookbook
git clone https://github.com/19PINE-AI/rlvp.git chapter8/RLVP/rlvp # 实验 8-16 RLVP 论文代码
git clone https://github.com/PRIME-RL/SimpleVLA-RL.git chapter8/SimpleVLA-RL/SimpleVLA-RL # 实验 8-13 视觉-语言-动作 RL
# 第 10 章 · 双 Agent 架构(现为独立 TalkAct 项目)+ Stanford AI Town
git clone https://github.com/19PINE-AI/TalkAct.git chapter10/use-computer-while-calling
git clone https://github.com/joonspk-research/generative_agents.git chapter10/generative_agents # 实验 10-5 Stanford AI Town
如果项目 README 指定了特定 commit,请
git checkout到该版本以保证可复现性。第 10 章的use-computer-while-calling已发展为独立维护的 19PINE-AI/TalkAct;本仓库仅保留指针文档。
🤝 贡献
本书及配套代码完全开源,欢迎提交 Pull Request:
| 类型 | 说明 |
|---|---|
| 📝 正文内容 | 勘误、补充、更清晰的表达或新进展(正文在 book/chapter*.md) |
| 🐛 代码改进与 Bug 修复 | 让配套项目更健壮、更易用、更接近生产级 |
| 🧪 新实验项目 | 添加/替换更好的实验实现,或贡献新示例 |
| 🎨 图表设计 | 直接改进 book/images/ 下的 SVG 图表 |
| 🌐 新翻译 | 欢迎翻译为更多语言;参考英文(book-en/)、阿拉伯语(book-ar/)、繁体中文/台湾(book-zhtw/)、俄语(book-ru/)、泰米尔语(book-ta/)、越南语(book-vi/)、日语(book-ja/)、土耳其语(book-tr/)、韩语(book-ko/) |
提交前请运行相关实验确认可复现;也欢迎先开 issue 讨论想法。
📄 许可证
本项目基于 Apache License 2.0 开源。详见 LICENSE 文件。部分子项目可能包含各自的许可证信息,请参考对应子项目。
⭐ Star 历史
由 scripts/gen_star_history.py 生成,GitHub Actions 每日更新 · 点击图片查看实时数据