harness 与模型的关系:同一模型在不同入口的表现差异
模型是引擎,harness 是把引擎装起来的那台车。同样的 Opus,装进不同的壳里,表现可以差出一个档位——这不是错觉,官方自己做过一次公开复盘。
有一个现象几乎每个人都撞见过:同样的提示词、同样的文档、同样的模型,换一个入口去问,结果不一样。
多数人的第一反应是「是不是我记错了模型」或者「是不是它今天状态不好」。都不是。差异是真实的,而且有确定的来源。
模型只是核心,不是全部
把模型想成一台引擎。引擎本身完全相同——但把它装进哪台车里,决定了你感受到的驾驶体验。
模型外面那一层,行业里叫 harness(外壳)。它包含:
- 系统提示词:模型在回答你之前,先读到的那一大段指令
- 工具:它能调用什么(读文件、执行命令、联网、调用子代理)
- 环境:它在哪里干活(你的真实文件系统?一个沙箱?还是什么都碰不到)
- 循环逻辑:它做完一步之后怎么决定下一步
同一个模型 + 不同的 harness = 两个用起来完全不同的产品。
一个反证:官方自己拆过这件事
如果 harness 只是包装,它出问题就不会单独被拿出来说。但 2026 年 4 月,Anthropic 公开发布过一份关于 Claude Code 质量问题的复盘报告——结论是那段时间的体验下降来自 harness 的缺陷,与模型能力无关。
这件事的意义不在于「他们出过 bug」,而在于:
他们能把「模型」和「外壳」当成两个独立的东西,分开定位、分开修、分开对外说明。
这说明 harness 不是营销概念,是被当作独立工程在做的一层。对你的实际含义是:当你觉得「今天它变笨了」,问题不一定在模型——也可能在你用的那个入口。
差异具体差在哪
最直接的一层是系统提示词的体量与内容。
面向普通用户的入口,系统提示词长得多,因为它要覆盖大量场景:怎么处理版权内容、长对话时提醒什么、输出用什么风格、什么时候该生成可交互的产物。这些约束在多数场合是对的,但它们也会改变模型对你指令的执行方式。
面向工具使用的入口,系统提示词短得多,内容以工具偏好为主:优先用哪个工具、按字面修改文件、不要做多余的事。约束少,模型对你指令的执行就更贴字面。
这就是为什么同一句「把这段一字不改地重排」,在不同入口下的服从度不一样。
六个入口具体对应哪三套引擎、五条规则各自在哪套里生效——那是安装章的第一节,因为它同时也是「为什么值得装终端版」的答案:见六个使用入口与三套系统提示词引擎。
模型与 harness 一起设计
2025 年 2 月 24 日,Claude 3.7 Sonnet 与 Claude Code 在同一天发布。
这个安排不是巧合。从这一代开始,模型的训练目标里就包含了「在一个带工具的循环里持续工作」这件事——而 Claude Code 就是那个循环的参考实现。后来的 Skills、子代理、Hooks,都是在这层外壳上长出来的。
所以「Claude Code 好用」这句话,准确的说法是:模型和外壳是配套设计的。
对你的三条实际建议
① 换入口之前,先意识到你换的可能不只是界面。
同一份材料从网页版搬到终端版,可用的上下文窗口、模型的服从度、能不能读你的本地文件——都会变。
② 「它不听话」先想入口,再想提示词。
反复调提示词也压不住的那类问题(比如它总是把你要求原样保留的内容改写掉),换个入口往往一次就解决了。这比继续磨提示词有效得多。
③ 评估一个 AI 产品时,别只看模型名。
「用的是 Opus 5」不构成完整信息。同一个 Opus 5,装在不同产品里,可用性差别很大。 真正要看的是它给了模型什么工具、多大的活动范围,以及出错时你能不能回退。
这也是研究咨询行业怎么选 AI 工作台那篇的判断依据。
本节事实查证日期:2026-08-05。