























分析日期:2026-07-22
《深入理解 AI Agent:设计原理与工程实践》是由李博杰(Bojie Li)撰写的开源 AI Agent 专著,全书正文与配套示例代码全部开源,是目前 GitHub 上最系统的中文 AI Agent 开源专著。项目围绕核心公式 Agent = LLM + 上下文 + 工具 展开,提出 Harness 工程理念——"模型之外的一切工程能力,才是真正的竞争力所在"。全书共 10 章,配套 60+ 个可独立运行的实验项目,首日即登顶 GitHub Trending $TRAE_REF。
| 项目 | 详情 |
|---|---|
| 项目名称 | 《深入理解 AI Agent:设计原理与工程实践》 |
| 项目地址 | https://github.com/bojieli/ai-agent-book |
| 项目官网 | 无独立官网,GitHub 仓库为唯一入口 |
| 作者 | 李博杰(Bojie Li),Pine AI 首席科学家 |
| 作者个人网站 | https://01.me/ |
| Stars | 7,200+(截至 2026 年 7 月) |
| Forks | 373 |
| 当前版本 | v1.2(中文 PDF,428 页) |
| 开源协议 | Apache License 2.0 |
| 主要语言 | Python |
| 创建时间 | 2025 年 9 月 9 日 |
| 提交数 | 348 commits |
| 仓库大小 | 约 97MB |
李博杰(Bojie Li),GitHub ID bojieli:
@bojie_li| 语言 | 格式 | 状态 | 译者 |
|---|---|---|---|
| 中文(原版) | PDF + Markdown 源码 | v1.2 | 李博杰 |
| 英文 | v1.2 | @nsdevaraj | |
| 泰米尔语 | v1.2 | @nsdevaraj | |
| 越南语 | v1.2(428 页) | @toanalien |
项目 README 中提供了以下可视化资源:
全书围绕一个核心公式展开,并提出独创的 Harness 工程概念:
Agent = LLM + 上下文 + 工具
Harness 工程:强调"模型之外的一切工程能力,才是真正的竞争力所在"。这一理念贯穿全书,主张不依赖模型升级,而是通过系统设计(上下文管理、工具设计、记忆系统、评估体系)提升 Agent 能力。这对生产环境部署有直接指导意义 $TRAE_REF。
| 章节 | 主题 | 核心内容 |
|---|---|---|
| 第 1 章 | Agent 基础知识 | 模型即 Agent 范式、核心公式、Harness 工程、RL vs LLM 对比(250-400 倍样本效率差距) |
| 第 2 章 | 上下文工程 | 上下文结构、KV Cache 优化、提示工程消融、Agent Skills 渐进式披露、提示注入攻防、上下文压缩 |
| 第 3 章 | 用户记忆和知识库 | 长期记忆系统、RAG 管道、稠密/稀疏嵌入、混合检索、GraphRAG/RAPTOR、Agentic RAG、Contextual Retrieval |
| 第 4 章 | 工具 | 感知/执行/协作三类工具、MCP 协议、事件驱动 Agent、异步 Agent(Flux 框架)、主动工具选择 |
| 第 5 章 | Coding Agent 与代码生成 | 生产级 Coding Agent(17 个纯 Python 工具)、代码辅助数学/逻辑推理、小模型代码化规则 |
| 第 6 章 | Agent 评估 | 评估环境、数据集设计、指标体系、统计显著性、可观测性、仿真环境 |
| 第 7 章 | 模型后训练 | 预训练/SFT/RL 三阶段、RLHF、算法比较、工具调用训练、样本效率 |
| 第 8 章 | Agent 自我进化 | 三种学习范式:经验学习、主动工具发现、从工具使用者到工具创造者 |
| 第 9 章 | 多模态与实时交互 | 语音三范式(级联/端到端/全双工)、Computer Use、GUI 操作、机器人操作 |
| 第 10 章 | 多 Agent 协作 | 多 Agent 分类框架、协作模式、失败模式、Agent 社会 |
按章节统计约 60+ 个配套实验项目,每个实验独立目录、独立依赖、可独立运行:
| 章节 | 实验数 | 代表项目 |
|---|---|---|
| 第 1 章 | 4 个 | learning-from-experience, web-search-agent, search-codegen, context |
| 第 2 章 | 9 个 | local_llm_serving, attention_visualization, kv-cache, context-compression, prompt-engineering, prompt-injection, agent-skills-ppt |
| 第 3 章 | 13 个 | user-memory, mem0, dense-embedding, sparse-embedding, retrieval-pipeline, agentic-rag, contextual-retrieval, structured-knowledge-extraction |
| 第 4 章 | 6 个 | perception-tools, execution-tools, collaboration-tools, agent-with-event-trigger, active-tool-selection, async-agent |
| 第 5 章 | 4 个 | coding-agent, code-for-math, code-for-logic, small-model-codified-rules |
| 第 6-10 章 | 多个 | 评估环境、训练复现、多模态交互、多 Agent 协作等 |
| 资源 | 类型 | 优势 | 不足 |
|---|---|---|---|
| 《深入理解 AI Agent》 | 开源书籍+代码 | 系统性最强、60+ 实验、中文友好、全开源 | 中文为主、部分实验需外部依赖 |
| LangChain 官方文档 | 框架文档 | 框架生态完善、社区活跃 | 框架绑定、概念层偏重 |
| Anthropic Agent 文档 | 官方指南 | 第一手资料、权威性高 | 仅限 Claude 生态 |
| Lilian Weng 博客 | 技术博客 | 深度好文、前沿探索 | 非系统化、无配套代码 |
| DeepLearning.AI 课程 | 视频课程 | 结构化学习、名师讲解 | 更新慢、深度有限 |
| HuggingFace Agent 课程 | 在线课程 | 社区活跃、免费 | 偏向 HF 生态 |
核心差异:本项目是目前唯一将"完整书籍 + 60+ 可运行实验 + 全开源"三者结合的中文 AI Agent 学习资源。
| 依赖 | 版本/说明 |
|---|---|
| Python | >= 3.10 |
| 包管理器 | pip |
| 依赖管理 | 各章节项目独立管理,有独立的 requirements.txt 或 pyproject.toml |
配套实验对接到真实 LLM API,支持的提供商包括:
| 提供商 | 用途 |
|---|---|
| Anthropic (Claude) | 第 5 章 Coding Agent 主要使用 |
| OpenAI (GPT-5) | 第 1 章 search-codegen 实验 |
| SiliconFlow (Qwen) | 第 1 章 context 消融实验 |
| 字节 Doubao | 第 1 章 context 消融实验 |
| 月之暗面 Kimi (K2) | 第 1 章 web-search-agent |
| OpenRouter | 第 5 章 Coding Agent 多提供商支持 |
| 本地模型 | 第 2 章支持 vLLM、Ollama 本地部署 |
| 依赖 | 用途 |
|---|---|
| openai / anthropic | LLM SDK 直接调用(不依赖 LangChain) |
| numpy / scipy | 数学计算与向量操作 |
| annoy / hnswlib | 向量检索 |
| sentence-transformers | 嵌入模型 |
| FastAPI | 第 4 章事件驱动 Agent 的 Web 服务 |
| mcp | 第 4 章 MCP 协议实现 |
| browser-use | 第 4 章浏览器自动化 |
| sympy | 第 5 章符号数学计算 |
| python-constraint | 第 5 章约束求解 |
| python-pptx | 第 2 章 Agent Skills PPT 生成 |
| vLLM / Ollama | 第 2 章本地 LLM 部署 |
# 1. 克隆仓库
git clone https://github.com/bojieli/ai-agent-book.git
cd ai-agent-book
# 2. 进入具体实验目录
cd chapter1/learning-from-experience
# 3. 安装依赖(各项目独立管理)
pip install -r requirements.txt
# 4. 配置 API Key(按需设置)
export ANTHROPIC_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
# 5. 运行实验
python main.py
| 类型 | 说明 | 占比 |
|---|---|---|
| ✅ 可独立运行 | 第 1-5 章大部分项目,配置 API Key 即可运行 | 约 70% |
| 📖 复现指南 | 第 6-10 章部分项目,需自行 clone 外部仓库(训练框架、评测基准) | 约 20% |
| 🚧 设计文档 | 少量项目仅提供架构设计文档 | 约 10% |
ai-agent-book/
├── book/ # 中文原版 PDF + Markdown 源码
│ ├── chapter1.md ~ chapter10.md # 10 章正文 Markdown
│ ├── introduction.md # 引言
│ ├── afterword.md # 后记
│ ├── images/ # 配图资源
│ ├── gen_*_figs.py # 图表生成脚本
│ ├── preamble.tex # LaTeX 排版配置
│ └── build_pdf.sh # PDF 编译脚本
│
├── book-en/ # 英文翻译
├── book-ta/ # 泰米尔语翻译
├── book-vi/ # 越南语翻译
│
├── chapter1/ # 第 1 章:Agent 基础知识
│ ├── learning-from-experience/ # 经验学习实验(寻宝游戏)
│ │ ├── main.py # 主入口
│ │ ├── requirements.txt # 独立依赖
│ │ └── README.md # 实验说明
│ ├── web-search-agent/ # 网页搜索 Agent
│ ├── search-codegen/ # 搜索与代码生成
│ └── context/ # 上下文消融实验
│
├── chapter2/ # 第 2 章:上下文工程
│ ├── local_llm_serving/ # 本地 LLM 部署
│ ├── attention_visualization/ # 注意力可视化
│ ├── kv-cache/ # KV Cache 优化
│ ├── context-compression/ # 上下文压缩
│ ├── prompt-engineering/ # 提示工程消融
│ ├── system-hint/ # 系统提示技术
│ ├── log-sanitization/ # 日志脱敏
│ ├── prompt-injection/ # 提示注入攻防
│ └── agent-skills-ppt/ # Agent Skills 渐进式披露
│
├── chapter3/ # 第 3 章:用户记忆和知识库
│ ├── user-memory/ # 长期记忆系统
│ ├── mem0/ # Mem0 记忆框架
│ ├── dense-embedding/ # 稠密嵌入
│ ├── sparse-embedding/ # 稀疏嵌入
│ ├── retrieval-pipeline/ # 混合检索管道
│ ├── multimodal-agent/ # 多模态 Agent
│ ├── structured-index/ # 结构化索引
│ ├── agentic-rag/ # Agentic RAG
│ ├── contextual-retrieval/ # 上下文检索
│ └── structured-knowledge-extraction/ # 结构化知识提取
│
├── chapter4/ # 第 4 章:工具
│ ├── perception-tools/ # 感知类工具
│ ├── execution-tools/ # 执行类工具
│ ├── collaboration-tools/ # 协作类工具
│ ├── agent-with-event-trigger/ # 事件驱动 Agent
│ ├── active-tool-selection/ # 主动工具选择
│ └── async-agent/ # 异步 Agent(Flux 框架)
│
├── chapter5/ # 第 5 章:Coding Agent
│ ├── coding-agent/ # 生产级 Coding Agent(17 个纯 Python 工具)
│ ├── code-for-math/ # 代码辅助数学推理
│ ├── code-for-logic/ # 代码辅助逻辑推理
│ └── small-model-codified-rules/ # 小模型代码化规则
│
├── chapter6/ ~ chapter10/ # 第 6-10 章:评估/训练/进化/多模态/多Agent
│ └── ... # 多数为复现指南类项目
│
├── assets/ # 仓库图片资源
├── scripts/ # 工具脚本
├── .github/workflows/ # CI/CD
├── EXPERIMENT_TRIAGE.md # 实验分类指南
├── LICENSE # Apache 2.0
└── README.md # 多语言项目说明
| 设计原则 | 说明 |
|---|---|
| 按章节隔离 | 每个章节独立目录,互不依赖,可独立学习 |
| 项目自包含 | 每个实验项目有独立的 main.py、requirements.txt、README.md |
| 不依赖 Agent 框架 | 代码直接调用 LLM SDK(openai/anthropic),不依赖 LangChain、CrewAI 等 |
| 纯 Python 实现 | 第 5 章 Coding Agent 所有工具纯 Python 实现,无命令行依赖 |
| 多 LLM 支持 | 不绑定单一 LLM 提供商,支持 Anthropic、OpenAI、Kimi、Doubao、Qwen 等 |
| 模块 | 路径 | 功能 |
|---|---|---|
| 书籍正文 | book/ |
10 章 Markdown 源码,可编译为 PDF |
| 经验学习 | chapter1/learning-from-experience/ |
通过寻宝游戏对比 Q-learning 与 LLM 上下文学习,展示 250-400 倍样本效率差距 |
| 上下文工程 | chapter2/ |
9 个实验覆盖 KV Cache、提示工程、上下文压缩、提示注入攻防 |
| 记忆系统 | chapter3/ |
13 个实验覆盖 RAG 全栈:嵌入、检索、GraphRAG、Agentic RAG、Contextual Retrieval |
| 工具系统 | chapter4/ |
6 个实验覆盖 MCP 协议、事件驱动、异步 Agent、Flux 框架 |
| Coding Agent | chapter5/coding-agent/ |
17 个纯 Python 工具的生产级 Coding Agent |
| 评估体系 | chapter6/ |
评估环境、数据集设计、指标体系、可观测性 |
| 模型后训练 | chapter7/ |
预训练/SFT/RL 三阶段、RLHF、工具调用训练 |
| Agent 自我进化 | chapter8/ |
经验学习、主动工具发现、工具创造 |
| 多模态交互 | chapter9/ |
语音三范式、Computer Use、GUI/机器人操作 |
| 多 Agent 协作 | chapter10/ |
多 Agent 分类框架、协作模式、失败模式 |
该项目复现了 Shunyu Yao "The Second Half" 论文的核心洞察,通过寻宝游戏对比 Q-learning 与 LLM 上下文学习:
# 核心逻辑:LLM Agent 通过上下文学习(few-shot)解决寻宝问题
# 游戏规则:Agent 在网格中寻找宝藏,每次移动获得反馈
# Q-learning 需要数千次试错才能收敛
# LLM 仅需少量样本(few-shot)即可达到同等效果
# 展示了 250-400 倍的样本效率差距
# 运行效果(Rich 终端输出):
# 🧠 LLM Agent 第 3 次尝试即找到宝藏
# 📊 Q-learning Agent 需要 800+ 次训练
# 📈 样本效率提升:约 300 倍
关键洞察:LLM 的先验知识(对空间、方向、寻路策略的理解)使其在少量样本下即可表现出色,而传统 RL 需要从零开始探索。
# 消融研究:量化不同上下文组件对 Agent 性能的贡献
# 实验设计:逐步移除系统提示、历史对话、工具描述等
# 对比多个 LLM 提供商(SiliconFlow/Qwen、字节/Doubao、Anthropic/Claude)
# 消融维度:
# - 无系统提示 (No System Prompt)
# - 无工具描述 (No Tool Description)
# - 无历史对话 (No Conversation History)
# - 仅最后一次回复 (Last Response Only)
# 完整上下文 (Full Context) 作为 baseline
# 结果输出:各组件对任务完成率的贡献百分比
# 与传统 RAG 不同,Agentic RAG 让 Agent 自主决策检索策略
# 核心流程:
# 1. Agent 分析用户查询,判断是否需要检索
# 2. 生成检索查询(可能多个子查询)
# 3. 执行检索(稠密+稀疏混合)
# 4. 评估检索结果相关性
# 5. 决定是否需要重新检索或优化查询
# 6. 将检索结果融入上下文生成回答
# 与传统 RAG 的对比:
# 传统 RAG:查询 → 检索 → 生成(固定管道)
# Agentic RAG:查询 → Agent 决策 → 检索 → 评估 → 重试/优化 → 生成
# 基于 asyncio 的事件驱动异步 Agent 框架
# 核心特性:
# - inbox 事件队列:按紧急度分派(打断 > 立即 > 排队)
# - 异步工具并行执行:多个工具同时运行
# - 运行中打断:新事件可中断当前任务
# - 决策由 LLM function calling 完成
# 事件类型:
# INTERRUPT — 打断当前任务,立即处理
# IMMEDIATE — 当前任务完成后立即处理
# QUEUED — 加入队列等待处理
# 17 个纯 Python 实现的工具,无需命令行依赖
# 工具列表:
# - 文件读写:read_file, write_file, replace_in_file
# - 正则搜索:Grep(纯 Python 实现,兼容 ripgrep)
# - Shell 会话:create_shell, shell_exec, shell_kill
# - 目录操作:list_directory, get_file_info
# - 代码编辑:apply_patch, create_diff
# - 项目管理:create_todo, update_todo, get_todo
# 系统提示技术:
# - 时间戳注入:每次工具调用前注入当前时间
# - 工具调用计数:防止无限循环
# - TODO 列表管理:强制 Agent 规划步骤
# 多提供商支持:
# - Anthropic Claude(主要)
# - OpenAI GPT-5
# - OpenRouter(多模型路由)
| 场景 | 说明 |
|---|---|
| AI Agent 系统学习 | 从基础概念到高级主题,10 章覆盖 Agent 全栈知识体系,适合系统学习 |
| 动手实践 | 60+ 个可运行实验,从寻宝游戏到生产级 Coding Agent,边学边练 |
| 企业 Agent 开发参考 | Harness 工程理念、评估体系、上下文工程直接指导生产级 Agent 系统设计 |
| RAG 系统深入理解 | 第 3 章 13 个实验覆盖 RAG 全栈,从基础嵌入到 Agentic RAG |
| MCP 协议学习 | 第 4 章对 MCP 协议有完整的实现和讲解 |
| Coding Agent 开发 | 第 5 章提供 17 个纯 Python 工具的生产级 Coding Agent 参考实现 |
| 高校教学 | 系统性强、实验丰富,适合作为 AI Agent 课程教材 |
| 技术选型决策 | 消融研究数据支撑,帮助技术决策者量化评估不同方案 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。