概要
AI Agent の設計とエンジニアリング実践を全面的に解説する書籍で、基礎からマルチエージェント協調までの全10章の内容を網羅しています。リポジトリでは、全書の本文、多言語コンパイル版 PDF、および各章に対応するサンプルコードを提供しています。
README プレビュー
# 深入理解 AI Agent:设计原理与工程实践\n\n**[English](README.en.md) | 中文 | [Tiếng Việt](README.vi.md) | [தமிழ்](README.ta.md)**\n\n本仓库是《深入理解 AI Agent:设计原理与工程实践》一书的开源主仓库,包含**全书正文**与**配套示例代码**。全书正文、配图与配套实验代码全部开源,欢迎把实验亲手跑一遍、提 issue 和 PR。\n\n## 📖 电子书\n\n全书提供多种语言版本:\n\n- **中文 PDF(原版)**:[`book/深入理解-AI-Agent-李博杰-v1.2.pdf`](book/深入理解-AI-Agent-李博杰-v1.2.pdf)\n- **英文 PDF**(社区贡献翻译,by [@nsdevaraj](https://github.com/nsdevaraj)):[`book-en/AI-Agents-in-Depth-Bojie-Li-v1.2.pdf`](book-en/AI-Agents-in-Depth-Bojie-Li-v1.2.pdf)\n- **泰米尔语 PDF**(社区贡献翻译,by [@nsdevaraj](https://github.com/nsdevaraj)):[`book-ta/AI-Agents-in-Depth-Bojie-Li-v1.2-ta.pdf`](book-ta/AI-Agents-in-Depth-Bojie-Li-v1.2-ta.pdf)\n- **越南语 PDF**(社区贡献翻译,by [@toanalien](https://github.com/toanalien)):[`book-vi/AI-Agents-in-Depth-Bojie-Li-v1.1-vi.pdf`](book-vi/AI-Agents-in-Depth-Bojie-Li-v1.1-vi.pdf)\n\n中文正文与编译好的 PDF 位于 [`book/`](book/) 目录;英文、泰米尔语与越南语翻译为**社区贡献**,分别位于 [`book-en/`](book-en/)、[`book-ta/`](book-ta/) 与 [`book-vi/`](book-vi/) 目录,内容可能滞后于中文原版:\n\n- **正文源码**:`book/introduction.md`(引言)、`book/chapter1.md` ~ `book/chapter10.md`(第一至第十章)、`book/afterword.md`(后记)\n- **自行编译**:安装 pandoc、xelatex、ElegantBook 文档类与相关字体后,运行\n\n ```bash\n cd book && bash build_pdf.sh\n ```\n\n 图表由 `book/gen_*_figs.py` 生成、存于 `book/images/`,排版细节见 `book/preamble.tex` 与 `book/*.lua`。\n\n## 📑 内容速览(第 1–10 章)\n\n全书围绕核心公式 **Agent = LLM + 上下文 + 工具** 展开,十章内容如下:\n\n- **第 1 章 · Agent 基础知识**:从“模型即 Agent”的新范式出发,建立 **Agent = LLM + 上下文 + 工具** 的核心公式,并引入 Harness 工程——模型之外的一切工程能力,才是真正的竞争力所在。\n- **第 2 章 · 上下文工程**:上下文决定 Agent 的能力上限。深入大模型 API 的上下文结构、KV Cache 友好设计、提示工程、动态提示词与 Agent Skills、状态栏元信息,以及上下文压缩策略。\n- **第 3 章 · 用户记忆和知识库**:让 Agent 跨会话记住用户、并接入外部知识。涵盖用户记忆系统、RAG 基础管道,以及超越扁平文本的知识组织与检索(结构化索引、知识图谱等)。\n- **第 4 章 · 工具**:工具是 Agent 的双手。讲工具分类与通用设计原则、MCP 协议与工具选择的挑战、感知/执行/协作三类工具,以及事件驱动的异步 Agent。\n- **第 5 章 · Coding Agent 与代码生成**:代码是“能创造新工具的工具”,是通用 Agent 的元能力。以生产级 Coding Agent 为例,展示这一最强通用工具的完整实现。\n- **第 6 章 · Agent 的评估**:把 Agent 的表现变成可比较的信号。从评估环境、数据集设计、指标体系,到统计显著性、可观测性、评估驱动选型,直至生产级内部评
FAQ (5)
トラブル対応太字テキストが中国語の引用符で始まる場合にMarkdownの太字がレンダリングされない問題を修正するにはどうすればよいですか?
GitHub/CommonMark は、開始の ** の直前が通常の中国語テキストで、直後に “ などの中国語の句読点が続く場合、それを強調の区切り文字として扱いません。book/chapter1.md で、次の文を:
因此它是**“构建”这一部分内部的一个观察视角**,而不是覆盖全书十章的目录。
修正版の言い換えに置き換えてください:
因此,它是**构建部分内部的一个观察视角**,而不是覆盖全书十章的目录。
引用符を保持する必要がある場合は、代わりに HTML を使用してください:
因此它是<strong>“构建”这一部分内部的一个观察视角</strong>,而不是覆盖全书十章的目录。
その後、GitHub のプレビューまたは公開済みページを再読み込みして、そのフレーズが太字になっていることを確認してください。
informational内容の濃いAIエージェントの本を学習する際、概念が抽象的に感じられ、前の章の内容を忘れてしまう場合、どのように勉強すべきですか?
直線的に読み進めるのではなく、能動的でプロジェクトベースの学習方法を採用してください。1) 提供されているコードを読むだけでなく、各章の実験を自分で再実装してください。コーディングエージェントは助けになりますが、コードは自分で書いて実行してください。2) 実験の出力を注意深く観察し、アクセスできないAPIや予期しない結果などの失敗をデバッグしてください。こうした問題は理解を深めてくれます。3) 学んだアイデアを、実際のまたは個人的なAIエージェントのプロジェクトに応用してください。4) 各章の思考問題を自己テストに活用してください。5) 「まず本を薄くし、次に厚くし、そして再び薄くする」というサイクルに従ってください。つまり、核心的なアイデアを抽出し、メモや実験によってそれらを膨らませ、最後に自分自身の簡潔な原則へと蒸留してください。メンテナーはこれらの推奨事項をREADMEのFAQにも追加しています。読書に関するさらなる質問は、リポジトリのDiscussionsエリアで議論できます。
informationalなぜ末尾にトークンを追加しても、TransformerのKV cacheは無効化されないのですか?
説明は修正する必要があります。各トークンについて、K_i = x_i @ W_k および V_i = x_i @ W_v は、そのトークンの入力と射影の重みにのみ依存します。因果的アテンションによって K_i や V_i が前のトークンに依存するようになるわけではありません。因果的マスキングは、あるトークンがどのキー/値にアテンドできるかを決めるだけです。新しいトークンが追加されても、既存のプレフィックスとそのキャッシュされた K/V は変更されないため、キャッシュは依然として有効です。新しいトークンは、キャッシュされたプレフィックスと自身の新しいエントリを使って、z_i = softmax(Q_i · K_{0..i}^T / sqrt(d)) @ V_{0..i} としてアテンションを計算します。プレフィックス内のより前のトークンが変更された場合は、影響を受けるキャッシュエントリを再計算する必要があります。
トラブル対応MkDocs のホームページのチャプターカードに古いタイトルが表示され、サイドバーや実際のチャプターページと一致しない問題を修正するにはどうすればよいですか?
この不一致は、プロジェクトルートの index.md にハードコードされた章カードが原因で発生しています。原稿のタイトルや章の順序が変更されても、ホームページの 章节速览 カードが更新されなかったため、book/chapter8.md のタイトルが 模型后训练 であるにもかかわらず、第8章には依然として Agent 的持续进化 が表示されていました。
恒久対応: PR fix(site): generate homepage chapter index from manuscripts を適用/マージしてください。MkDocs のビルドのたびに、設定されたナビゲーション順序と各版の URL プレフィックスおよびファイル名を使用して、現在の原稿見出しからホームページの章カードを生成します。その後、サイトを再ビルドして再デプロイしてください。
一時的な手動回避策: index.md 内にハードコードされた <span class="exp-title"> エントリを編集し、実際の章見出しおよびリンクと一致させます。第8章については、カードタイトルを 第 8 章 · 模型后训练 に変更してください。また、第5章〜第9章はタイトル/順序がずれているように見えるため、確認も行ってください。デフォルトのホームページだけを修正するのではなく、ローカライズされたすべてのホームページファイル(index.he.md、index.ko.md、index.ptbr.md など)を再生成または更新してください。
informationalAI Agent書籍の実験では、コードのすべての行を理解する必要がありますか?
いいえ。先に進む前にすべての行を理解する必要はありません。まず、実験の目的、アーキテクチャ、そして各コアコンポーネントが何を行うかを理解してください。章と疑似コードを読んだら、コーディングエージェントを使用して、期待される結果が得られるまで実験をゼロから実装してください。動作をきめ細かく制御する必要がある場合や、基盤となる言語やフレームワークを学びたい場合にのみ、実装の詳細を学んでください。要件と設計を明確に記述することに集中し、反復的な実装コードはAIに任せてください。実験のREADMEと新たに追加された疑似コードは、設計を明確にするのに役立ちます。