8 月 13 号晚上,DeepSeek 开源了一个叫 Harness 的东西,一夜拿下五万星。

媒体齐刷刷地写:「DeepSeek 版 Claude Code」「对标 OpenAI Codex」。

这么说,是把 Harness 说小了。

先说结论:Harness 根本不是又一个编程助手,它是 Agent 的运行时 / 操作系统。 别人在卷「更好的 iPhone」,DeepSeek 在做「安卓」。搞懂这一层区别,你就理解了它所有的设计。


它到底是什么?一句话能说清

官方给了一个公式,我觉得比任何解释都准:

Model + Harness = Agent

模型负责思考,Harness 负责把思考变成动作——读写文件、跑命令、搜网页、调别的 Agent。它不卖模型,也不卖 App,卖的是一套「让模型真正干活的执行层」。

说白了:模型是大脑,Harness 是手脚加神经系统。

再往下拆一层——它不是第一个做 Agent 框架的,但它的打法跟前面所有人都不一样。


跟你熟悉的那些 Agent,不是一类东西

Claude Code、Codex、WorkBuddy,你可能都听过。它们有个共同点:是产品

  • Claude Code:Anthropic 家的 CLI 编程助手,绑定 Claude 模型
  • Codex:OpenAI 家的云端 Agent,绑定自家 GPT
  • WorkBuddy:腾讯云家的桌面 Agent,主打职场办公、开箱即用,内置多种模型可切换

你装好就能用,模型、界面、工具一条龙封装好。它们之间的竞争,是「谁家的编程助手更好用」。

Harness 完全不是这个赛道。它是开源框架,是「运行时」——模型可以换成任何一家,工具是插件、UI 是插件、连 Agent 循环本身都是插件。

Claude Code / Codex / WorkBuddy Harness
本质 产品(装好就用) 运行时 / 框架(组装着用)
模型 大多绑定自家 任意主流模型,随便换
定位 更好用的 Agent 应用 Agent 的「操作系统」
类比 更好的 iPhone 安卓

所以媒体说「对标 Claude Code」,是拿「操作系统」跟「一款 App」比。对象就比错了。

那跟 LangChain / LlamaIndex / AutoGen 这些老框架比呢?也不一样。它们是「胶水层」,帮你把模型和工具粘起来跑通一个流程;Harness 是「操作系统」,管的是插件生命周期、副作用回滚、执行轨迹这些更底层的事。一个是搭积木的胶水,一个是积木底板本身。

还有一类夹在中间——Agent SDK(OpenAI Agents SDK、微软 Semantic Kernel 这些)。它们比 LangChain 更偏运行时,但都出自模型厂商,重心天然往自家生态倾斜。

Harness 的独特之处在于:既不是胶水,也不出自任何一家模型厂商——DeepSeek 自己卖模型,却把运行时做成模型无关的,这本身就是个反差点。

在这里插入图片描述


架构拆解:为什么「一切皆插件」是它的灵魂

Harness 的核心设计主张就一句:一切皆插件。

微内核:内核「什么都不干」

Harness 底层是个叫 Cordis 的微内核。名字你可能没听过,但它做的事极简单,就三件:

  1. 加载插件
  2. 卸载插件
  3. 管插件之间的依赖

就这些。没有模型调用逻辑、没有工具注册表、没有会话管理器——所有能力,全是插件。

模型是插件,文件编辑器是插件,沙箱是插件,连 UI 都是插件。内核自己一个业务功能都不带。

你可以把它理解成 Agent 世界的「主板」——CPU(模型)、显卡(工具)、内存(存储)都是插上去的,换哪个都行,主板本身不决定你能干什么。

可逆副作用:插件「热插拔」为什么难

你可能觉得「插件化」没啥新鲜的——浏览器扩展、VSCode 扩展,不都是插件吗?

但这里有个大多数人没意识到的坑:插件能「插」,但「拔」不干净。

VSCode 不少热门扩展装了可执行代码,激活之后就没法在运行时单独卸载。想卸载?重启编辑器。为什么?因为插件加载时改了一大堆全局状态,没人记得它改过什么,也就没法干净地还原。

Harness 的解法很聪明:每次改动都配一个「逆函数」。 插件往上下文里写一个东西,就同时记下「怎么删掉它」。卸载的时候,把这些逆函数反过来执行一遍。

像一摞盘子,后放上去的先拿走。

插件化的真正难点不是「能插」,是「能干净地拔」。副作用要可逆。

这套东西不是 DeepSeek 拍脑袋想的,背后有它跟北大合发的一篇论文做理论支撑,讲的是「时空可组合性」。理论很深,只需要记住上面那个「一摞盘子」就够了。

Trajectory:给 Agent 装个黑匣子

Agent 最头疼的地方是什么?不可控、不可调试。 它跑歪了,你不知道它哪一步想岔了。

Harness 的解法是 Trajectory——把模型看到的一切,只增不改地记进日志:系统提示词、思维链、每一次工具调用和结果、子 Agent 的调度。

而且这个日志是「唯一真源」:模型看到的上下文,不是单独存一份,而是从日志里实时投影出来的。翻译一下——模型看到的,一定已经被记录。

有了这个日志,你可以:

  • 恢复:从任意一步接着跑
  • 分叉:复制一条轨迹,换个指令试试,原来的不动
  • 回放:像看录像一样,看它当时到底干了啥

这意味着 Agent 从「黑箱」变成了「可审计」。对企业落地 Agent 来说,这是信任问题最缺的那块拼图。

在这里插入图片描述


该不该用它?

先说它能干嘛——预览版有四种模式,一句话类比:

  • 标准模式:像个全副武装的工程师,文件、命令、搜索、子 Agent 全都会
  • PTC 模式:把多步操作合成一个程序一次跑完,而不是一步步来回调
  • 极简模式:只给「跑命令 + 改文件」两样,专门用来考模型的裸分
  • 创造模式:一个工作台,让你自己造 Agent 和插件

但「能不能用」和「该不该用」是两回事。这得看你是什么人。

现在就该上手的: 做 Agent 开发、插件开发,或者想研究「Agent 架构到底该怎么搭」的人。这是目前开源里少数把「可组合性」贯彻到底的开源实现,值得读源码。

应该观望的: 只想找个好用的编程工具、日常写业务代码。那你现在切过去大概率会失望——v0.1 预览版,官方自己都说后续会破坏性迭代。有知名开发者说它设计好,但也有人提醒「替代 Claude Code 为时尚早」。这话我同意。

可以绕道的: 非技术用户。它现在的门槛还是「装 Node、跑命令行」,不是给你用的。

跑起来倒是不难,一条命令:

npx @deepseek-ai/dsh web

但「能跑」和「该不该现在用」,是两件事。


你能从这套设计里带走什么

就算你暂时不用 Harness,这套设计里有三条原则,做任何 Agent 或插件系统都用得上:

  1. 副作用要可逆:插件的难点不是「能插」,是「能干净地拔」。每次改动都留个「怎么撤销」的答案。
  2. 可观测性优先:把「模型看见了什么」做成唯一真源,调试和审计才有地基,而不是事后补日志。
  3. 边界收缩:把「谁该为副作用负责」,从「每个插件作者」收敛到「少数服务实现者」,义务越集中越好管。

我的判断:这不是一个工具,是一个信号

还有一件事,大多数人没把它跟 Harness 放在一起看——同一天,DeepSeek 还调了 V4 Pro 的价格,涨价,改成峰谷分时定价。

一边开源 Agent 框架,一边给模型涨价。这个组合拳说明什么?

我的理解是:DeepSeek 在下一盘「抢开发者入口」的棋。

模型层的竞争已经卷到头了——大家都在比谁便宜、谁跑分高。但 Agent 基础设施层还没定型。谁先把「Agent 操作系统」的生态搭起来,谁就占住了开发者的工作流入口。模型可以换,但操作系统换不掉——就像你换手机可以换品牌,但你很难从安卓生态整个迁到 iOS。

涨价是信号:我不靠卖 Token 跟你打价格战了,我要靠基础设施层把你锁住。

别人在卷「谁家的编程助手更好用」,DeepSeek 在卷「谁先定义 Agent 的操作系统」。前者是手机,后者是安卓——一旦开发者生态起来了,前者都得在它上面跑。

当然,这只是我基于 v0.1 的判断。预览版到正式版之间,什么都可能变。但这个方向本身,我觉得值得盯。

在这里插入图片描述


工具会过时,设计原则不会。记住那三条——可逆、可观测、边界收缩——比记住 Harness 这个名字有用得多。


参考来源:DeepSeek Harness 官方文档与开源仓库、DeepSeek 与北京大学「时空可组合性」论文、36氪 / DoNews / 澎湃新闻等公开报道。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐