随笔 / AI 与 Agent

DeepSeek Harness 真正开源的不是代码,是替换权

· DeepSeek AI/Agent Harness 开源生态

DeepSeek Harness 开源,所有人都在讨论"一切皆插件"。我的判断是:这件事真正激进的地方不是插件数量,而是官方实现被降格成了一种可替换的默认插件。它开源的不是又一个 Coding Agent,而是 Agent 的组装权和改写权。

这两天 DeepSeek 又刷屏了。不是新模型,是 Harness:前几天还在各个群里内测的 DeepSeek Harness,直接以 MIT 协议开源了,官方介绍就一句话,Everything is a Plugin。

讨论最凶的也是这句话。它把模型适配器、工具、Session、Sandbox、UI 全部做成了插件,连 Agent Loop 这种最基础的部分都是一个可以被替换的 Provider。有人觉得这是架构理念的一次升级,也有人觉得这是为了新奇而新奇,过度设计。

我的判断是:争论"插件多不多"基本没打到点上。这件事真正激进的地方,是 DeepSeek 把官方实现本身也降格成了一种默认插件。传统 Harness 给生态的是扩展槽位,你可以在我画好的核心旁边加东西;DeepSeek Harness 给的是替换权,你不用 Fork 整个项目,就能把官方的核心实现换成你自己的。

它开源的不是又一个 Coding Agent,而是 Agent 的组装权和改写权。

先看时间顺序,再看产品

很多人觉得这是 DeepSeek 终于下场做 Coding 产品了。也正常,Claude Code、Cursor,国内的 Kimi、MiniMax 早就有自己的 Harness,DeepSeek 一直是产品端最克制的那个。

但有一个细节比产品本身更说明问题。7 月 31 日 V4 Flash 发布时,官方更新日志里有一条注记:公开 benchmark 里的 Code Agent 任务,是用当时"尚未发布"的 DeepSeek Harness minimal mode 跑的,连 max effort、top_p、temperature 这些参数都写明了。换句话说,Harness 在成为公开产品之前,早就是 DeepSeek 内部衡量 Agent 能力的实验装置。先有内部装置,后有公开产品。

插图:同一台风洞先关起门测自己的模型,再开门给所有人用

这个顺序很重要。模型进入 Agent 阶段之后,一个模型在真实任务里表现出什么能力,越来越不是权重单独决定的,而是模型、工具 schema、上下文管理、重试机制、Loop 结构共同决定的。DeepSeek 已经不能只扔一个模型权重出来,然后把外面的运行方式交给别人。从这个角度看,做 Harness 算不上产品线扩张,它更像把模型研究必需的实验台做完之后,顺手开源给了整个行业。

这也对得上梁文锋在公开采访里一贯的说法:数学和代码是 AGI 的天然试验场,因为它们相对封闭、可验证。Coding 不是 AGI 的终点,但它是 AGI 最理想的风洞:行动可执行,结果可验证,失败可回放,反馈足够密。要在风洞里做实验,先得有一台自己的风洞。

一切皆插件,新在替换权

再说回架构本身。"Harness 加插件"不新鲜。Claude Code 有 Skills、MCP、Subagents、Hooks,Cursor 有自己的扩展面,OpenCode 的插件甚至能深度介入运行过程。插件可以影响 Agent 行为,这件事不是 DeepSeek 首创。

真正的差别在于,官方实现有没有架构特权。传统产品的姿态是:核心是我的,插件围绕核心生长。DeepSeek Harness 的姿态是:现在的核心能力,本身也只是一种默认配置。一个运行中的 DSH,是启动时由多层配置组合出来的一棵插件树。官方文档说得很直白:不存在一个需要被打补丁的特权核心。

可以把开放拆成三层来看。第一层是阅读权,你能看到源码。第二层是参与权,你能给官方产品补充能力,大多数插件生态停在这一层。第三层是替换权,你能用自己的实现换掉官方实现,而且第三方实现在架构上并不天然低人一等。DeepSeek 这次想做的,是把开放从参与权推到替换权。

插图:官方核心模块也可以被拔下来换成第三方实现,机器照常运转

当然,一切皆插件不等于没有内核。内核还在,只是退到了另一层:Cordis 微内核管插件的挂载、卸载和依赖,Service 和事件契约管部件之间怎么对话,再加上一条 append-only 的 Session 事件流。这条事件流可能是整个设计里最值钱的东西:系统提示词、上下文注入、模型输出、工具调用和结果,全部进入同一条日志,模型能看到的内容必须能从日志重建,恢复、分叉、回放、遥测都建立在它上面。连上下文压缩都不删原始历史,只是用一条 replacement 事件改变模型之后看到的"表面"。

不是没有内核,而是内核从业务逻辑退到了治理协议。Agent Loop 不再是宪法,它只是当前默认的执政方案。

真正稳定的东西变成了另外一些:怎么替换一个 Loop,怎么记录它做过什么,怎么在替换之后仍然能恢复、审计和回放。

Obsidian 的类比,对一半

这个设计给我的第一反应,是想起 Obsidian。

Obsidian 的内核很薄,大量体验是插件生态长出来的。一个日历插件、一个 Dataview,对用户的价值完全可能比官方功能更大。我自己用的时候就有这种感觉:很多时候,某个插件比那层薄薄的内核更重要。

但仔细想,这个类比只对一半。Obsidian 的插件生态极其繁荣,内核却始终闭源。它证明的是"稳定内核、变化外围"可以成立:内核不动,外围长出百倍于内核的价值。DeepSeek Harness 想做的是另一件事:稳定协议、变化产品。协议和治理规则稳定,跑在协议上的具体实现,包括官方自己的那一个,都可以被换掉。

插图:一种楼只换阳台上的花草,另一种楼整层都能换,只留下地基和规范

这也是我认为"一切皆插件"才是真开源的原因。这里的开源不只是"我把东西放出来",而是"我允许你贡献的部分,在某些场景下比我的内核更重要"。代价是官方主动放弃中间内核的地位。从梁文锋过去的公开表态看,这种放弃是自洽的:如果开源是通往 AGI 必须的,那就开源;如果 Harness 是必须的,那就做 Harness。理念不是发布会包装,是按最初的目标设计路线。

别急着喊数据飞轮

一个流传很广的猜测是:DeepSeek 做 Harness 是为了数据,通过生态源源不断回收独有的 Agent 数据。

我觉得这个猜测要明显收敛。DSH 是 local-first 的:输入、输出、Session 上下文、工具调用日志,默认都留在本地,未经用户同意不上传。在这种情况下,说它建立了"生产高质量 Agent 轨迹的能力"成立,说它自动获得了这些轨迹,不成立。

它真正在争的,不是数据所有权,而是数据语法权。什么叫一次 Turn,什么叫一次 Step,什么事件必须进日志,工具调用怎么表达,失败怎么分类和回放。这些概念的定义权,会进一步决定下一代 Agent 的 Eval 怎么设计、失败样本怎么清洗、后训练用什么格式、Reward Model 按什么单元打分。

我在《别再迷信 Agent 框架了》里写过一个判断:框架的长期价值会被模型的后训练压缩,但轨迹数据工厂会升值。DeepSeek Harness 把这件事做得更彻底:它不只生产轨迹,还试图定义轨迹的语法。谁定义了语法,谁就在定义下一代 Agent 能力的度量衡。这比回收数据高级,也比回收数据隐蔽。

泼两盆冷水

第一盆给"一切皆可替换"。这在接口层面成立,在模型行为层面未必。模型表现会被大量细节影响:工具名称和描述怎么写,错误信息怎么措辞,Turn 和 Step 的边界在哪,上下文怎么压缩。V4 Flash 的 benchmark 要指定 Harness minimal mode 和具体采样参数,本身就说明模型能力没法完全脱离运行环境单独描述。能接上,是接口兼容;能发挥出能力,是认知兼容。第三方 Loop 接得上不代表跑得好;几个插件各自优秀,组合起来性能掉了,归因都是难题。插件化解决的是可组合性,同时可能制造组合爆炸。

这也呼应我在《循环的灵魂在循环之外》里的体验:Loop 本身不难写,难的是 Loop 之外的完成判断和外审机制。当 Loop 变成人人可换的插件,"换掉之后拿什么判断换得更好了",会变成生态里最稀缺的资产。

第二盆给"自由拼装"的想象。内测几天,用户就写了差不多三百个插件,AI Coding 让插件的首次开发成本低到可以忽略。但插件越容易写,优质插件的识别成本就越高。敢不敢装、出了问题能不能定位、升级之后还能不能跑,这些成本一点没少。绝大多数用户并不想研究 Loop 和 Sandbox 的区别。用户不需要热爱灵活性,用户只需要有人替他吸收灵活性带来的复杂度。

所以我判断,这个生态未来真正重要的产物不是插件市场,而是 Distribution:少数开发者生产底层组件,一批集成者把组件组合成经过验证的稳定方案,大多数用户直接消费官方或第三方的标准组合。DSH 自己的 Profile 和 Preset 两级机制,已经在往这个方向走。底层越开放,上层越需要有主见的默认值。

插图:零件再多,用户要的是有人挑好装好的那只工具箱

对我们自己的系统有什么可抄的

如果你在做企业的 Agent 平台,最值得抄的不是"一切皆插件"这个形态,而是它背后的分层判断:什么应该稳定,什么应该可替换。

稳定的是身份、权限、审计、事件日志、生命周期和能力契约,这些是宪法。可替换的是模型、Loop、Memory、Context 策略、工具和 Sandbox,这些是执政方案。面向开发者给足组合自由,面向业务用户给有主见的标准配置。在建插件市场之前,先建兼容性测试、轨迹观测和失败归因。

DeepSeek Harness 现在还只是开发者预览,核心插件和 API 都还会变,它会长成什么样没人知道。但它把一个判断摆上了台面:模型公司只控制模型,就没法完整研究智能;Harness 只控制 Harness,就决定不了模型能力。把两者放进同一个可实验、可替换、可回放的系统里,这件事本身比任何单个插件都重要。

真正成熟的 Agent 平台,不是把所有东西都做进内核,也不是把所有东西都扔给插件,而是知道哪些东西属于智能,哪些东西属于宪法。

订阅 / 联系

下一篇继续从这里接上

新文章会同步到 RSS;也可以直接发邮件给我。