给 AI 搭一套能干活的脚手架,开源教程《Deep Agents 实战》我读完了

小岛AI 2026 / 06 / 21

昨天刷到一条推,是 LangChain 官方认证大使邵猛(@shao__meng)发的,说有个叫张海立的人,开源了一套教程,名字叫《Deep Agents 实战》。

我点进去看了一眼大纲,然后就有点坐不住了。

倒不是因为它讲了什么惊天动地的新东西。恰恰相反,我坐不住,是因为它把一件我天天在干、却很少有人愿意正经写出来的事,认认真真地拆成了八章,还配了课程网站、B 站视频、配套代码,全部开源(github.com/datawhalechina/deepagents-in-action)。

这件事是什么呢,就是给 AI 搭脚手架。

先说为什么是「脚手架」这三个字让我没绷住

我得先解释一个词,不然后面没法聊。

这套教程里反复出现一个概念,叫 Harness。直译过来是「马具」「套件」,在 AI 圈里你可以理解成给大模型搭的那层脚手架,是让一个光会说话的模型真正能干活的工程层。模型本身就像一个特别聪明但被关在小黑屋里的人,你问它它能答,但它没手没脚,看不见文件,记不住上一轮聊了啥,干不了连续三步以上的活。Harness 干的事,就是给它装上手脚、眼睛、记事本、还有一个能喊停的看门狗。

我之所以对这个词敏感,是因为这正好是我日常工作的那摊事。给 agent 配工具链、做评测、搞调度、管上下文,让模型从「能聊天」变成「能交活」。所以当我看到一套中文教程,标题直接把 Harness 摆在 C 位,还说这是本课的主角,我第一反应是,好家伙,终于有人把这层讲明白了。

为啥我会有这种「终于」的感慨。

因为过去一两年,但凡聊 Agent,大家的注意力全在两个地方。一个是模型,GPT 又强了,Claude 又能打了,DeepSeek 又便宜了。另一个是框架,LangChain 怎么用,谁家的 SDK 更优雅。可真正决定一个 Agent 在生产环境里能不能跑、会不会半路暴毙的那层,反而最少人讲。它太脏、太琐碎,全是失败重试、超时、token 预算这种没法发朋友圈炫耀的活儿。

张海立这套教程,偏偏就盯着这层下手。这是我愿意花一晚上把大纲读完的根本原因。

三层架构,这个分法我是真服了

教程开篇就抛了一个特别清爽的模型,把 Agent 开发分成三层。我看到的时候愣了一下,因为它把我脑子里一团乱麻的东西,理出了一条特别干净的线。

最底下是 Runtime,运行时,用的是 LangGraph。这层管的是最硬核的执行问题,持久化、断点恢复、流式输出、人机协作。说人话就是,你的 Agent 跑到一半断电了能不能接着跑,跑的时候你能不能实时看到它在干嘛,关键步骤要不要停下来等你点个头。

中间是 Framework,框架,用的是 LangChain。这层做的是抽象,把不同模型的接口、工具的调用方式、Agent 的那个「想一步、做一步、再想一步」的循环,统一包起来,你不用关心底下接的是 GPT 还是 Qwen。

最上面才是 Harness,套件,也就是 Deep Agents 本体。它预置了一堆开箱即用的能力,文件系统、任务规划、子 Agent、长期记忆。

你品一下这个分法。Runtime 是地基,Framework 是承重墙,Harness 是已经装修好能直接住的样板间。以前我们写 Agent,相当于每次都要从地基开始浇水泥,光是把一个能记住中间结果、能拆任务、能派活给小弟的 Agent 搭出来,就得折腾好几天。Deep Agents 干的事,就是把样板间直接给你。

我是真的觉得这个三层模型比很多大厂 PPT 上的架构图实在。它没有那种「数据飞轮驱动智能涌现」的空话,每一层对应一个你真会踩的坑。

整套东西的命门,在「虚拟文件系统」

如果说这套教程只让我记住一个点,那一定是第三章讲的虚拟文件系统。教程里把它叫做 Deep Agents 的上下文工程核心,我看完觉得这个定位一点不夸张。

上下文工程(Context Engineering)这个词,圈外的朋友可能没听过,我用大白话解释一下。大模型每次能「看」的内容是有限的,就像一张桌子就那么大,你往上堆资料,堆满了它就看不过来了,甚至会把重要的东西挤掉。上下文工程,就是研究怎么管理这张桌子,让模型在每一步只看到它当下真正需要的东西,不多不少。

这事儿听着简单,做起来要命。一个稍微复杂点的任务,比如让 Agent 帮你读十个文件、总结、再写一份报告,你要是把十个文件一股脑全塞进上下文,模型当场就被淹了,要么变慢,要么变笨,要么直接超出窗口报错。

Deep Agents 的解法,是给 Agent 引入一个虚拟文件系统,让它像人一样工作。

你想想看你自己是怎么处理一堆资料的。你不会把十个文档全摊在眼前同时盯着看,你会需要哪个翻哪个,看完做点笔记记下来,太长的文件你就翻到那一页看那一段。Deep Agents 就是把这套人类的笨办法教给了 Agent。

Agent 像人一样按需翻文件、随手记笔记

它给 Agent 配了六个工具,read_file、write_file、edit_file、ls、glob、grep。是的,你没看错,就是程序员每天在命令行里敲的那几个。需要某个信息的时候才 read_file 按需读,产生的中间结果 write_file 落盘存起来,遇到大文件用 offset 和 limit 只读其中一段。这样一来,模型的那张桌子上永远只放当前这一步需要的东西,剩下的全在「硬盘」里待着。

我看到这段的时候,没忍住笑了一下。

因为这套思路,跟 Claude Code、Codex 这些编程 Agent 的做法几乎是一模一样的。它们能在一个有几百个文件的大项目里改代码而不犯晕,靠的就是不把整个项目读进脑子,而是用 grep 搜、用 read 局部看、改完 write 回去。Deep Agents 等于把这套已经被验证过的工程实践,提炼成了一个通用框架,谁都能拿去用。

更骚的一点是,这个文件系统是可插拔的。后端可以是内存、本地磁盘、数据库、远程沙箱,甚至混着来。今天你在自己电脑上调试用内存,明天上生产换成数据库,Agent 那边的代码一行不用改。这种设计上的克制和留白,有点子牛逼。

从「会读文件」到「会派活」,这条进化线很讲究

教程把 Deep Agents 的四个核心能力,排成了一条特别有讲究的进化线。我顺着它的顺序聊,你会发现这个排列本身就是一种教学设计。

第一步是刚才说的虚拟文件系统,解决的是 Agent 怎么管理自己手头的信息(第三章)。

第二步是任务规划,第四章,引入一个叫 write_todos 的工具。这个就更有意思了,它让 Agent 学会把一个复杂任务拆成一条待办清单,然后一项一项追踪着做。这步为什么重要,因为模型天生是个急性子,你给它一个大任务,它容易上来就猛干,干到一半忘了自己原本要干嘛。write_todos 相当于逼它先列个 to-do list 贴在墙上,做一项划一项。我们人类对付拖延症和健忘的土办法,又一次被搬给了 AI。

第三步是子 Agent 委派,第五、第六章。到这儿就开始有点系统的味道了。主 Agent 可以通过一个 task 工具,把某个子任务派给一个专门的子 Agent 去干。

这一手解决的是一个特别现实的问题,上下文隔离。

打个比方,你是个项目负责人,手里有个大活。你不会自己一个人把所有细节都装在脑子里,你会把「去查竞品资料」这种脏活累活丢给实习生,让他自己埋头去搜去整理,最后只把一页结论交给你。实习生搜资料过程中翻过的那几百个网页,你压根不需要知道,那些信息要是全涌到你脑子里,你早就爆了。

子 Agent 就是这个实习生。它在自己独立的上下文里干活,把中间那一大堆乱七八糟的过程消化掉,只把干净的结果回传给主 Agent。主 Agent 的那张桌子,因此能一直保持清爽。

主 Agent 把活派给几个隔离的子 Agent,各干各的只回传结论

而第六章更进一步,引入了异步子 Agent。这就好比项目负责人同时派了三个实习生,分别去查三件事,三个人并行干,谁先干完谁先回来交活,而不用排队一个一个来。对追求效率的场景,这是质变。

第四步是 Skills,第七章,这个我得单独拎出来多聊几句。

一张图看懂整套教程的三层架构、六大工具与章节脉络

Skills 这一章,戳到我了

Skills 的定位,教程里有句话我特别喜欢,说「Skills 之于 AI Agent,就像 npm 包之于 Node.js」。

我看到这句的时候,心里咯噔一下。

因为这个类比太精准了。我们写 Node 程序,从来不会自己从零实现一个日期处理库,npm install 一下,全世界的人帮你写好的轮子直接拿来用。Skills 想干的,就是让 Agent 的能力也变成这种可以打包、可以分享、可以复用的东西。你写好一个 Skill,别人能直接装上用,你也能把别人写的 Skill 拿过来。

最关键的是,这套 Skills 遵循的是一个开放的 Agent Skills 规范。意思是你照着这个规范写出来的 Skill,不光能在 Deep Agents 里用,还能在 Claude Code、Cursor、Codex 这三十多个工具里通用。

这一点的分量,可能不做这行的朋友感受不到,我多说一句。

AI 工具这两年最大的痛点之一,就是各家一套标准,互相不通。你在这个工具里攒的一身本事,换个工具全得重来。而一个能跨三十多个工具通用的开放规范,意味着你今天写的东西,明天不会因为你换了个 IDE 就报废。这种东西在一个还在野蛮生长、天天有新框架冒出来的领域里,珍贵得不得了。

坦率讲,我自己平时就在攒这种可复用的能力包,攒的过程里最怕的就是为某一个工具定制,结果那工具一更新或者一凉,前功尽弃。所以看到有人正经把开放规范这件事写进教程、还手把手教你怎么写,我是真心觉得棒棒的。

第八章是长期记忆,让 Agent 能跨越单次对话记住东西,这块也是 Agent 走向实用的必经之路,教程同样有覆盖,限于篇幅我就不一一展开了,感兴趣的去看课程网站

它不只是讲道理,是真能让你跑起来

聊了这么多设计思想,你可能会觉得,是不是又是一套停留在 PPT 上的漂亮概念。

不是。这也是我愿意推荐它的另一个理由。

教程在正式开课之前,专门有两个准备篇,基于一个叫 AgentSeek 的工程化套件,帮你把开发环境先搭起来。一个 agentseek create 命令拉个模板应用下来,前后端能联调跑通;一个 agentseek skills 命令,给你的 AI 编码助手装上 LangChain 的工程经验。它甚至还推荐你装两个配套技能,一个叫 langchain-dev-guide 专门帮你避工程陷阱,一个叫 langsmith-trace 帮你做追踪调试。

这种「我先把环境给你铺平,你别在配置上卡一整天」的体贴,是真正下场带过新人的人才会有的。我太知道一个初学者是怎么死在第一步的了,不是死在不理解概念,是死在 pip install 报了个红,搜了俩小时没搞定,然后默默关掉了 IDE。

还有个细节我得提一句,关于模型选择。教程很实在地告诉你,入门跑通用免费的小模型就行,但一旦到了任务规划、多子 Agent 编排这种复杂场景,小模型往往跑不稳,得换成更强的模型。它没有跟你画那种「随便什么模型都能起飞」的大饼,而是老老实实告诉你哪里会卡、卡了该怎么办。这种坦诚,比什么都值钱。

官方文档那边也跟得很紧,教程里特意标了版本号,说讲的是 Deep Agents 0.5 以上版本,某些进阶功能比如权限控制,还得 0.5.2 甚至 0.6.8 以上才有(Deep Agents 官方文档)。一个把最低版本号都给你标清楚的教程,作者是真在维护它,而不是发完就跑。

写在最后

我合上电脑的时候,已经是深夜了,窗外下着雨,机械键盘的声音停下来之后,屋里安静得有点过分。

我突然想起刚入行那会儿,我以为做 AI 就是调模型,把参数调对,把 prompt 写漂亮,活就成了。后来真到了生产环境才发现,模型只是那个聪明的脑子,真正累人的、也真正决定成败的,是脑子外面那一整套让它能站稳、能干活、能扛住意外的工程。是脚手架,是马具,是 Harness。

这套《Deep Agents 实战》打动我的,不是它讲了多前沿的算法,而是它愿意俯下身,把这层最不性感、却最要命的工程,一砖一瓦地讲给想入门的人听。它讲的虚拟文件系统、任务规划、子 Agent、可复用的 Skills,没有一个是花架子,全是让 Agent 从 demo 走向能用的那几道坎。

是谁来自山川湖海,却囿于昼夜厨房与爱。我们这些写 Agent 的人,每天面对的也是这样一组落差,一边是模型那片辽阔得让人兴奋的能力海洋,一边是要把它装进一个能在凌晨四点扛住报警、不出岔子的具体系统里。中间这段路,又远又琐碎,但有人愿意把它修成一条带路标的路,本身就是件值得高兴的事。

如果你也想搭自己的 Agent,又一直觉得无从下手,我真心建议你去这套教程里走一遭,从那个 5 分钟的快速上手开始(第二章)。全套开源,代码、视频、文档都齐了,连算力都给你想好了门路。

它不会让你一夜变成高手。但它至少能让你跑通第一个真正属于自己的 Agent,亲手把脚手架搭起来的那一下,那种感觉,挺好的。

原推在这儿,作者也都标了出处,想看一手信息的可以去翻 @shao__meng 的这条推