DeerFlow 把 Agent 的壳扒了
70K Star 的 Super Agent Harness,从会聊到真干活
钩子
上周我让某个 Agent 框架帮我写个爬虫,它跑了三分钟,特自信地回我「搞定了」。我兴冲冲打开看——依赖没装、代码没提交、连测试都没跑。
说白了,这不是模型拉胯,是这层「壳」只让你看见聊天框,背地里到底有没有真正的手,你根本看不见。
2026 年 8 月,字节的 DeerFlow 2.0 冲到了 70K Star。它干的事很简单,也很狠:把 Agent 的聊天框外壳扒了,露出底下那套能读写文件、能跑沙箱、能记长期记忆的运行内核。这篇文章,拆的就是这套内核。
一、从「会聊」到「真干活」
讲道理,现在市面上九成的 Agent 还停在「你问一句我答一句,顺手调个 API」的阶段。DeerFlow 2.0 偏不这么玩。它从零重写的,README 里直接写了一句大实话:跟 1.x 一行代码都不共享。人家把定位从 Deep Research 框架,直接抬成了Super Agent Harness——说白了一个能让 Agent 真正把活干完的运行时。
1.x 和 2.0 的差距,不是参数微调,是物种级别的:
| 维度 | DeerFlow 1.x | DeerFlow 2.0 |
|---|---|---|
| 定位 | Deep Research 框架 | Super Agent Harness |
| 能力 | 搜索 → 阅读 → 总结 | 沙箱执行 + 记忆 + 技能 + 子 Agent |
| 任务类型 | 单次研究报告 | 分钟到小时级长任务 |
| 输出 | Markdown 报告 | 文件、网站、PPT、代码、图片、视频 |
| 架构 | 脚本串联 | 三层架构 + 14 层中间件 |
一句话:1.x 是「告诉你怎么做」,2.0 是「直接做给你看」。中间差的不是模型,是一整套运行环境。
二、三层架构 + 14 层中间件
DeerFlow 2.0 建在 LangGraph + LangChain 上,代码严格分成两层:deerflow.*(能发布的框架包)和app.*(不发布的应用代码)。硬规则很干脆:App 能 import deerflow,deerflow 绝不能反向依赖 App——这条边界由 CI 强制,谁都别想破。
这架构里最让我感兴趣的,是那 14 层中间件。不是平铺的拦截器,是严格排好序的洋葱模型,顺序直接写死在代码注释里——你敢颠倒一下,真会出 bug。举个例子:SandboxMiddleware要用thread_id,而thread_id是ThreadDataMiddleware注入的。洋葱模型「进去时由外到内、出来时由内到外」的特性,让外层在退出阶段能读到内层刚塞进去的数据。这顺序不是靠文档口头约定,是靠执行模型本身保证的。
LoopDetection(滑动窗口 hash 检测重复工具调用)和SubagentLimit(默认并发 3)这俩是生产环境的关键防线。没有它们,Agent 轻则陷入死循环,重则并发炸成一片。
三、子 Agent 并发:不让 LLM 做它不擅长的事
复杂任务不适合一次性处理。DeerFlow 的解法很直接:拆。Lead Agent 调个task_tool,动态拉起一堆子 Agent,各自有独立上下文、工具、终止条件,能并行就并行。
关键工程点在于轮询对 LLM 是无感的。传统 multi-agent 让 LLM 自己轮询「任务完了没」,既烧 token 又容易走神。DeerFlow 把轮询整个封装进task_tool内部:
对 LLM 来说,task()就是个同步调用:发出去,结果回来。它根本不需要知道子任务跑了多久,更不会因为轮询产生额外推理成本。还有个狠细节:子 Agent 被硬编码了subagent_enabled=False——拿不到task工具,没法派生孙 Agent。这是防递归的硬闸,断得干干净净。
四、补充:开源圈的「水电煤」
你以为就 DeerFlow 在搞这套?还真不是。2026-08-03 那天我刷 GitHub Trending,前 15 名里 8 个是 AI Agent 项目(占 53%)。而且它们不全做同一件事,是均匀铺开了 Agent 基础设施的三层:
Skills(技能标准化)、Radio(协作通信)、Memory(团队记忆)——这三层就是 Agent 时代的「水电煤」:可复用、可组合,谁都绕不开。当基础设施开始分层,说明一个领域真的成熟了。
五、harness 在演化:从静态到自演化
再把镜头拉远点看。2026 年这波 Agent 工程化,脉络其实特别清楚:
Anthropic 那篇《Building a C compiler…》把多 Agent harness 推到了真实长任务的极限:16 个并行 Claude 实例,近 2000 次 Claude Code session,$20000 API 成本,写出能编译 Linux 6.9 的 10 万行 Rust C 编译器。核心经验不是模型多强,是 harness 设计——用current_tasks/写文件抢锁,防止两个 Agent 撞同一个任务,让 Agent 在容器里自己定向。
更前沿的是 Living-Harness(arXiv 2607.26598)。它盯着一个真问题:静态 harness 部署后就不改了,导致同类失败跨任务反复出现。它的解法是把每次执行轨迹 + 评测信号转成后验证据,写两种程序性知识——episodic memory(触发条件 / 失败模式 / 恢复动作)和 state graph(状态节点 / 修复边 / 转移规则)。工具与基础上下文冻结,程序性修复跨周期累积。
8 个交互环境上,Living-Harness 把平均 Pass@1 比最强基线提升了 10.07 和 9.91 个百分点。这说明 harness 本身,正在从「静态配置」变成「能累积经验的状态机」。
作者观点
我的判断:2026 年 Agent 的竞争焦点已经不在「模型谁更强」,而在「谁给 Agent 穿上了能干活的执行环境」。DeerFlow 2.0 真正的创新,不是 LangGraph 编排本身,是把沙箱、记忆、技能、子 Agent 当成一等公民塞进运行时;大多数只会「聊天框 + 工具调用」的框架,本质是裸奔。这话可证伪——如果未来半年涌现的 killer Agent 应用大多基于裸聊天框而不是完整 harness,那我就错了。但目前的信号(70K Star、Anthropic 的极限工程、Skills/Radio/Memory 分层)全都指着 harness 工程化这条线。
小结
- 今晚就能做的:把你正在用的 Agent 框架扒开来数——它有真沙箱隔离吗?有跨会话记忆吗?有技能系统吗?三条缺两条,它就在裸奔。
- 这周能做的:读一遍 DeerFlow 2.0 的 14 层 Middleware 顺序,重点看 LoopDetection 和 SubagentLimit 怎么挡死循环和并发爆炸。
- 看趋势必看的:arXiv 2607.26598(Living-Harness)——harness 从静态配置走向自演化状态机,这是下一个半年最值得盯的方向。
互动段
你手头的 Agent 项目,是穿了衣服还是裸奔?评论区说一声,下一篇我可以挑一个你们常用的框架,照着 DeerFlow 这套标准拆一遍,看看它到底几斤几两。
来源
- 字节 DeerFlow 2.0 源码拆解:14 层 Middleware、Sub-Agent 并发、结构化记忆 —— 掘金,核心工程素材(中文一手)
- DeerFlow 2.0 深度拆解:字节 70K Star 的 Super Agent Harness —— cnblogs,总览与三层架构(中文一手)
- Building a C compiler with a team of parallel Claudes —— Anthropic 工程博客,16 并行 Claude 真实长任务
- GitHub Trending 前 15 有 8 席是 AI Agent:Skills+Radio+Memory 成水电煤 —— CSDN,基础设施分层视角(中文一手)
- Living-Harness Is an Interactive-Agent Evolver —— arXiv 2607.26598,自演化 harness 学术支撑