机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
深入理解 AI Agent:設計原理與工程實踐
📥 下載 PDF / EPUB(推薦)— 推薦使用 PDF / EPUB 離線閱讀,排版最佳;也可線上閱讀(支援多語言切換、章節摺疊、螢光標記與筆記,每次 main 分支推送後自動重新構建)。
Agent = LLM + 上下文 + 工具——本書圍繞這個核心公式,用 10 章把 AI Agent 從原理講到工程實戰。全書正文、配圖、93 個配套實驗全部開源,歡迎親手把實驗跑一遍。
📚 姊妹篇《深入理解 AI Infra:量化分析與系統設計》已開源發布,歡迎閱讀:github.com/bojieli/ai-infra-book
要開發好基於模型的應用,還需要理解這類應用賴以運行的基礎設施。姊妹篇討論的就是支撐模型訓練與推理的 AI Infra:參數和上下文狀態存在哪裡,計算怎樣執行,多個加速器怎樣協作。
📢 2.0 版變更(相較 1.4 版):2.0 版將原第四章中的「非同步互動」部分與原第九章中有關「多模態 Agent」的內容合併,重組為新的第六章「互動:觀察與動作空間的擴展」。原第六章「Agent 的評估」、第七章「模型後訓練」和第八章「Agent 的持續進化」依次後移一章,現分別為第七、八、九章。
如果你看到的是舊版 PDF,建議下載最新版 PDF。新版還包含許多內容修正與調整,請以最新版為準。
| 📚 10 章 正文,從基礎到生產 | 📂 93 個 配套專案(70+ 可獨立執行) | 🌐 15 種 語言:中 / 英 / 西 / 印尼 / 阿拉伯 / 繁體中文(台灣) / 俄 / 泰米爾 / 越 / 日 / 土耳其 / 韓 / 匈牙利 / 希伯來 / 葡萄牙語(巴西) |
|---|
📖 電子書
📥 直接下載(推薦,全書正文,開源免費)。以下連結始終指向 main 分支的最新建置;固定版本見 Releases:
- 中文(原版):PDF · EPUB
- 英文(社群翻譯,by @nsdevaraj、@whanyu1212):PDF · EPUB
- 西班牙語(社群翻譯,by @santhreal):PDF · EPUB
- 阿拉伯語(社群翻譯,by @TheSyBuilder):PDF · EPUB
- 繁體中文(台灣)(社群翻譯,by @tigercosmos):PDF · EPUB
- 俄語(社群翻譯,by @ui99ru):PDF · EPUB
- 泰米爾語(社群翻譯,by @nsdevaraj):PDF · EPUB
- 越南語(社群翻譯,by @toanalien):PDF · EPUB
- 日語(社群翻譯,by @eltociear):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 书 & & bash build_pdf.sh圖表以 SVG 檔案存於
book/images/,編譯時直接使用;排版細節見book/preamble.tex與book/*.lua。
📑 內容速覽(第 1–10 章)
全書圍繞核心公式 Agent = LLM + 上下文 + 工具 展開,十章層層遞進:
| 章 | 主題 | 一句話核心 | 正文 | 程式碼 |
|---|---|---|---|---|
| 1 | 🚀 Agent 基礎知識 | Agent = LLM + 上下文 + 工具;Harness 工程才是競爭力 | 讀 | 4 |
| 2 | 🎯 上下文工程 | 上下文決定能力上限:KV Cache、提示工程、Agent Skills、上下文壓縮 | 讀 | 9 |
| 3 | 📚 使用者記憶和知識庫 | 跨會話記住使用者、接入外部知識:使用者記憶、RAG、結構化索引、知識圖譜 | 讀 | 12 |
| 4 | 🛠️ 工具 | 工具是 Agent 的雙手:MCP 協議、感知/執行/協作三類工具、事件驅動非同步 Agent、主動工具發現 | 讀 | 8 |
| 5 | 💻 Coding Agent 與程式碼生成 | 程式碼是「能創造新工具的工具」,生產級 Coding Agent 全景 | 讀 | 13 |
| 6 | 🎙️ 互動:觀察與動作空間的擴展 | 從模態與時序兩個維度擴展 Agent 的觀察與動作空間:非同步與事件驅動、語音互動、Computer Use 和機器人操作 | 讀 | 14 |
| 7 | 🎯 Agent 的評估 | 把表現變成可比較訊號:評估環境、指標、統計顯著性、評估驅動選型 | 讀 | 13 |
| 8 | 🧠 模型後訓練 | 預訓練/SFT/RL 三階段:何時選 SFT、何時選 RL,工具呼叫內化、樣本效率 | 讀 | 19 |
| 9 | 🔄 Agent 的持續進化 | 從執行軌跡獲得學習訊號,更新知識、指令、程式與參數 | 讀 | 9 |
| 10 | 🤝 多 Agent 協作 | 群體智慧高於個體:協作框架、上下文共享/隔離、湧現的「Agent 社會」 | 讀 | 7 |
💡 讀 = 在 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 並填入至少一個 provider 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(月之暗面) | https://platform.moonshot.cn/ | Kimi 系列,Coding、Agent 能力強 | 中國大陸 |
| 智譜 GLM | https://open.bigmodel.cn/ | GLM-5.2 等,Coding、Agent 能力強 | 中國大陸 |
| Siliconflow | https://siliconflow.cn/ | 各種開源模型(DeepSeek、Qwen 等),中國大陸訪問速度快 | 中國大陸 |
| DeepSeek | https://platform.deepseek.com/ | DeepSeek 官方 API | 全球 + 中國大陸 |
| Krill AI | www.krill-code.com | 一站式訪問全球及國內主流模型(OpenAI、Claude、Gemini、Grok、Kimi、GLM、DeepSeek、Qwen、Minimax) | 全球 + 中國大陸 |
| OpenRouter | https://openrouter.ai/ | 一站式訪問全球及國內主流模型(GPT、Claude、Gemini、Kimi、GLM、DeepSeek、Qwen 等) | 全球 |
❓ 常見問題
Q:有 PDF / EPUB 嗎?需要自己編譯嗎? 不需要。電子書一節列出了 15 種語言的 PDF / EPUB 下載連結,始終指向 main 分支的最新建置;也可以線上閱讀。只有想修改書稿並重新排版時,才需要自行編譯。
Q:閱讀本書需要哪些前置知識? 引言的「前置知識」一節有完整說明:能讀懂並修改中等複雜度的 Python 程式碼;用過 ChatGPT、Claude 等 LLM 產品;熟悉至少一款 AI 輔助程式設計工具(Claude Code、Codex、Cursor 等);了解命令列、Git、JSON、REST API 等軟體工程常識。除了第八章的後訓練之外,全書對數學和機器學習的要求很低。
Q:知識點很多,讀完就忘,該怎麼消化? 不要只讀正文。建議的方式是搭配每章實驗親自動手——不是去看配套程式碼,而是讀懂書中的設計原則後,借助 coding agent 從頭實作一遍,觀察輸出、排查不符合預期的地方;每章末尾的思考題也是很好的自我檢測。更有系統的路徑請見學習建議。一位讀者的總結很貼切:先把書讀薄,再把書讀厚,再把書讀薄。
Q:實驗程式碼需要逐行搞懂嗎? 不需要。本書的配套程式碼全部由 coding agent 依據書稿生成,作者也不會逐行閱讀。關鍵是把架構、核心元件和設計原則想清楚,然後讓 AI 去寫程式、跑測試、修 bug,人負責最初的設計和最終的驗收。
Q:思考題有參考答案嗎? 有:book/reference-answers.md(線上版)。它們只是參考,不是標準答案,歡迎在 Discussions 裡討論你的不同看法。
Q:讀完之後有什麼可以落地的實作專案? 推薦從頭做一個像 Claude Code、Codex 那樣的 coding agent:第 1–5 章足以做出一個可用的 coding agent;第 7、9 章幫它建立評估集,並從失敗案例中持續改進;第 8 章介入模型本身;第 6、10 章為它加上語音、Computer Use 等互動方式與多 Agent 協作。評測、觀測、可靠性這些工程環節,可以從第 7 章的評估實驗入手:先為自己的 agent 建一個十幾條任務的小型評估集,再圍繞失敗案例做改進。
Q:哪裡提問和討論?
- 書稿勘誤、實驗 bug、翻譯問題:請開 Issue,並註明章節、小節和原文句子。
- 閱讀疑問、思考題討論、經驗分享、資料推薦:請使用 GitHub Discussions。
Q:發現錯誤想修改,該怎麼做? 歡迎直接提 PR。中文版 book/ 是正本,其餘語言皆由中文同步:修改正文時只需改中文版並在 PR 裡說明,翻譯會在合併後統一同步。詳見貢獻。
💎 贊助商
感謝 Krill AI 贊助本專案!Krill 提供 GPT / Claude / Gemini / 多款國產模型的官方穩定極速 API 中轉服務,支援企業級客製、報銷開票、7×16h 專屬技術支援,更有獨家適配的 WebSocket 連線方式,暢享極速首字速度。
Krill 為本書讀者提供特別優惠:使用此連結註冊並在儲值時填寫優惠碼「ai-agent-book」,首次購買 Codex 套餐可享 77 折優惠!
🧪 配套實驗的執行狀態、證據與尚未完成的驗收門檻,另行記錄於
EXPERIMENT_STATUS.md;克隆或安裝原始碼不代表實驗已完成。
📦 附錄 · 外部倉庫獲取
第 6、7、9、10 章的評測基準、訓練框架、機器人平台等 23 個外部倉庫未內建(出於體積與版權),需要自行克隆到對應目錄。
一鍵克隆指令碼
🔧 展開克隆命令(共 23 個外部倉庫)
# 第 6 章 · 評測基準
git clone https://github.com/google-research/android_world.git chapter6/android_world
git clone https://huggingface.co/datasets/gaia-benchmark/GAIA chapter6/GAIA
git clone https://github.com/xlang-ai/OSWorld.git chapter6/OSWorld
git clone https://github.com/SWE-bench/SWE-bench.git chapter6/SWE-bench
git clone https://github.com/sierra-research/tau2-bench.git chapter6/tau2-bench
git clone https://github.com/laude-institute/terminal-bench.git chapter6/terminal-bench
# 第 7 章 · 訓練框架(bojieli/* 為本書適配的分支)
git clone https://github.com/bojieli/minimind.git chapter7/MiniMind-pretrain/minimind # 實驗 7-3 從零訓 LLM
git clone https://github.com/bojieli/minimind-v.git chapter7/MiniMind-pretrain/minimind-v # 實驗 7-4 從零訓 VLM(投影層)
git clone https://github.com/bojieli/AdaptThink.git chapter7/AdaptThink-original
git clone https://github.com/bojieli/AWorld.git chapter7/AWorld
git clone https://github.com/bojieli/SFTvsRL.git chapter7/SFTvsRL
git clone https://github.com/bojieli/verl.git chapter7/verl
git clone https://github.com/bojieli/SandboxFusion.git chapter7/SandboxFusion && git -C chapter7/SandboxFusion fetch origin 4a0d573ebd64c98234c190a9d1d49e4276199a0c && git -C chapter7/SandboxFusion checkout --detach 4a0d573ebd64c98234c190a9d1d49e4276199a0c && test "$(git -C chapter7/SandboxFusion rev-parse HEAD)" = "4a0d573ebd64c98234c190a9d1d49e4276199a0c" # Exp 7-15 code sandbox
git clone https://github.com/thinking-machines-lab/tinker-cookbook.git chapter7/tinker-cookbook
git clone https://github.com/19PINE-AI/rlvp.git chapter7/RLVP/rlvp # 實驗 7-14 RLVP 論文程式碼
git clone https://github.com/PRIME-RL/SimpleVLA-RL.git chapter7/SimpleVLA-RL/SimpleVLA-RL # 實驗 7-13 視覺-語言-動作 RL
# 第 9 章 · 瀏覽器自動化與 Claude 示例
git clone https://github.com/browser-use/browser-use.git chapter9/browser-use
git clone https://github.com/anthropics/claude-quickstarts.git chapter9/claude-quickstarts
git clone https://github.com/Vector-Wangel/XLeRobot.git chapter9/XLeRobot && git -C chapter9/XLeRobot fetch origin 3d14695e40c9c68229c0aacffca6053c75cd3eb6 && git -C chapter9/XLeRobot checkout --detach 3d14695e40c9c68229c0aacffca6053c75cd3eb6 && test "$(git -C chapter9/XLeRobot rev-parse HEAD)" = "3d14695e40c9c68229c0aacffca6053c75cd3eb6" # Exp 9-7/9-9 shared
git clone https://github.com/Grigorij-Dudnik/RoboCrew.git chapter9/RoboCrew && git -C chapter9/RoboCrew fetch origin c749148f29bd14e61347f9fc3530c343fff0d994 && git -C chapter9/RoboCrew checkout --detach c749148f29bd14e61347f9fc3530c343fff0d994 && test "$(git -C chapter9/RoboCrew rev-parse HEAD)" = "c749148f29bd14e61347f9fc3530c343fff0d994" # Exp 9-8/9-9; RoboCrew v0.3.1
git clone https://github.com/StoneT2000/lerobot-sim2real.git chapter9/lerobot-sim2real && git -C chapter9/lerobot-sim2real fetch origin 87d6c1d969f6e0ca4dc5697940804e231118a63a && git -C chapter9/lerobot-sim2real checkout --detach 87d6c1d969f6e0ca4dc5697940804e231118a63a && test "$(git -C chapter9/lerobot-sim2real rev-parse HEAD)" = "87d6c1d969f6e0ca4dc5697940804e231118a63a" # Exp 9-11
# 第 10 章 · 雙 Agent 架構(已獨立為 TalkAct 專案)+ 斯坦福 AI 小鎮
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 斯坦福 AI 小鎮
各專案 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 History
由 scripts/gen_star_history.py 生成,GitHub Actions 每日自動更新 · 點選圖片檢視即時資料
- 本文标题:ai-agent-book - 《深入理解 AI Agent:设计原理与工程实践》(
- 本文链接:https://www.cn121.com/llm/bojieli-ai-agent-book.html
- 原项目:bojieli/ai-agent-book 版权归原作者 bojieli 及贡献者所有
- 收录信息:本站于 2026-09-23 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 bojieli/ai-agent-book。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。