导读
模型能力趋同后,竞争下沉到了"怎么把模型用好"。2026 年 8 月,DeepSeek 与 OpenAI 先后开源 Harness:一个开"整套零件",一个开"调教好的实习生"。本文用"天才实习生"的比喻讲透 Harness 的五大能力,并拆解两家打法的本质差异------要主权,还是要省心? 读完后你会明白:功能清单会趋同,但"没人下令时它怎么做"才是真正的护城河。
前言
同一个词,两家公司,完全不同的故事
2026年8月,AI编程工具赛道发生了两件看似相同、实则完全不同的事。
先是 DeepSeek 开源了 DeepSeek Harness ,两天冲上9万多GitHub Star------这个速度,几乎破了开发者工具的历史纪录。没过几天,OpenAI也宣布开源 Codex 的 Harness 层:CLI、app-server,还有官方SDK。
如果你只看标题,会以为他们在打同一场仗。但如果你真的翻开代码,会发现一个反直觉的事实:*他们开的是两层完全不同的东西。
TL;DR(30秒速读卡)

这篇文章只做三件事
- 用最直白的话讲清楚 Harness 到底是什么;
- 拆开 Codex 这次到底开源了什么------核心亮点藏在哪里;
- 说清 Codex 和 DeepSeek 的本质差异。
01 先建立一个坐标系:Harness 到底是什么
在聊任何细节之前,先认识一个人------一个没有经验的天才实习生。
他聪明得离谱:你随便说个需求,他立刻能给出思路;给他任何文字,读一遍就能复述、改写、翻译。
但他有四个要命的短板:
- 没记忆:上一分钟交代的事,下一分钟就忘干净,每次都得从头讲。
- 没背景:没见过你们公司的代码在哪、文档在哪、谁负责什么。
- 没手脚:不会打开文件、不会运行程序、不会查数据库------除非你给他工具,并告诉他"现在可以用"。
- 没分寸:分不清哪些事自己能做主、哪些事必须停下来问你,很容易越界闯祸。
问题来了:这样一个实习生,你要怎么把他用起来?
你大概率不会让他直接上手干活------你会做一整套"带新人"的事。而这一整套"带新人"的东西,就是 Harness。

1.1 一张表看懂:怎么"带"这个天才实习生

这个比喻后面会反复用到------这个实习生一会儿是 Codex,一会儿是 DeepSeek,两家对他的"带法"完全不同。
1.2 一句话定义
Harness = 模型之外的一切。
实习生本身只会*"按要求干活"*,他不知道项目背景是什么、工作规范有多大边界、如何使用趁手的工具。就像模型一样,本身只会"预测下一个词",不会开文件夹、不会跑脚本、没法实时联网搜索。
把这些事全做起来的那层"外壳",就是 Harness。
拆开来看,它主要包含五样东西:
1.2.1 上下文管理
给模型看什么、不看什么、什么时候把旧内容压缩掉
实习生第一次接手项目,你不能把公司十年的邮件全倒给他,也不能只甩一句"你自己看着办"。你得挑出跟这次任务最相关的那几份文档,并且随着对话变长,把已经没用的旧信息收走------否则他会越来越慢、越来越跑题。
1.2.2 工具调用
让模型能碰文件、跑命令、查接口
实习生光会想、能干没用,得给他趁手的工具:配电脑、开权限,并告诉他"简单小铺可以换礼品,跟同事协同要用如流"。工具是他的手和脚。
1.2.3 执行环境与沙箱
把模型行为约束在安全边界内
实习生再聪明,也不能让他直接在正式环境里干活。你得先给他划一块"随便折腾也不影响别人"的试验田------比如一个独立的开发分支、一套隔离的测试环境。他在里面改代码、跑测试、试新方案,哪怕把整个试验田炸了,一键就能恢复如初,不影响线上业务。
1.2.4 审批与权限
哪些动作自动放行、哪些必须问人
实习生自己整理需求文档、画原型草图?可以自动放行。但要*把需求正式同步给研发排期*?必须等你确认过逻辑再发。
你得给他一张清晰的"权限地图"------绿灯的事他自己干,红灯的事他必须拉起警报等你来拍板。
1.2.5 会话与状态
跨轮次记住进展、失败后从哪恢复
他跟进了两周的客户,每轮沟通的要点、对方提的疑虑、下次跟进时间------如果没系统记下来,客户问"上次说的那个问题后来怎么样了",他一脸茫然,信任瞬间归零。
你得给他配一块"进度白板":当前做到哪一步、哪些方向试过但行不通、哪些结论已验证、下一步该干什么。这样他每天开工能无缝续上,而不是对着空白屏幕从头想"我昨天干嘛来着"。
一句话:模型是那个会思考的脑子,Harness 是那套让他能在真实世界里安全干活的整套装备。 脑子决定上限,装备决定他能不能把活干完、干好。

1.3 再放一张表,彻底理清模型 vs Harness 的分工


一句话:当模型能力趋同,竞争就开始从"模型"下沉到"模型之外的那层壳"。
1.4 再澄清三个常见的误解
误解一:Harness = 提示词(Prompt)。 不对。提示词只是"你怎么跟模型说话",属于上下文管理里的很小一块。Harness 还包括工具、沙箱、审批、会话状态------是一整个运行环境。
误解二:Harness = Agent 框架(比如 LangChain 那类)。 也不对。框架帮你"搭骨架",Harness 更偏"真实落地时的那整套壳"------包含框架,但远不止框架。一个框架可以拿来写 Demo,一个 Harness 得扛住生产。
误解三:Harness 是模型厂商的边角料。 恰恰相反,当模型拉不开差距时,壳就是护城河。在当下阶段,做好 Harness,可能比模型本身更值钱。
02 Codex 这次到底开源了什么
继续用带实习生的例子,假设你第一次带实习生没有经验,不知道该如何提升,Codex 本次就给了你三样东西,你可以开箱即用。

2.1 三样东西,三种用法
2.1.1 Codex exec:让他坐你旁边,你当面指挥
这是最直接的方式,就像你让实习生坐在你旁边,随时派活儿、随时验收。不满意?当场指导并让他重来。
在操作角度上,它就是一个电脑终端(相当于一个对话窗口),你只需要对着它说话:"把这个 MRD 再改改"、"这个代码有 bug",Codex 就可以直接帮你干活,并把结果贴给你审核。
它还有一个"自动模式":你把一份任务清单甩给他,说"今晚把这几件事跑完,明天早上给我报告",他跑完把结果整理好,顺便在报告封面上贴个"成功/失败"的标签。最适合那种"每晚自动跑一遍例行检查"的重复性工作------比如电商大促前,每天自动查一遍价格配置有没有异常。
2.1.2 app-server:给他配一个总机号码,谁都能打电话叫他干活
你不需要亲自坐他旁边了。给他开一个"公司邮箱地址"(实际上是一套标准接口),任何有权限的人------产品、运营、甚至你们公司的内部系统------都可以往这个邮箱发任务。他收到就干,干完把结果发回来。
比如:产品经理发一封邮件(在 Jira 里创建一个任务)"生成这周的上线检查清单",系统自动接进来叫他干;运营发一封"生成昨日数据简报",他立刻开始跑数、写简报。你不用专门开个窗口跟他聊天,他已经变成了你们公司内部的"公用实习生"------谁有需求都能给他派活儿。
它跟第一种方式的核心区别是:***你不再是"唯一能差遣他的人",而是"给所有人开了差遣他的权限"。***至于怎么开、谁有权限开,你自己说了算。
2.1.3 官方 SDK:把他打包成一个外包团队,你们公司的程序可以直接下单
前面两种都是"人直接叫他"。但如果想把他集成到你们自己的产品里呢?比如你们的内部工具想加一个"AI 帮你自动生成周报"的功能------不需要重新开发,直接调用他就行了。
SDK 就是"程序怎么调用他"的操作手册。你写好代码,你们的程序就能自动:开一个会话、让他跑任务、实时收到进度------甚至他能干活干到一半,程序判断"不对,这块权限不够",直接喊停,换个权限再让他跑。
它跟前两种的核心区别是:***不是人叫他,是程序叫他。***你不需要有人坐在电脑前点按钮,流程可以全自动跑起来。就好比你不是"给公司招了个实习生",而是"把这家外包公司的能力接进了你公司的系统里,你们的程序自动下单,他自动接单干活。"
2.2 AI 干活长什么样?
前面说了三种"叫他干活"的方式。但不管你怎么叫他,一旦他开工了,一次完整的工作过程长什么样?
OpenAI 把"一次 AI 干活"拆成了三层结构,用三个词就能说清楚。

拿"让实习生帮你跟进一个大客户"来举例:
-
会话(Thread):从你第一次说"帮我跟进一下这个客户"开始,到最终方案确定、合同发出、客户确认------整件事从头到尾算一个"会话"。就像一张工单,开的时候写了个标题,关的时候已经有了结果。
-
回合(Turn) :会话里面,你每交代一件事、他做一轮动作、再回复你------这算一个"回合"。比如你先说"整理一下这家客户的背景资料",他去查、回来告诉你"整理好了,发你邮箱"------这是一个回合。然后你说"帮我起草一份针对他们的报价方案",他去写、回来发给你------这是下一个回合。一次会话,就是若干个回合串起来的。
-
条目(Item):每个回合里,具体发生的每一件事,都是一个"条目"。你说的话是一个条目,他去查资料是一个条目,他写好的一份方案草稿是一个条目,他发起的一次审批请求也是一个条目。
会话:跟进华东区一个大客户的续约(从开工到收工) 回合1(你派活儿 → 他做背景调研) 条目1:你说"这个客户下个月合同到期,你去摸一下情况" 条目2:他查阅了客户近半年的使用数据 条目3:他翻出了上次沟通的会议纪要 条目4:他告诉你"客户最近三个月活跃度下降了15%,主要集中在新功能模块" 回合2(你补充信息 → 他出方案) 条目5:你说"把去年给他们的折扣政策也考虑进去" 条目6:他计算了三种报价方案的成本和利润空间 条目7:他草拟了续约方案,发给你确认 回合3(你修改 → 他发起内部审批) 条目8:你改了其中一个折扣系数 条目9:他更新了方案 条目10:他发起审批请求:"申请走特殊折扣流程,等你批" 回合4(你批准 → 他准备正式文件) 条目11:你点了"批准" 条目12:他生成了正式报价单和合同草稿 条目13:他回报"文件已备好,可以发给客户了"
***关键点来了:***当你把一次工作拆成"会话→回合→条目"之后,它就不再是一个"黑盒"了------你随时可以:
- 插进去:比如在回合3的条目10那里,审批系统拦住它,等你看完方案再放行。
- 回头看:比如一周后想查"当时给这个客户的报价逻辑是什么",你可以把整个会话的每一条都翻出来。
- 只看想看的:比如你只关心"他改过哪些数字",可以只过滤"计算报价"这类条目,其余不用看。
2.3 怎么带好实习生?OpenAI 的两个锦囊
- 实习生看不到的东西,就相当于不存在

你让实习生"去给华东区这个大客户出一版续约报价方案"。
在你脑子里,这件事很清楚:一个月前你们内部已经协调定了"85折底线",实习生按要求出方案就行。
但在实习生那边,他翻遍了入职时领到的资料包:产品手册里有标准报价模板,过往案例里有几份历史合同,邮箱里躺着一封三个月前的客户沟通纪要。"85折"这三个字,从来没出现在他摸得到的任何一份材料里。
于是他按标准流程出了一版------95折,公司统一折扣,挑不出毛病。
这是一个"你以为他应该知道,但他压根没渠道知道"的问题。
解决方案?OpenAI 把这件事做成了工程,而不是靠口头提醒。
他们把所有"实习生应该知道但可能不在场"的东西,全部硬写进他能访问的地方:一份目录式的指引文档,告诉他"遇到什么该去哪里看"------不给他300页手册,只给他一张"地图";一个结构化的知识库,放所有历史决策、讨论结论;甚至派一个"文档园丁"Agent定期扫描,发现过时信息自动更新。
这套做法的核心就一句话:别指望他"在场",把该让他知道的,放到他伸手就能够到的地方。
- 把"品味"变成机器规则

你让实习生整理投诉报告。你心里想的是"登录相关的问题归一类",他交上来的是"密码找回失败""账号无法登录""手机换绑收不到码"------三件事拆成了三类。
你问他为什么这么分。他说:"客服填表的时候就是分开填的,我照搬了。"
你没脾气------逻辑上挑不出错,但你想要的"合并同类项"他压根没意识到。这种"归类感"是你干了两年才长在身上的东西,实习生刚来两周,指望他"悟"?
这是一个"你的品味没有变成流程"的问题。
解决方案?把"什么叫好"翻译成自动检查的规则,然后派个"质检员"天天扫。
① 定规则:
- 所有分类必须先查"标准标签库",库里没有的才能新建
- 每一项分类必须注明归类依据
- 每周跑一次健康检查,把"一人一类"的孤岛标签揪出来
② 天天扫:
质检员每天扫描所有报告,发现偏离规则的地方,自动发起修改申请。你只需要确认"这个合并对不对",而不是从头翻一遍。
③ 持续还:
今天扫出来三个分类没按标准来,修掉。明天又发现两个,再修掉。永远不让"坏品味"攒成大山。
OpenAI 给这个机制起了一个很妙的比喻:像垃圾回收。
年底大扫除 vs 垃圾回收:坏习惯攒半年,一次性整改,改动巨大、没人敢动,拖到下一年不了了之。每天顺手清一点,永远不会有"还不起的债"。
实习生用不了两周就学会你的分类方式了------不是因为他变聪明了,是因为"什么叫好"从他第一天干活起,就嵌在他每走一步都会撞见的那道流程里。
03 Harness 的分水岭与护城河
- DeepSeek 公开的是"整套带人系统的图纸和零件"。他的产品是一棵启动时组装的插件树------连"这个实习生怎么思考"(agent loop 本身)、模型适配器、工具注册表、会话日志,都是可以换的零件。相当于给了你一箱乐高和图纸,告诉你"这个人的手脚、脑子、记忆、行为准则都可以拆下来换"。前提是------你自己得会拼。
- Codex 公开的是"一个已经调教好的实习生,加上怎么把你的产品接到他身上"。他不让你换"思考方式",而是把上下文、工具、权限、验证、恢复这条工作回路,校准成一条普通用户无需重新设计就能走通的路。相当于直接派了一个"培训已完成、上岗就能用"的实习生过来,你只需要把公司门禁卡(你的产品接口)发给他,他就能干活。代价是------他必须用 OpenAI 配好的那套"工作方式"。

Codex 开源的是"怎么把能力接进你的产品",DeepSeek 开源的是"怎么把整套系统拆开重组"。 其余差异------语言、许可证、成熟度------都只是这个核心差别的投影。
有人会把这事概括成"DeepSeek 更开放,Codex 更封闭"。这是错的。两边其实都开放,只是方向相反:DeepSeek 开放的是深度 ------向下,直到运行时的每一个零件;Codex 开放的是宽度------向外,直到任何你想接入的产品形态。
这背后是两种不同的确定性交易:用 DeepSeek,你买到的是"未来仍能改变系统的权利"------不被任何单一产品锁死;用 Codex,你买到的是"默认就能拿到可验收结果"------不用自己设计那套工作回路。没有哪个天然更好,取决于你要的是主权 ,还是省心。
Addy Osmani 有一个犀利的观察:这些 harness 长得越来越像,比它们背后的模型还像------「look more like each other than their underlying models do」。上下文管理、工具调用、沙箱、审批、会话状态,谁家都会做,功能清单三个月后就会趋同。真正的护城河不在"有没有",而在于两个更深层的东西:
- 有没有"沉默的经验":当实习生面对一个模糊任务------"帮我把登录修好"------他是直接动手改,还是会先复现问题、追调用链、写失败用例、跑全量回归、检查有没有误伤?这套"没人下达的指令"才是真正的"经验"。它不在功能清单上,但它决定了交付质量的上下限。
- 默认路径有没有被校准过:Codex 的默认路径是被自己那条"人类不写代码"的极限路径验证过的------从空仓库到百万行代码,3.5个PR/人/天,它的默认行为已经被反复打磨。DeepSeek 给你的是"选择的权利",但默认值好不好用,需要你自己去校准。
功能清单会趋同,但"没人下令时它怎么做"不会------那才是护城河。
落到具体选择上,关键看自己更接近哪种处境:
- 想尽快见效的小团队:好用 = 少接管。你不想在设计"实习生的工作回路"上耗费精力,Codex 这类"替你扛默认"的更容易直接见效。
- 在建公司级 Agent 平台的团队:好用 = 关键能力不被单一产品永久锁死。你需要"换掉某个零件"的权利,DeepSeek 的"组合控制权"更有价值。
- 两种都想要:这两者不互斥。真正成熟的下一代 Harness,很可能是"该自由的自由,该约束的约束"------内核给组合权,外壳给接入权。
04 结语:Harness 不是"给 Agent 加一层壳",而是"给 Agent 造一个能稳定运转的世界"
回到最开始那个实习生。
DeepSeek 的选择是:把"带新人"系统里的每一个零件都做成可插拔的------换个"入职手册"、换个"工具台"、连"这个人怎么思考"都能换。你拿到一箱乐高,自己拼。
Codex 的选择是:先把一整套"带新人"的流程搭好、校准好,在百万行代码上证明它稳定运转,然后把接口打开,让你往里面接你自己的产品。你拿到一个已经上岗的实习生,给他发门禁卡就行。
两种选择,没有对错。它们只是把"模型之外的一切"这件新事物,从两个相反的方向各推了一步------一个向下探到了运行时的最底层,一个向外拓到了产品的最大面。
而对我们来说,模型会越来越强,Harness 会越来越成熟,但真正决定 AI 能不能在真实世界里稳定地干活,答案还在路上。
