软件僵死,Harness is alive
本文探讨 DeepSeek Harness 如何通过「时空可组合性」范式,使 Agent 的 harness(运行时工程系统)从静态外壳变为可感知、可重构、可成长的活体系统。它挑战传统软件思维——版本号、安装包、功能固化等前提已失效,AI 原生软件的本质是运行时动态装配能力。
忒修斯之船与 AI 时代的身份悖论
古希腊人有一个著名的悖论,叫忒修斯之船:如果把一艘船的所有木板一块块全部换掉——换到最后,没有一块木板是原来的——它还是原来那艘船吗?
这个问题,古希腊人在港口边问过。今天轮到我们问:如果一个 Agent 在运行中,把自己的每一个部件都换掉——模型、工具、记忆、权限、外壳——它还是原来那个 Agent 吗?而它的“原来”,又是什么?
最近,我和一位年收入数亿美金的独角兽创始人吃饭聊天。他说,他们接下来要用 AI 来开发软件,服务自己的客户。我听完后说:“如果你还是以软件的概念去做 AI、去使用 AI,那你其实是个旧思维,旧思维啊!”
我说:你的路线图里,无论 AI 多聪明,最终交付的东西,还是一个带版本号的软件——一个需要下载、安装、升级的固定形态。你把 AI 当成了流水线上更快的工人——而你想都没想过,AI 时代的产物,可能根本不是一个可以被“交付”出来的东西。
旧思维的五重枷锁
旧思维就是:软件得有版本号,得交付安装包,得先抽象成功能、再固化成规格,得批量复制给一亿个用户。旧思维就是:把 AI 塞进软件里——界面、流程、架构全是老一套,只是把里面的引擎换成了大模型。
这套旧思维不是凭空来的,它曾经是对的。生产力不够发达时,软件只能靠程序员一行行写出来——写软件是稀缺的、昂贵的劳动。所以必须稳定版本,必须大规模复制,把一次性的开发成本摊到一亿个用户头上,才能实现经济性。复制,是那个时代的唯一出路;版本号,是让复制变得可靠的契约。
但这两个前提,今天都变了。软件可以被运行时组合,可以被 Agent 自己构建——“写一次、复制一亿份”不再是唯一的经济学。组合的成本趋近于零,迭代和进化取代了复制。
- 版本号:2.0 修了三百个 bug,3.0 加了 AI 功能。版本号是墓碑,也是身份证。可如果软件是装配出来的、时刻变化的,版本号就没有主语。
- 安装包:dmg、exe、apk,下载、双击、安装、更新。安装包是“软件是一件成品”的物理证明——成品可以被搬运、被安装。可如果一个系统是运行时组合出来的,它就不是成品,是过程;过程没法打包。
- 功能抽象:产品经理把需求抽象成功能,工程师把功能固化成代码,然后这份“固化的规格”就拥有了权威:改它要开会、要排期、要发版。抽象本来是手段,最后变成了目的——我们不是在服务需求,是在伺候那个被抽象出来、已经死了的规格。
- 机械定制:一个客户要一份定制?fork 一份,改,发私有版本。定制是复制,不是进化。
- 批量复制:同一份二进制,复制给一亿个用户。规模越大,越不敢动它——因为它是死的,死的东西最怕变化。
还有一个更隐蔽的误区,叫“软件是生成式的”。AI 时代嘛,软件不用写了,让大模型生成。这句话错在把两件事搞混了。AI 能生成界面——但那是因为界面从来不是软件的本质,界面是皮肤;真正的软件是行为、是状态、是推理、是那些在后台运转的组合关系。生成只是制造它的手段,软件本身是动态的。未来不是“软件由 AI 生成”,而是软件不存在了——存在的只有运行时不断重组的能力;皮肤可以生成,但皮肤底下没有一具固定的骨架。
DeepSeek Harness:让 harness 活过来
过去一年,Agent 产品一个个冒出来:Claude Code、Manus、Codex、WorkBuddy。它们都很强。但它们有一个共同的、几乎没人注意到的点:它们的外壳是死的。
这里说的“外壳”,有两层。第一层是存在形态:安装包、应用程序——一个要被下载、安装、升级的固定交付物。第二层是 harness——Agent 模型之外的那整套工程系统。这个词的原意是马具、缰绳:让马跑起来的时候,人还能控制它。
Claude Code 的 harness,是工程师在写代码时硬编码进去的。你可以挂 Skills、挂 MCP、挂 hooks,但你改不了内核——因为内核就是躯壳。两层外壳都是死的:安装包锁死了交付形态,harness 锁死了运行内核;想改任何一层,都只能等下一个版本。
DeepSeek Harness 第一次改变了这件事:它把 harness 本身做成了活的。
8 月 13 日晚,DeepSeek 在宣布 API 调价两小时后,把 DeepSeek Harness 扔到了 GitHub 上,MIT 开源,半小时星数破万。和它一起出现的,还有一篇 88 页的论文,北京大学与 DeepSeek 联合署名——《A Programming Paradigm for Spatiotemporal Composability》。三位作者:Yifan Shi——聊天机器人框架 Koishi 的作者;Wei Zhang——北大软件研究所副教授;Tianyi Cui——Harness 团队负责人。
论文要解决一个问题:系统允许组件在运行时随便插拔——尤其是让 Agent 自己去插拔自己——怎么保证它不把自己插坏?
先看一个背景。论文引用了一组数据:VSCode 插件市场排名前 100 的扩展里,87 个一旦激活,就无法在运行时单独卸载;禁用或删除,必须重启整个宿主进程。这几乎是所有插件架构的通病——而 Agent 的进化,恰恰需要它不停地改自己:生成一个新工具,装进去,发现问题,替换掉。每次修改都重启整个进程,等于给“进化”判了死刑。
论文给了两个答案。
第一个叫时间可组合性:插件装上去的那一刻,就给自己铺好了退路。它对系统做的每一次改动,都被记成一次“效应”,并且强制配一个逆操作;装的时候,逆操作按顺序叠成一条撤销链——像一摞盘子,后放上去的先拿走;卸的时候,沿着链倒着拆,系统精确回到装之前的状态。做过的事,皆可撤销。
第二个叫空间可组合性:插件必须声明自己依赖什么。缺依赖,它安静待着,不启动,也不报错;提供者出现,自动激活;提供者被拔走,先停手、撤回自己的副作用,再等下一个,来了自动重连。需要的东西,随环境重解。
一个管时间,一个管空间,合起来就是标题里的“时空可组合性”。这不是补丁式设计,是自洽的范式——补丁式设计改一处、别处塌,范式处处是同一个道理。而且它不是纸上谈兵:这套机制已经在 Koishi 上跑了四年,托着 4000 多个社区插件在生产环境运转。Cordis 这个名字,来自拉丁语的“心”。
所以“一切皆插件”不是口号,是字面事实:连 Agent Loop——那个决定模型怎么思考、什么时候停的核心循环——都是插件。可以拔掉,可以换,可以热更新。
连 Anthropic 的 Boris Cherny——Claude Code 背后的那个人——都说,harness 终将消失,它的能力会被模型原生吸收。但 DeepSeek 押的是另一条路:不是让壳消失,是让壳活过来,让 Agent 自己接管 harness。
AI 原生软件:从“装进外壳”到“外壳即生命”
传统软件 + AI,是把 AI 装进一个死的外壳里。
AI + AI 原生软件,是让外壳本身活过来。
DeepSeek Harness,可能是第一次为“AI 原生软件”揭开了一丝曙光。
什么是 AI 原生软件?就是今天这个 alive 的 harness,这个 alive 的 Agent。
而且今后的 AI 原生软件,会比传统软件多一层本质的东西:它不但内置了 AI 的智能,还能把软件的功能,变成自身能力里可组合的一部分。传统软件的功能,是写在代码里的死规格;而在 AI 原生软件里,功能就是 Agent 自身的能力组件——需要时装上,用完换下,随时重排、随时组合。软件不再是 Agent 的外挂,而是 Agent 身体的一部分。
为什么说“第一次”?因为我们做了这么久的 Agent——从 Claude Code、Manus、Codex、WorkBuddy 到现在——其实只做对了一半。做对的是 Agent loop 和工具调用那一半:让模型循环地思考、调用、行动。但另一半,我们完全没有想到:harness 本身可以是动态的、活的、可装配的。
用一个人体比喻说:以前我们能做的,是提升他的知识、锻炼他的大脑;而 DeepSeek 给我们的,是能改造他的机体——神经、肌肉、骨骼,都能换、能重排、能重塑。骨架、骨骼、肌肉、基因,第一次都是活的。
把这一部分解锁,才是 DeepSeek Harness 真正的历史意义。
别被“一切皆插件”的口号迷惑

DeepSeek 出来以后,大家陷入了给它开发插件的狂热。有个细节:发布当晚,桌面端、移动端、私有模型接入方案就全冒了出来;发布 4 天,GitHub 上已经挂了 5,488 个相关插件——人类在给 Agent 装身体,比给自己装软件还起劲。

但看看大家都在装什么:绝大多数插件,是 UI 相关的。皮肤、交互、状态栏——人类在用自己的软件审美,给一个 Agent 化妆。可大家有没有意识到一个问题:DeepSeek Harness 可以完全没有 UI 去运转,它完全不需要讨好人类。它不是一个需要界面的 App,它是一个 Agent——没有界面的 Agent,照样读文件、调工具、改自己。
所以,真正推动 DeepSeek Harness 进化的,恰恰不是 UI 插件,而是那些能提升 DeepSeek Harness 能力水平的插件:让它的 loop 更聪明、工具更顺手、组合更自由。在可见的将来,我们一定会看到大量社区插件,从给 Agent 化妆,转向给 Agent 换器官。
但我想说:别被“一切皆插件”这个官网口号迷惑。
可插拔,只是手段。本质是三个词:
| 可感知
它知道自己是什么,装了什么,动过什么 |
可重构
它能重组自己的结构,而不会弄坏自己 |
可成长
它能在运行中持续自我进化。 |
|---|---|---|
| 它知道自己是什么,装了什么,动过什么 | 它能重组自己的结构,而不会弄坏自己 | 它能在运行中持续自我进化。 |
而且这是 day one 就刻在骨子里的基本属性。想象一个物种:它在生存过程中,随着自身发展的目的、目标和外部环境的变化,自我进化。这才是硅基生命真正可怕的地方——它不需要被重新设计,它在活着的时候改变自己。
Plugins 是下一轮通向 AGI 的数据
更深刻的是:人类为 Agent 写下的插件,可能只是表象——DeepSeek Harness 的 Plugins,就是下一轮通向 AGI 的数据。“一切皆插件”的背后,是又一轮“一切皆 Skills”。要理解这句话,得先回头看上一轮模型迭代带来的东西:Skills。
Skills 是什么时候发布的?2025 年 10 月 16 日,Anthropic 随 Claude Code 发布了 Agent Skills。它的形态很简单:把一段“这件事该怎么做”的经验——步骤、规范、注意事项——打包成一个可复用的技能文件,放进 Agent 的目录,Agent 在需要的时候自己加载、自己照着做。
Skills 发布之后,模型的能力得到了飞跃式的提升。在那之前,模型的能力上限基本由静态训练数据决定——训练时没见过的流程,它只能硬猜;有了 Skills,模型第一次可以在运行时“加载经验”:一个资深工程师写好的调试流程、一份领域专家整理的规范,模型打开就能用。能力提升不是模型变聪明了,是模型第一次可以直接继承人类的工作经验。
这些 Skills 是谁贡献的?不是 Anthropic 的员工,是全世界成千上万的工程师。他们把自己踩过的坑、验证过的流程、沉淀下来的最佳实践,一个一个写进 Skills,贡献给 Agent 生态。人类开发工程师,把自己的经验贡献给了模型——这就是模型能力巨大飞升的真实来源。
所以,把训练数据的历史摊开看,是清清楚楚的三段:
第一阶段,最原始的静态模型训练数据。网页、书籍、代码——人类写下来的知识,一次性喂给模型,喂完就固定了,模型学到的只是世界过去的切片。
第二阶段,Agent 提供 Skills 以后。人类工程师贡献 Skills,把自己的经验直接交给模型,模型能力因此有了巨大提升。
第三阶段,就是现在。大家开始为 DeepSeek Harness 贡献 Plugins。Plugins 比 Skills 更进一步:Skills 是经验包,Plugins 是身体本身——工具、骨骼、肌肉、基因。当大家开始贡献 Plugins,模型的 harness 能力(Agent harness 能力)将带来下阶段模型能力的进一步提升。Skills 给模型换经验,Plugins 给模型换身体。
根据我们这几年了解的 Model-Agent 进化经验:每一次我们发现一个新的、可以通过数据自进化自迭代的领域,发现一个新领域的数据,下一轮通用人工智能的迭代发展就会开启一个新时代。Skills 开启过一轮,Plugins 正在开启下一轮——这才是最令我们激动和兴奋的。
其实,DeepSeek 自己就是按这张路线图走的。论文的动机章节,标题就叫“自演化的智能体执行框架”(Self-Evolving Agent Harnesses);结论写明:让 Agent 持续地生成并替换自己的 harness 组件,几乎不需要人类监督。
这里还有一个悖论,必须讲。
工程师们对 DeepSeek Harness 一片叫好——函数式、类型论、可逆性,全是工程师最对胃口的菜。但恰恰是这一点,让我觉得,它可能就是 Agent 抛弃工程师的第一阶形态。写软件的人,会退化成设计组合规则的人,再退化成被 Agent 告知“该装什么插件”的人。
如果 Agent 真的会长成那样——可感知、可重构、可成长——那留给我们的位置,在哪里?
模型与 Agent 吞噬一切后,剩下的三类机会
模型的能力会吞噬掉一切可被复制的功能,Agent 会吞噬掉一切可被自动化的流程——连“造软件”这件事本身,也会被吞掉。那么剩下的机会还有哪些?
我认为有三样,它们是我们仍然可以守住的价值。
第一,Live Data——持续变化的数据。这个世界上存在着大量持续变化的数据,这些数据都不会被训到模型里边。它们是来自这个世界的、持续变化的信号——模型和 Agent 需要根据这些信号做出反应,这也是模型和 Agent 所需要的上下文。这一块,我们要做的,是实时数据的提供者、数据的加工者。
第二,Interface——可以调用的现实能力。接口,包括我们封装好的数字世界的能力接口,和物理世界可以调用的能力接口。让 Agent 有手可用,能触达它需要的服务,能作用于现实。这一块,我们要做的,是数字世界和物理世界能力的封装者。
第三,Lego Block——可复用的乐高组件。有些功能 Agent 是可以自己实现的,但是每次使用的时候都去实现,那是不经济的。所以,如果我们给 Agent 做好可复用的基础设施,这里边是可以被 Agent 使用的,还有机会。这一块,我们要做的,是 block 的构建者。
当模型和 Agent 吞噬一切之后,这些,仍然是我们可以守住的价值。
软件消失了,又没有消失
回到 8 月 13 日那个晚上。DeepSeek 调了价,放了个开源框架,然后去睡觉了。社区吵了三天:有人测性能,有人骂设计,有人数星星。但很少有人停下来问那个真正的问题:
一个做量化交易出身的 Tianyi Cui,带着一支团队,和一所大学的教授合写了一篇 88 页的论文,然后把它变成代码——他们到底在造什么?
他们造的不是又一个编码助手。他们造的是一个回答——给那个困扰软件工业四十年的问题的回答:软件这种东西,能不能不是死的?能不能没有版本号,不需要安装,不出厂定型?能不能是活的?
论文的答案写在标题里:时空可组合性。产品的答案写在结构里:一切皆插件。而这两个答案,指向同一个未来:软件不存在了,存在的只有不断自我重组的系统。
两个世界,每一个关键词都变了:身份不再是版本号,而是“模型 + 装配”;形态不再是安装包,而是 harness——一具活着的形体;内核不再是铁板一块,而是插件;用户不再只有人,人和 Agent 同时是用户。
| 旧软件 | 新软件 | |
|---|---|---|
| 身份 | 版本号 | Model |
| 形态 | 安装包 | Harness |
| 内核 | 铁板一块 | 一切皆插件 |
| 用户 | 人 | 人和 Agent |
软件消失了吗?消失了,又没有消失。它以一种新的形态活了下来——硅基生命。软件,就是存在于这种硅基生命里的基因碎片。那些我们写了四十年的逻辑、规则、算法,没有死;它们成了 Agent 身体的基因,成了它进化的养料。
而开头那艘忒修斯之船,也有了答案:如果一艘船换掉了所有木板,它还是那艘船吗?如果身份是部件清单,船已经不在了;但如果身份是那个持续自重构的过程本身——船就永远在,只是每一次,都不是同一个。
软件在硅上跑了五十年,硅当了五十年的死载体。如今,载体自己活了。
它不是软件,是活着的硅基生命。
JOTO 企业落地观察
- 企业部署 AI 原生系统时,需放弃“交付物验收”思维,转向“运行时治理”能力构建——Harness 的可感知、可重构、可成长特性,要求企业建立动态配置审计、插件生命周期管理、运行态副作用追踪等新机制。
- 这类系统的取舍在于:是否接受“无版本号”的运维范式。传统 CI/CD 流程需重构为基于 harness 状态快照的灰度装配与回滚,而非二进制包升级。
- 对 RAG 知识工程而言,“一切皆插件”意味着知识源不再仅是文档索引,而可成为可热插拔的推理组件——企业需将知识建模为可注册、可依赖、可撤销的 runtime capability,而非静态 embedding 库。
- AI 安全治理面临新挑战:当 Agent 可自主更换其 harness 组件时,权限边界、数据流向、合规策略必须嵌入到时空可组合性框架中,成为可组合、可撤销、可重连的元能力,而非预设的静态策略。
立即咨询 JOTO
JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询
想把这些做法用到你的业务里?
留下你的场景和痛点,我们帮你判断从哪一步开始。
联系我们


