摘要:GitHub 上 Agent 教程动辄八万星,但照着抄完,能力不会自动长在身上。讲清学 Agent 的三个动作——并读找共识、抽象再还原、往新场景里练,以及为什么星数跟仓库是否还活着,是两件完全不相干的事。
我的收藏夹里有好几个 Agent 教程仓库。
第一个是某中文社区的《从零开始构建智能体》,八万两千多星,五大部分十六章,从 Transformer 讲到 Agentic RL。第二个是微软的十八节课,英文为主,配套代码,七万六千星。第三个是 Hugging Face 的 Agents Course,三万三千星,每章配作业。
一个都没读完。
不是没时间。是每换一个仓库,都要重新记一遍术语:ReAct、Plan-and-Solve、上下文工程、Agentic RAG。看完这个的第三章,那个仓库用了另一套说法。三个月后想回头查一个 API 细节,发现自己的笔记里只有中文标题和一堆没勾选的复选框。
后来我把学习方式换了。变化不大,但有一个体会值得写出来:会做和会造之间,隔着的不是知识量,是提炼。
会跑的代码,和跑得住的系统,是两件事
先说一件容易被跳过的事。
教程教的是"能跑"。工程师做的是"跑得住"。
这两件事的距离,比多数人以为的大。你按教程写完一个 ReAct 循环,跑通十个 case,输出看着挺像回事。放到企业工单场景里,问题一个接一个冒出来:工具返回超时了,循环还在往下走;工单系统查不到数据,模型开始编;上下文堆到十万 token,注意力散掉,开始漏看关键约束。
这些问题,教程里没有。因为教程的作者在演示环境里跑。
所以挑教程的第一个标准不是星数,是它有没有讲那些不体面的部分:失败模式、上下文预算、执行预算、评估。这一条比什么都重要,后面再说。
最稀缺的能力,是学会学的能力
工具会变。
LangChain 换过三轮 API,Agent 框架的概念今年就被重写过——Loop 刚火六周,Graph 就来了,我 8 月那篇文章写的就是这事。明年的教程目录,大概率跟今天的不一样。
但有一层东西不会变:主循环怎么设计、上下文预算怎么分、失败怎么归类。这层是规律,不是招式。
所以学 Agent,最该练的不是记 API,是从具体做法里把规律捞出来。这一步没有捷径,也没有教程能替你做——所有教程都默认你在照抄,没人教你抄完之后该想什么。
具体三步。
第一步,并读,找共识。
不是找一个仓库从头读到尾。是同时打开三个仓库,只读同一个主题。
比如都读"工具使用"这一章。Datawhale 那一本在第四章手写 ReAct,微软那本在 Tool Use Design Pattern 里讲同样的循环,Hugging Face 那本把它拆成"选择工具、填参数、读返回"三步。
三个不同作者反复讲的东西,大概率就是共识。共识抓出来,框架就有了。剩下的细节是噪音,不影响你判断方向。
这个动作有个反直觉的地方:同时看三个,比专注看一个慢。但你三天后回头查东西的时候,命中率差很多——单看一个仓库,你只记住那套说法;看三个,你记住的是三套说法里重合的那部分。
第二步,抽象,然后还原。
抽象是从具体做法里提取规律,还原是把规律放回新场景里用。缺了抽象,你手上就只是抄来的代码;缺了还原,你手上就只是背下来的道理。
举个数钱的例子。
教程里手写的 ReAct 循环大概长这样:
whilenotdone:action=llm(prompt,history)result=tools[action.name](**action.args)history.append(action,result)done=llm.judge(history)=="FINAL"抄完这段,抽象一次。抽象出来的是什么?
是"模型只负责决策,副作用交给确定性代码;每一步的结果都回灌进历史,历史是唯一的状态载体"。
就这三句。能背下来了。
然后还原。拿企业工单场景试:
读工单文本(模型决策)→ 查工单表(确定性代码执行)→ 把查到的字段回灌进历史(状态更新)→ 判断信息够不够,不够就继续查下一个字段。
一还原,问题全出来了。
"判断信息够不够"这一步,原版是让模型自己输出一个 FINAL 字符串。可工单场景里,模型会因为没找到想要的东西就急着收尾。这时候done不能交给模型判,得让代码判——查了三个字段还是空,就返回缺什么,让它去问用户要。
这一改,就已经不是抄了。这是从规律里长出来的东西。
**这段改造过程,才是"学"本身。**跳过它,抄完的代码在你手里,规律不在。
第三步,往新场景里练。
提炼出的规律管不管用,只有拿新问题去试才知道。
我的做法是给自己限定:每次只加一个新维度。第一次只跑通循环,不管错误处理。第二次加超时和重试。第三次加上下文压缩。第四次加评估——建一个 20 条的小数据集,每次改动都跑一遍,看通过率掉了还是涨了。
第四次开始才真正要命。之前三次都以为自己懂了,直到加了评估才发现第三次那套上下文压缩策略,让通过率掉了一大截——改之前觉得自己在优化,改之后才发现是在丢信息。
规律要放到新问题里试过,才算长在身上。
八万星和一万星,都可能是刻舟求剑
上面这套动作有个前提:你的教程得是活的。
而这件事经常不成立。
我顺手查了几个常被推荐仓库的最后一次提交时间,结果有点扎心。
某大模型路线图仓库,八万三千多星,最后一次提交是 2026 年 2 月。某提示工程指南,七万九千星,2026 年 3 月之后没动。Chip Huyen 那本《机器学习系统设计》,一万零七百星,最后一次提交是 2023 年 4 月。
对比一下同星量级的另一个:Datawhale 那本《从零开始构建智能体》八万两千多星,上周还在提交。
差在哪儿?差在作者是不是还在这个领域里干活。星数反映的是"过去有多少人收藏",跟"现在还准不准"完全是两件事。
这就是刻舟求剑。
楚国人坐船过江,剑掉水里了,他在船边刻了道痕。到了岸边跳下去,什么也没捞到。你按 2024 年的写法学 Function Calling,今天发现模型早就换了接口。这不是教程作者的错——他写下的时候,那是对的。
**所以判断一个仓库该不该学,先看它最后一次提交,再看它讲不讲失败模式,最后才看星数。**这个顺序反了,你会把大量时间花在已经过期的写法上。
还有个更省事的办法:找到那个仓库里讲得最含糊、最像官方文档套话的部分。那通常就是作者自己也没在生产里踩过的地方。
别把思考外包出去
最后说个最容易出事的点。
学 Agent 的人,往往一边学一边让 AI 帮自己学。这很自然——反正有个能秒答的东西。
问题出在,你让 AI 替你总结了八万星教程的要点,自己看完觉得懂了。但你不知道它省略了什么,也不知道它编了什么。等你遇到那个它没讲、也没编、而你也没意识到要问的地方,就卡住了。
同样的道理,在写代码时更明显。
如果你连"这个循环该在哪停"都想清楚了,让 AI 帮你把手写的 ReAct 改成异步的,效率很高。但如果连循环为什么要在那里停都没想过,让 AI 帮你从零写一个,你拿到的就是一段你没验证过的东西。
执行这件事越来越便宜,判断这件事越来越贵。
把归纳、抽象、判断留给自己,把编码、查文档、跑实验交给工具。这条线划反了,你会发现自己越来越快,也越来越浅。
最后的话
收藏夹里的教程,现在还在。
但用法变了。不再是从头读到尾,而是当字典:碰到具体问题,翻到对应那一节,看它有没有讲失败——如果没讲,就不信它这一段。
学得快和学得对,不是一件事。
快的动作是抄。抄一个仓库,半天就完。慢的动作是提炼:把抄来的东西拆开,还原到自己的场景里,撞一次墙,撞完再改。
前者让你今天感觉不错。后者让你三年后还有东西可以拿。
参考资料
- Datawhale / hello-agents:《从零开始构建智能体》 — 五部分十六章,涵盖经典范式、上下文工程、MCP/A2A、Agentic RL、评估
- microsoft / ai-agents-for-beginners — 18 节课,设计模式、生产部署、协议、安全,支持简体中文
- huggingface / agents-course — 单元式课程,每章带练习
- Shubhamsaboo / awesome-llm-apps — 一百多个可运行的 Agent 与 RAG 应用,适合还原练手
- chip Huyen / machine-learning-systems-design — 系统设计视角
作者:唐悦玮 | 从后端出发,用 AI 拓展到全栈的工程师。