Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

18 KiB
Raw Permalink Blame History

深入理解 AI Agent:设计原理与工程实践

PDF 在线阅读 Stars License Languages Trending GitHub Project of the Day

中文 ← 当前 · 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

🌐 也可在线阅读——支持多语言切换、章节折叠、全文搜索,以及配套实验直链。每次推送 main 自动重建。

中文正文源码位于 book/;英文/西班牙语/阿拉伯语/繁体中文(台湾)/俄语/泰米尔语/越南语/日语/土耳其语/韩语版为社区贡献(可能滞后于中文原版),分别位于 book-en/book-es/book-ar/book-zhtw/book-ru/book-ta/book-vi/book-ja/book-tr/book-ko/

🔧 自行编译 PDF / EPUBPDF 需 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.texbook/*.lua

📑 内容速览(第 110 章)

全书围绕核心公式 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.113.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 vllmuv sync --locked --extra ch7 --extra unslothpip 对应为 python -m pip install -e ".[ch2,vllm]"
  • 浏览器、CUDA、FFmpeg、Ollama、Playwright 浏览器及外部仓库等系统依赖,请继续参考各实验 README。第 8 章部分内置第三方组件需要 Python 3.12+。

🔑 API 密钥

建议申请下面几个平台的 API Key 方便学习。模型选型可参考 这篇指南

平台 链接 备注 访问端点
KimiMoonshot 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 历史

Star History Chart

scripts/gen_star_history.py 生成,GitHub Actions 每日更新 · 点击图片查看实时数据