GitHub 趋势 · 第 61 期

45,943 star 的《深入理解 AI Agent》:正文是 Markdown 源码,PDF 是构建产物

#GitHub趋势#AIAgent#开源书籍

先说判断:这不是一个软件项目,是一本书。但它发布的方式完全是软件工程的——正文是 Markdown 源文件,PDF 与 EPUB 是构建产物,依赖被一份 1.25 MB 的锁文件钉死,109 个配套实验按章拆成十个 extra。

对想系统学 Agent 工程的中文读者,这是目前最值得 clone 的一份材料;但如果你想要的是装个库就能用的东西,它给不了。

想系统学 Agent,缺的从来不是结论

你手上通常是三类东西:零散的博客、几篇被转烂的综述、一堆跑不起来的 demo。真正的缺口是一份从原理讲到工程、并且把实验怎么跑起来也交代清楚的材料——大部分教程到该运行的时候就停住了。

这个仓库补的正是这一块:不给结论清单,给 10 章正文加 109 个能自己跑的实验。

它是什么

仓库 bojieli/ai-agent-book 是一本中文技术书的开源主仓库,作者李博杰(GitHub 账号 bojieli,个人账号)。书名《深入理解 AI Agent:设计原理与工程实践》,全书围绕一个公式展开:Agent = LLM + 上下文 + 工具

GitHub API 实测:45,943 star、5,138 fork、未关闭 issue 22 条、watcher 168 个。Trending 页同期快照是 45,951 star,比 API 多 8 个——小项目上这种偏差很常见,两个数我都列出来。它这轮出现在 Python 日榜,单日 +301。

仓库的顶层结构长这样(按 contents 接口实测整理):

ai-agent-book/
├── book/                    中文正文源码:introduction.md、chapter1~10.md、afterword.md
├── book-en/ book-es/ book-ar/ book-he/ book-hu/ book-id/
│   book-ja/ book-ko/ book-ptbr/ book-ru/ book-ta/ book-tr/
│   book-vi/ book-zhtw/      14 个翻译书稿目录
├── chapter1/ ~ chapter10/   各章配套实验(每章 README 是权威实验清单)
├── agentbook/               跨实验共用的 provider 与依赖管线
├── docs/                    实验台账、目录约定、站点 i18n 说明
├── cursor-chats/            写作过程的对话记录
├── extras/ scripts/ slides/ tests/ assets/ overrides/
├── pyproject.toml           ch1 ~ ch10 共十个 extra
├── uv.lock                  1,312,108 字节
├── mkdocs.yml               在线版配置(15,091 字节)
└── README.md                40,363 字节(另有 10 个翻译版)

十章,109 个实验

主题实验
1AI Agent 入门4
2上下文工程10
3用户记忆和知识库12
4工具5
5Coding Agent 与通用 Agent16
6交互:观察与动作空间的扩展14
7Agent 的评估14
8模型后训练19
9Agent 的持续进化9
10多 Agent 协作6

这一列加起来是 4+10+12+5+16+14+14+19+9+6 = 109,和 README 头条写的「109 个配套实验」对得上。第六章是 2.0 版重组出来的新章——把原来第四章的异步交互和第九章的多模态 Agent 合并为「交互:观察与动作空间的扩展」,后面的评估、后训练、持续进化各往后挪了一章。

章的主题密度也不平均:第 5 章讲 Coding Agent 与通用 Agent,把代码称作能创造新工具的工具;第 8 章讲模型后训练,把预训练 / SFT / RL 三阶段拆开讲,实验数最多(19 个);第 7 章把评估做成可比较信号,第 9 章讲怎么从运行轨迹里拿学习信号。

书稿是源码:四件证据

怎么把它跑起来

README 给的主路径是 uv 加锁安装,逐字抄在下面(把 ch1 换成 ch2 ~ ch10 即可):

# 推荐:使用提交到仓库的 uv.lock,获得可复现的章节环境
uv sync --locked --extra ch1

# 未安装 uv 时:使用 pip 从 pyproject.toml 重新解析
python -m pip install -e ".[ch1]"

装完在仓库根目录跑实验:

uv run python chapter1/context/main.py

想自己编译 PDF,则需要先装 pandoc、xelatex、ElegantBook 文档类与相关字体,然后:

cd book && bash build_pdf.sh

跑测试的路径在 docs/EXPERIMENT_CONVENTIONS.md 里,顺手把 dev extra 一起装上:

uv sync --locked --python 3.12 --extra chN --extra dev
python -m pytest tests

写作过程也在仓库里

上面都是它做得好的部分。接下来是它真正少见的地方:仓库根目录有一个 cursor-chats/,里面是 Cursor 会话的导出文件,文件名就是时间戳加上当时给 AI 的指令全文。我抓到的清单里就有 54 个(接口返回被截断,实际不止),最小的 868 字节,最大的 98,584 字节。

挑三条文件名念一下,你会明白这个目录的分量:

这三条摆在一起,一本书的构思、宣传语、返工去重三个阶段就都在里面了。目录里还有让 AI 读 arXiv 论文做对比、比对 vLLM 与 Ollama 的 prompt 模板、以及在终端里跑 python main.py 的会话记录。

README 里没有介绍它,docs/ 下也没有。它更像是 Cursor 的会话导出被一起提交了进来——我不替作者解释动机。但抛开动机,这个目录本身就是一份罕见的一手材料:一本书和 AI 往返几十轮的痕迹,没有被清理掉。

我的判断

适合谁:想系统学 Agent 工程、并且愿意动手跑实验的人;要给团队或课程找一份中文教材的人(Apache-2.0 允许商用与改写,这一点后面还要说一句);习惯先看懂机制再去跑代码的人。

不适合谁:想要一个能直接装进项目里的框架的人——这是书加实验集合,不是软件产品;只想找一份速查清单的人;磁盘紧张的人,理由在文末最后一个数字。

上手前有四件事值得先知道:

还有两个小坑,都属于看着不起眼、遇上了很烦的那一类。一是多语言入口基本是墓碑:根目录 10 个翻译版 README 里有 8 个只有 95 到 201 字节——README.en.md 实测全文是 This file has moved 加一行新路径,README.ja.md 是「このファイルは移動しました」加一行新路径;docs/ 下还有一组同构文件,LEARNING.md 连同 7 个语言版本合计 1,158 字节。真正的翻译正文在各 book-语言/ 目录和每章 chapterN/README.语言.md(2,369 到 7,249 字节)里。二是唯一一个 Release 的 tag 名就叫 latest,标注是 rolling,prerelease 为 true,发布于 2026-07-21,挂着 30 个附件(15 种语言 × PDF 与 EPUB,合计约 216 MB,最大的是韩语 PDF 12,784,257 字节)。README 说的「固定版本见 Releases」,实际是名字固定、内容滚动。

最后一个数字:仓库本身 794,108 KB,也就是约 775 MB——比它一次发布出来的全部成品(约 216 MB)还大三倍多。clone 之前心里有个数。

仓库:github.com/bojieli/ai-agent-book(bojieli/ai-agent-book)

star:API 实测 45,943 · Trending 页快照 45,951(2026-09-12,Python 日榜单日 +301)· fork 5,138 · 未关闭 issue 22 · watcher 168

许可:Apache-2.0(LICENSE 11,338 字节,标准全文,附录版权方写的是 Copyright 2025 Bojie Li);本轮未发现非商用或限商用条款。正文与代码同在一个 Apache-2.0 仓库下,该许可的 Work 定义本身覆盖 documentation source——这一点对想拿它做内训或改编的人是好消息。

版本:默认分支 main · 仓库创建于 2025-09-09 · 最近推送 2026-09-12 · Releases 仅 1 个(tag latest,prerelease,2026-07-21)

选题依据:全语言日 / 周 / 月三榜剔除历史已写项目后无新面孔,改用分语言日榜;该仓库不在历史已写清单里,也不在往期线索池中。

数据来源:GitHub Trending 官方页面 + GitHub REST API,抓取时间 2026-09-12 14:43(GMT+8)。正文中的字节数、条目数均为接口实测;README 的「109 个配套实验」经逐章相加核对。

本文只陈述抓取到的公开事实,不构成对项目质量的保证,也不构成法律意见。

你更想先看哪一块——上下文工程,还是 Agent 的评估?评论区说一声,我按票数决定下一期从哪一章挑一个实验顺着讲。

下期预告:上一期答应的那个主题族(把模型塞到小设备与边缘上),到今天三榜上仍然凑不够成员,继续欠着。下期如果出现高动量新面孔,就回单项目精读;仍然零候选,就换个主题族做横向合集。

#GitHub趋势#AIAgent#开源书籍