两个开源项目,带你系统学习 AI Agent
两个开源项目,带你系统学习 AI Agent
学 Agent 这条路上,我踩过一个坑:碎片文章看了很多,概念记了一堆,但脑子里始终没有一个完整的知识框架。直到我找到两个开源项目,才真正把 Agent 从「听说过」变成了「能动手做」。
一个是 ai-agent-book,一本把 Agent 从原理讲到工程实战的开源书,10 章正文配 88 个实验。另一个是 pi,一个 74K+ Star 的 Agent 实战工具,包含统一 LLM API、Agent 运行时和 Coding Agent CLI。
一个教你理解 Agent,一个让你上手用 Agent。 下面分别介绍它们的内容,以及怎么用来学习。
ai-agent-book:一本把 Agent 讲透的开源书
① 项目概况
ai-agent-book 的 GitHub 地址:https://github.com/bojieli/ai-agent-book
这本书的核心公式只有一句话:Agent = LLM + 上下文 + 工具。全书围绕这个公式展开,用 10 章把 AI Agent 从原理讲到工程实战。正文、配图、88 个配套实验全部开源,支持 5 种语言(中文、英文、台灣正體、泰米尔语、越南语)。
可以直接下载 PDF 和 EPUB:
② 10 章内容速览
| 章 | 主题 | 一句话核心 |
|---|---|---|
| 1 | Agent 基础知识 | 「模型即 Agent」新范式,Agent = LLM + 上下文 + 工具 |
| 2 | 上下文工程 | 上下文决定能力上限:KV Cache、提示工程、Skills、上下文压缩 |
| 3 | 用户记忆和知识库 | 跨会话记住用户、接入外部知识:记忆、RAG、知识图谱 |
| 4 | 工具 | 工具是 Agent 的双手:MCP 协议、感知/执行/协作三类工具 |
| 5 | Coding Agent 与代码生成 | 代码是「能创造新工具的工具」,生产级 Coding Agent 全景 |
| 6 | Agent 的评估 | 把表现变成可比较信号:评估环境、指标、统计显著性 |
| 7 | Agent 的训练 | 从 SFT 到 RL:后训练如何塑造 Agent 的决策策略 |
| 8 | 部署与优化 | 推理加速、量化、服务化,让 Agent 跑得快、跑得稳 |
| 9 | 浏览器自动化 | 视觉感知 + 操作:让 Agent 操控浏览器完成任务 |
| 10 | 多 Agent 系统 | 多个 Agent 协作:通信、协调、角色分工 |
③ 配套实验
88 个配套实验,70+ 可独立运行。每个实验都是一个独立的项目,有自己的 README 和 requirements.txt。
实验从简单到复杂,第 1 章的实验只需要调 API,第 7 章的实验需要 GPU 来训练模型。你可以根据自己的水平选择起点。
④ 这本书的独特价值
很多文章讲 Agent 只讲概念,不给代码。很多仓库给代码但不讲原理。ai-agent-book 两样都有——每一章先讲原理,再用实验让你亲手验证。比如第 3 章讲 RAG,不只讲「检索-拼接-生成」的流程,还给了 13 个实验让你跑不同类型的 RAG,从 Naive RAG 到 Graph RAG 到 Agentic RAG。
pi:74K+ Star 的 Agent 实战工具
① 项目概况
pi 的 GitHub 地址:https://github.com/earendil-works/pi
pi 是一个 Agent Harness(Agent 运行框架),用 TypeScript 写的,目前有 74K+ Star。它的定位是:给你一套完整的 Agent 基础设施,你只需要关注业务逻辑。
② 四个核心包
pi 的架构很清晰,拆成了四个独立的包:
pi-ai — 统一多提供商 LLM API
把 OpenAI、Anthropic、Google 等不同提供商的 API 统一成一套接口。你写一次代码,换提供商只需要改一个配置。这对 Agent 开发很重要——Agent 需要灵活切换模型,不能被一个提供商锁死。
pi-agent-core — Agent 运行时
Agent 的核心运行逻辑:工具调用、状态管理、对话循环。它定义了 Agent 怎么接收消息、怎么决定调用什么工具、怎么处理工具返回的结果。
pi-coding-agent — 交互式 Coding Agent CLI
开箱即用的 Coding Agent 命令行工具。装好就能用,支持代码搜索、文件编辑、命令执行等能力。你可以直接拿它来写代码,也可以基于它做二次开发。
pi-tui — 终端 UI 库
终端界面渲染库,支持差分渲染。pi-coding-agent 的交互界面就是用它做的。
③ 为什么这么火
pi 能拿到 74K+ Star,不是没有原因的:
- 统一 API:一个接口对接多个 LLM 提供商,不用每个提供商写一套代码
- 开箱即用:
npm install就能跑,不需要复杂的配置 - 可扩展:工具、技能、交互方式都可以自定义
- 工业级质量:有完整的测试、CI/CD、文档,不是玩具项目
④ 适用场景
如果你想快速上手 Agent 开发,pi 是最好的起点之一。它帮你搞定了 LLM 对接、工具调用、状态管理这些基础设施,你只需要写业务逻辑。如果你想看工业级 Agent 的实现,pi 的源码非常值得读——代码质量高、架构清晰、文档完善。
两个项目的互补性
① 理解层 vs 实现层
ai-agent-book 和 pi 解决的是同一类问题的不同层面:
- ai-agent-book 是理解层:为什么 Agent 需要上下文工程?为什么工具调用要用 MCP 协议?为什么评估要用统计显著性?它回答的是「为什么」。
- pi 是实现层:统一 LLM API 怎么设计?工具调用的状态机怎么管理?Agent 的对话循环怎么跑?它回答的是「怎么做」。
ai-agent-book (理解层) pi (实现层)
┌─────────────────────┐ ┌─────────────────────┐
│ 为什么这样设计 │ │ 代码怎么写 │
│ 原理是什么 │ │ 架构怎么搭 │
│ 各种方案的优缺点 │ │ 接口怎么定义 │
│ 评估指标怎么选 │ │ 状态怎么管理 │
└─────────────────────┘ └─────────────────────┘
│ │
└──────────┬───────────────────┘
▼
读书理解原理
看 pi 学实现
动手做实验验证
② 互补关系
只读 ai-agent-book 不看 pi,你会知道原理但不知道怎么落地。只看 pi 不读 ai-agent-book,你会用工具但不知道为什么这样设计。两个一起用,才是完整的学习闭环。
比如学「工具调用」这个概念:ai-agent-book 第 4 章讲了工具的分类(感知/执行/协作)、MCP 协议的设计、事件驱动异步 Agent。看完原理后,去 pi-agent-core 的源码里看它怎么实现工具调用、怎么管理工具状态、怎么处理工具返回的结果。原理和实现对照着看,理解会深很多。
怎么用 ai-agent-book 学习 Agent
① 第一遍:通读建立全景(1-2 周)
先读第 1 章,建立核心概念。这一章是全书的概念地图——Agent = LLM + 上下文 + 工具,Harness 工程才是竞争力。初次阅读不必记住所有概念,先建立整体印象。
然后快速浏览 2-10 章的标题和小结,知道每章讲什么就行。这一步的目的是建立知识地图——知道 Agent 的知识体系有哪些分支,每个分支大概讲什么。
② 第二遍:按兴趣深入(2-4 周)
对哪个方向感兴趣就深入哪章。但有两章建议必读:
- 第 2 章 上下文工程:上下文决定 Agent 能力上限,这是 Agent 开发中最核心的工程问题
- 第 4 章 工具:工具是 Agent 的手脚,MCP 协议、工具分类、事件驱动这些概念贯穿所有 Agent 开发
每章的配套实验跟着跑一遍。不用全部跑完,挑 2-3 个核心实验就行。跑实验比纯读文章有效十倍——你以为理解了的概念,跑一遍实验可能发现还有盲区。
③ 第三遍:动手做实验(持续)
从简单的实验开始。chapter1 的 4 个实验只需要调 API,不需要 GPU。chapter2 的 9 个实验开始涉及上下文管理。chapter3 的 13 个实验覆盖各种 RAG 变体。
逐步挑战复杂的:chapter7 的 14 个实验涉及模型训练,需要 GPU。chapter10 的 8 个实验涉及多 Agent 协作,是最综合的。
改代码、调参数、观察变化——这才是真正的学习。光看文章不动手,永远是纸上谈兵。
怎么用 pi 学习 Agent 实现
① 看代码学架构
pi-agent-core 是学习 Agent 架构的好材料。重点看:
- 工具调用:Agent 怎么发现工具、怎么调用工具、怎么处理工具返回
- 状态管理:对话状态怎么维护、工具执行状态怎么追踪
- 对话循环:Agent 的核心循环——接收消息 → 推理 → 调用工具 → 返回结果
② 看代码学 LLM 集成
pi-ai 的统一 API 设计值得学习。它怎么把 OpenAI、Anthropic、Google 不同格式的 API 统一成一套接口?怎么处理不同提供商的差异(流式输出、工具调用格式、错误码)?这些问题在你自己做 Agent 开发时都会碰到。
③ 看代码学 CLI 设计
pi-coding-agent 的交互式终端是怎么做的?怎么处理用户输入?怎么展示 Agent 的思考过程?怎么在终端里渲染富文本?这些细节在做 CLI 工具时都会用到。
④ 动手改代码
fork 后加一个新工具、改一个交互逻辑、换一个 LLM 提供商。从小改动开始,逐步理解整个系统。
实际使用:
npm install
# 配置 API Key
export OPENAI_API_KEY=your_key
# 运行
npx pi
学习路径建议
① 四个阶段
② 阶段一:概念建立(1-2 周)
- 读 ai-agent-book 第 1 章,建立核心概念
- 跑 chapter1 的 4 个实验
- 安装 pi,体验一下 Coding Agent
- 目标:知道 Agent 是什么、由什么组成
③ 阶段二:原理深入(2-4 周)
- 读 ai-agent-book 第 2-4 章(上下文、记忆、工具)
- 跑每章 2-3 个核心实验
- 看 pi-agent-core 的源码,对照理解工具调用的实现
- 目标:理解 Agent 的三大核心组件怎么工作
④ 阶段三:实战进阶(4-8 周)
- 读第 5-6 章(Coding Agent、评估)
- 用 pi 做一个小项目(比如加一个自定义工具)
- 参与开源贡献——两个项目都欢迎 PR
- 目标:能独立开发一个简单的 Agent
⑤ 阶段四:高级主题(持续)
- 第 7-10 章(训练、部署、浏览器自动化、多 Agent)
- 自己实现一个简单的 Agent 框架
- 目标:深入理解 Agent 的高级话题
我的思考
① 学 Agent 的最佳方式
学 Agent 最好的方式是**「读书 + 看源码 + 动手做」三位一体**。ai-agent-book 提供了体系化的知识,pi 提供了工业级的代码,配套实验提供了动手验证的机会。三者缺一不可。
② 两个项目的价值
ai-agent-book 的价值在于体系化——它不是零散的博客文章,而是一本从头到尾讲透 Agent 的书。pi 的价值在于实战化——它不是理论讲解,而是一个可以跑、可以改、可以用的 Agent 框架。
两个项目都是开源的,Star 都很高,社区都很活跃。这说明它们经过了社区的检验,不是某个人的自说自话。
③ 还没想明白的事
学完这些能做什么?怎么把学到的东西用到实际项目中?我的体会是:学完 ai-agent-book 的前 4 章,你就能在自己的项目里设计一个基本的 Agent 架构。学完第 5-6 章,你就能做 Coding Agent 和评估体系。学完第 7-10 章,你就能处理训练、部署和多 Agent 这些高级话题。
但理论和实践之间永远有 gap。最好的弥合方式是做一个真实项目——哪怕很小,哪怕只是把 ai-agent-book 的某个实验改造成一个能解决实际问题的工具。
写在最后
两个项目,两种学习方式:
- ai-agent-book:10 章 88 个实验,从原理到实战,教你理解 Agent
- pi:74K+ Star,统一 LLM API + Agent 运行时 + Coding Agent CLI,让你上手用 Agent
建议从 ai-agent-book 第 1 章开始,同时安装 pi 体验一下。读一章书,跑一个实验,看一段 pi 的源码——这是我认为最高效的学习方式。
Agent 的知识体系很大,但核心公式只有一句话:Agent = LLM + 上下文 + 工具。理解了这个公式,剩下的都是细节。
更多推荐


所有评论(0)