从固定浇筑大楼到可拼接乐高
8 月 13 日,DeepSeek 正式对外开放 DeepSeek Harness v0.1 开发者预览版,项目推出后热度迅速攀升,截至 8 月 14 日下午,该项目在 Github 上已经收获了 4.5 万星标。比起 DeepSeek 又推出了一个新的 Coding Agent,这次项目里最值得探讨的,其实是 DeepSeek 给 Harness 定义的全新核心逻辑:一切皆插件。
在 DeepSeek Harness 之前,行业里的 Harness 更像一栋已经浇筑完成的固定大楼,遵循的是「核心 Harness+ 外挂插件」的固定结构。用户只能在外围扩展能力,比如增加技能、接入 MCP 这类外部工具,但工具调用逻辑、会话管理、沙箱运行、数据存储乃至 Agent Loop 这类底层运行机制,早就由开发厂商提前搭建封装,普通开发者根本没办法直接修改这些核心部分。
而这次 DeepSeek Harness 直接把这栋固定大楼拆成了一盒可自由拼接的乐高:不止外围能力可以做插件化改造,连 Model Adapter、Tool Registry、Session Log,甚至 Agent Loop 这种传统意义上的核心组件,全部都做成了可插拔的插件。也就是说,DeepSeek Harness 从根本上取消了核心 Harness 和外挂插件的区别,整个 Harness 本身就是由不同插件拼接出来的。
01 核心框架 Cordis:解决自修改不崩盘的问题
为什么 DeepSeek 要连核心组件都做成插件?DeepSeek 给出的目标非常明确:实现能够自我进化的 Self-Evolving Agent Harness。
当所有组件都可以插拔替换,Harness 就不再只能调用预先固定好的能力,而是可以在运行过程中生成、替换自己的组件。Agent 除了调用 Harness 提供的能力,甚至可以主动检查、挂载、修改自己的运行环境(Runtime)——这才是真正意义上的 AI 自进化的基础。
但这里有一个绕不开的问题:如果所有组件都可以动态修改,怎么保证系统不会改崩了?针对这个问题,DeepSeek-AI 和北京大学的研究者联合发表了题为《A Programming Paradigm for Spatiotemporal Composability》的论文,提出了一套名为 Cordis 的动态组件框架。
其实这套机制早就已经在开源项目 Koishi 里长期运行,Koishi 本身是一个高度插件化的开源聊天机器人框架,拥有数千个社区开发的插件,而 Cordis 就是 Koishi 的底层框架,最初它解决的就是普通软件里的插件卸载痛点:插件安装后往往会留下监听器、服务进程、定时器这类残留副作用,而 Cordis 的作用就是记录这些插件产生的所有变化,在插件卸载的时候把这些副作用完整清除。
放到 DeepSeek Harness 的场景里,Cordis 核心要解决两件事,分别是时间可组合性和空间可组合性:
- 时间可组合性:简单说就是,当一个组件被卸载之后,它之前对系统产生的所有影响都要跟着一起撤销。比如一个插件注册了事件监听、占用了系统资源、修改了运行状态,那插件卸载之后,这些「副作用」必须被完整清理,让系统尽可能回到插件加入之前的状态。
- 空间可组合性:这个解决的是组件之间的依赖关系问题:每个组件可以提前声明自己需要哪些依赖能力,当提供这些能力的其他组件出现、消失或者被替换的时候,运行环境要能够重新处理依赖关系,协调相关组件的生命周期。
其实这个逻辑在 Koishi 里已经得到了验证:复杂的插件生态要动态运行,插件可以随时拔掉,它留下的影响必须跟着消失;一个提供能力的组件被替换之后,依赖它的其他插件也要能知道接下来该怎么调整。放到 DeepSeek Harness 里,这个框架的意义就非常清晰了:如果未来 Agent 真的要修改自己的 Harness,支持自定义只是第一步,更重要的是修改错了之后还能撤回,修改之后组件的依赖关系还能正常运行——这才是自进化能稳定走下去的基础。
02 Cordis 的两大核心机制:给自进化加上「后悔键」
Cordis 具体怎么实现时间和空间两个维度的可组合性?核心就是两个设计:可撤销副作用(Revertible Effects)和响应式协同依赖(Reactive Coeffects)。
第一个设计:可撤销副作用(Revertible Effects)
这个机制解决的就是组件修改运行环境之后,怎么把修改完整撤回去的问题。Cordis 要求,所有对运行上下文(Context)的修改,都必须通过ctx.effect来执行。每做一次修改,组件都要同时留下一个对应的「撤销方法(inverse)」:比如注册监听器的时候,就要留下对应的注销方法;启动定时器的时候,就要留下对应的关闭方法。
运行环境会把这些撤销方法按执行顺序记录下来,当组件被卸载的时候,系统就会按照相反的顺序逐一执行这些撤销方法,把所有修改都清干净,不会留下残留。
第二个设计:响应式协同依赖(Reactive Coeffects)
只把自己的垃圾收干净还不够,组件之间往往存在依赖关系:如果 A 组件依赖的 B 组件被移除、替换或者重新注册了,运行环境必须及时感知到这个变化,重新调整 A 组件的状态,这就是响应式协同依赖要解决的问题。
Cordis 的做法非常清晰:让每个组件提前声明自己依赖什么能力,当上下文发生变化的时候,运行环境就会重新检查所有组件的依赖是否还成立,总共分成三种状态处理:
- activating(激活):原本缺失的依赖现在出现了,组件就可以正常激活运行;
- deactivating(停用):原本存在的依赖现在消失了,组件就自动进入停用状态;
- neutral(不变):这次变化和组件的依赖无关,组件就保持原来的状态不变。
举个最简单的例子:一个聊天记录存储插件依赖数据库服务,当数据库组件加载完成,这个聊天插件就可以启动;如果数据库被卸载了,Cordis 会立刻检测到依赖失效,让聊天插件跟着退出,不会出现插件继续访问不存在服务的错误。在代码实现上,这套机制对应notify()和refresh()两个方法:只要有依赖被增加或者删除,Cordis 就会找出所有受影响的组件,重新判断它们是否应该继续运行。
除了这两个核心机制,Cordis 还有一个非常关键的结论:合流性(Confluence)。
假设一个运行环境最终只需要 A、B、C 三个组件,有两种完全不同的加载路径:一种是一开始就直接加载 A、B、C 三个组件;另一种是先装 A,再装 D,之后卸载 D 替换成 B,最终才得到 A、B、C。只要符合论文规定的可组合条件,而且系统最终稳定下来,这两条完全不同的运行路径,最终得到的系统状态是完全等价的。
这就是 Cordis 面向自进化 Harness 的核心愿景:让 Agent 可以放心大胆地不断试错,不会让试错的历史永久污染运行环境。这套机制直接解决了过去 AI 迭代里「屎山叠屎山」的问题,不管试错多少次,最终稳定下来都是纯净的终态,相当于给 AGI 的自进化装了一颗后悔药。
03 一切皆插件的代价:两个绕不开的争议
DeepSeek Harness 的架构虽然新颖,但争议也在所难免,目前主要的争议集中在两个方面:
第一,API 成本暴涨,长任务成本被放大
DeepSeek Harness 本身是开源项目,但真正要运行起来,还是离不开 DeepSeek 的模型 API。而从 8 月 17 日开始,DeepSeek 全面上调了 V4 API 的价格,我们以 DeepSeek Harness 默认使用的 V4 Flash 为例:空闲时段缓存未命中的输入价格上涨 50%,输出价格上涨 125%;高峰时段的输入价格涨到原来的 3 倍,输出价格涨到原来的 4.5 倍。而 V4 Pro 的缓存命中价格,高峰期甚至涨到了原来的 12 倍。
这个价格上涨对 Harness 类产品的影响尤其大,因为 Agent 不是单次问答,而是需要不断携带上下文、多次调用工具持续推理,很多长任务需要几十轮甚至上百轮调用。模型单价上涨之后,长任务的总成本会被进一步放大,对开发者和用户来说都是不小的压力。
第二,全量插件化可能带来组件膨胀,复杂度飙升
除了成本,还有不少网友质疑:DeepSeek Harness 把一些原本可以直接通过脚本或者代码修改完成的能力,也统一包装进插件体系,是不是增加了不必要的抽象成本?这种担忧其实是有依据的。
Cordis 的论文自己也承认,当组件拆分得越来越细,组件之间存在大量交互的时候,为了保持组件独立性额外引入的集成组件,一般情况下甚至会呈现 O(n²) 级增长。也就是说,如果插件拆分到原子级,组件之间的交互成本会呈平方级爆炸,这可能是追求工程极致的 DeepSeek 接下来要面对的最大挑战。
而且平方级膨胀带来的影响不只是组件数量变多,随着组件增加,整个系统的配置项、依赖关系,还有整个运行环境的理解、维护成本都会跟着上升,对用户来说,使用门槛也会变高。
总结:架构创新已经有了,接下来要证明价值
DeepSeek Harness 最终能不能成为成熟的自进化 AGI 框架,不能只看 Agent 能不能修改自己的 Harness,还要看这种自修改能不能真的持续提升任务表现。如果 Agent 改错之后没办法完整恢复,长期运行留下大量状态残留,或者自修改带来的复杂度和成本超过了性能收益,那它仍然只是一个非常有想象力的架构实验,还不是成熟的自进化方案。
对普通关注 AI 发展的开发者和用户来说,这套架构目前离日常落地使用还有一段距离,但它透露出的方向非常值得关注:AIAgent 已经从「调用外部工具」进化到「可以调整自身运行环境」,甚至第一次给自进化配上了可撤销的后悔药,相当于给 AI 的进化试错打开了安全闸门。至于这个创新最终会带来真正的生产力飞跃,还是只是一场昂贵的架构实验,还需要接下来更多真实场景的验证,我们可以持续关注这个方向的进展。

