两个开源项目,带你系统学习 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章 Agent 基础
4个实验

第2章 上下文工程
9个实验

第3章 记忆和知识库
13个实验

第4章 工具
7个实验

第5章 Coding Agent
12个实验

第6章 评估
10个实验

第7章 训练
14个实验

第8章 部署
6个实验

第9章 浏览器自动化
5个实验

第10章 多Agent
8个实验

实验从简单到复杂,第 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周

阶段二
原理深入
2-4周

阶段三
实战进阶
4-8周

阶段四
高级主题
持续

② 阶段一:概念建立(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 + 上下文 + 工具。理解了这个公式,剩下的都是细节。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐