当模型足够强之后,我们为什么还要重写 Harness?
模型能力已经足够强大,真正拖后腿的是稳定性——它跑偏、误判完成、在你不注意的地方悄悄变形。 引言:一个让人警觉的数字 同一个模型,提示词不变,数据不变,只是换一套运行方式,编程基准成绩就能从 42% 跳到 78%。 Anthropic 的例子更直观:同一个模型,单打独斗时看起来像是做完了,真跑起来核心功能却是坏的;换一套带规划、生成、验收的运行框架,成本高了,时间长了,结果反而能用。 这提醒我们:AI 工程的重心,正在从"让模型更会回答",转向"让系统更稳地交付结果"。 第一部分:Harness 不是"壳",是控制系统 很多人第一次听到 Harness,会本能地把它理解成"模型外面那层包装"。这个理解不够。 模型自己不会: 保存状态 维护工作目录 判断输出是否满足系统约束 知道什么时候该停、该继续、该回滚 自己搭测试环境 写完后自觉打开浏览器验证 决定这次提交能不能合并 Harness 不是给模型套上的外壳,而是把模型接进工程世界的那层控制系统。 它包括: 状态怎么保存 工具怎么暴露 权限怎么约束 输出怎么验证 上下文怎么管理 任务怎么续跑 什么叫"真的完成了" 这些东西并不花哨,甚至很多都不新鲜——文件系统、测试、日志、浏览器、Lint、计划文件,原本就是软件工程里再普通不过的东西。 但一旦主角从人类工程师换成模型,它们突然重新变成了核心。 因为模型最擅长的是生成,最不擅长的是在约束里稳定收敛。 第二部分:三篇文章的共同指向 2.1 Skills:把隐性知识变成显性协议 Skill 要解决的是提示词漂移、方法失传、工作流无法复用这些问题。本质上,是把原本靠聊天临场发挥的东西,搬进文件系统和版本控制。 2.2 Claude Code 实战:架构决策注入执行流程 Boris 那套 Research -> Plan -> 批注 -> Implement 流程最值钱的地方,在于它把"架构决策怎么进入执行流程"这件事做成了机制。 2.3 OpenClaw 架构:可控、可回放、可解释 lane queue、allowlist、JSONL 回放、语义快照——这些都在回答:系统怎么保持可控、可回放、可解释。 三篇文章,分开看像三个不同话题。放在一起,其实都在做一件事:把原本靠模型临场发挥的部分,改造成可沉淀、可约束、可验证的系统。 第三部分:三篇放在一起,都在做一件事 真正变化快的,往往不是那个最小执行循环,而是循环外面不断加厚的那层工程设施: 知识怎么挂进去 状态怎么存下来 权限怎么卡住 验收怎么接回来 也正因为如此,这一轮大家聊 Harness,越来越像在聊系统设计,而不是某个单点技巧。 ...