前言:任何人都可以写 agent
先把这本书的前提摆出来:写一个 agent,今天已经不需要你会写代码。
不是说代码没了。代码还在,而且比以前更多。变化在于写代码的人换了。你把场景说清楚, 你手边的编码助手把代码写出来,你看结果对不对。这一年里,公司里做出能用的 agent 的人, 有后端工程师,也有从没写过一行 Python 的运营和客服主管。他们的差别不在会不会写代码, 在会不会把活说清楚。
所以这本书教的不是 LangGraph 的接口。接口你的 AI 比你熟。这本书教的是:一个场景拿到手, 先判断它配不配得上 agent;配得上,边界画在哪,哪一步必须有人点头,拿什么假数据先跑通, 怎么判断做对了。这些判断 AI 不会替你做,做错了它也不会告诉你。
这套书一共两本
《笨办法学 Agent》现在是一个系列,一共两本,各自独立,不要求先后顺序:
- 《笨办法学 Agent · 亲手打造一个 harness》:不用任何框架,32 个练习亲手写出一个 agent harness 的每一层,目的是看懂。
- 《笨办法学 Agent · 用 LangGraph 上线》(这一本):用 LangGraph 把真实场景的 agent 做出来、放到线上给人用,目的是上线。
两本共享同一句话:agent 没有秘密架构,会不会用,看你会不会把活/场景/工具边界说清楚。
这一本和第一本《笨办法学 Agent · 亲手打造一个 harness》(后面简称“上册“)关系最近。 上册三十二个练习,一行框架代码没用,亲手写出了一个 agent harness 的每一层:工具循环、 权限、会话、压缩、记忆、skill、子 agent。看懂之后你知道一个 agent 里面有多少层,出了 问题去哪查。这一册用 LangGraph,目的是上线——看懂了每一层,再用框架,是为了少写那 二十几章,把力气花在场景上。你没读过上册也能从这一册开始。 正文里凡是提到上册 某个练习的地方,都会顺带说清楚那个练习解决的是什么问题——比如 checkpointer 对应上册 练习 11 的会话文件,interrupt 对应练习 9 和 10 的权限闸门,子图对应练习 19 到 21 的 子 agent。读过上册的话,这些对照能帮你更快建立联系;没读过,跳过那半句“上册练习 X“, 不影响往下理解。
有人会问:上册不是说不用框架吗?上册说的是先别用,亲手写一遍才看得懂。看懂之后, 用框架是为了让 AI 帮你写得对。主流框架的代码你的 AI 见得多,在它上面改,比在你自造的循环上改稳得多。 这一点在第 1 期里会展开。
谁该读
- 手上有一个真实场景要做成 agent 的人,不管你是工程师还是业务方。
- 用 Claude Code、Codex 这类编码助手干活,想让它做出的 agent 能放到线上给别人用的人。
- 读完上册,想看那三十几个练习在真实项目里长什么样的人。
不适合的读者:想要一份 LangGraph API 手册。官方文档比这本书全,而且每两个月更新一次。
怎么安排
基础篇十一期。 三层判断和选型,第一张图,工具与条件边,checkpointer,interrupt,Store,MCP,检索,skill, 子图与多 agent,观测。每一期一个概念,一段能跑的代码,一次真机运行的输出。
部署篇四期。 用 FastAPI 包一层,换真实存储,放到线上给别人用,以及评测——改了提示词或换了模型,怎么知道是变好了还是变坏了。
经典例子重做七个。 LangGraph 官方那批教程今年大半已经归档,或者用了已经弃用的写法。这七个用 2026 年的接口重做, 每个标注它用到了前面哪几期。
企业空白三个。 企业案例里反复出现、但没有干净开源实现的场景:按 SOP 一步步执行的坐席助手, 非结构化邮件到结构化工单,对话式数据分析。
读者场景,持续。 你在评论区交一个场景,按第五部分的模板给三样:一条真实输入的样子、期望的输出、涉及哪几个系统。 我挑能改造成教学案例的做出来,每一期回到原评论下点名。有些场景我会公开说不配上 agent,用二十行脚本给你做了, 那也是内容。
怎么用这个仓库
代码都在仓库的 code/ 目录,版本锁死,一条命令能跑,假数据在仓库里,不依赖任何内部系统。
这个仓库同时是写给你的 AI 读的。fork 之后打开你的编码助手,说“改成我的场景“,它会先读仓库里那份给 AI 看的说明, 那里写了哪些地方该改、哪些地方别碰。你要做的是第 1 期教的那一步:把你的场景说清楚。
几句实话
每一期的输出都是真机跑出来的,没跑过的结论不写。框架版本在正文写作时锁定,半年后可能有新写法, 每一期末尾有核对日期,以官方文档为准。真机跑出来跟预期不一样的地方,正文照实写,不美化。
书里的场景全部来自真实的企业需求,但公司名、系统名、内部数据一律不出现,只保留结构。
开始吧。第 1 期先不写代码,先判断你手上那个需求到底是不是 agent。