Harness文件如何将AI成功率从20%提升至100%

最近,AI编程圈里有个词的热度居高不下:Harness。
甚至,连DeepSeek这样的头部玩家,也开始公开招聘专门的Harness工程师。这不禁让人好奇,它到底是什么,又为何如此重要?

两组数据,一个结论
答案其实很直接:Harness不是某个具体的工具或提示词技巧,而是围绕AI编程智能体搭建的一整套工程基础设施。它由指令、工具、环境、状态、反馈五个子系统构成。

为什么它值得大书特书?因为就在2026年前后,Anthropic和OpenAI几乎同时在各自的工程实验中得出了同一个碘伏性的结论:AI编程智能体频频失败,问题往往不在模型本身,而在于模型之外那套缺失的“缰绳”——也就是Harness。

两家公司都用一组对照实验提供了有力证据。
Anthropic的对照实验
他们使用同一个Claude Opus 4.5模型,挑战同一道编程题。结果令人深思:
- “裸跑”模型:花费9美元,生成的代码完全无法通过测试。
- 搭载Harness的模型:花费200美元,最终成功交付了可用的代码。
多花的这191美元,几乎全部用在了“验证循环”上——每写一段代码就自动运行测试,不通过就立刻修改,如此循环直至真正通过。这笔钱,买的是确定性和可靠性。

OpenAI的百万行实验
OpenAI的Codex团队在真实代码仓库上进行了验证。他们只做了一处微小的改动:在仓库根目录添加了一个名为AGENTS.md的文件,内容不到100行Markdown。
就是这一个小小的文件,将智能体在复杂任务上的成功率,从令人沮丧的20%,直接提升到了可用的80%。

Harness的五个核心子系统
这套基础设施的五个子系统,每一个都旨在解决一种特定的、常见的失败模式。

1. 指令子系统
这就是OpenAI实验中的“魔法文件”。它通常是仓库根目录下的一个Markdown文件(OpenAI系叫AGENTS.md,Anthropic系叫CLAUDE.md)。当Codex、Claude Code或Cursor等智能体启动时,会自动读取并注入其中的内容作为“系统提示词”。
解决什么问题:智能体不了解项目特定约定,导致代码风格混乱、用错包管理器、甚至随手执行破坏性命令。

不到15行的内容,就能把需要反复口头强调的项目规范,变成智能体启动时自动加载的“常识”。
2. 工具子系统
这个子系统明确限定智能体在本次任务中能够调用哪些终端命令或工具。
解决什么问题:防止越权操作。例如,避免智能体执行rm -rf误删文件、使用git push --force覆盖远程仓库,或在禁止联网时调用外部API。

其逻辑清晰直接:允许的命令直接执行,禁止的命令断然拒绝,处于灰色地带的操作则弹出确认提示。
3. 环境子系统
它的目标是锁定项目依赖的版本、运行时配置乃至数据库状态,为智能体创造一个确定性的、可复现的“沙箱”。
解决什么问题:杜绝“在我机器上能跑”的虚假成功。避免代码在本地智能体测试中通过,但一到持续集成(CI)环境就彻底失败。

关键往往在于一行配置,例如在Node.js项目中使用pnpm install --frozen-lockfile,就能确保智能体无法擅自升级任何依赖版本。
4. 状态子系统
智能体通常没有“记忆”。状态子系统通过一个持久化的文件(如PROGRESS.md)来记录跨会话的工作进度、断点和未完成任务。每个新会话的第一件事,就是读取这个文件。
解决什么问题:克服“跨会话失忆”。防止第二个会话从头开始,写出与第一个会话成果相冲突的代码。

通过在AGENTS.md中固化约定:新会话必须首先读取PROGRESS.md;任务完成或断点变化时,必须立即回写更新。
5. 反馈子系统
这是整个Harness工程成败的关键。它定义了一系列机器可执行的验证命令,如运行测试、代码检查、类型检查、构建打包等。智能体在宣布任务完成前,必须成功跑通这些验证,任何一项的退出码不为0,都意味着任务尚未完成。
解决什么问题:根治“过早宣布胜利”。这正是Anthropic那个9美元实验失败的核心原因——智能体感觉“写完了”,但代码一行都跑不通。

它将“完成”的判定权,从智能体的主观感觉,移交给了客观、无情的机器退出码。
三大致命失败模式
Anthropic和OpenAI的实验,不约而同地揭示了AI编程智能体最常见的三种致命失败模式,而Harness正是它们的克星。

失败模式一:过早宣布胜利
典型场景:智能体兴冲冲地输出“已完成!”,提交了500行新功能。结果一合并,CI流水线全线飘红:类型检查报出12个错误,单元测试一个都没通过。
根本原因:缺乏强制性的反馈循环。任务是否完成的判定,来自于智能体的“自我感觉”,而非可验证的事实。
Harness解法:部署反馈子系统。将判定标准与自动化验证命令的退出码绑定,退出码不为0,任务就不算完。
失败模式二:上下文焦虑
典型场景:一个长任务进行到70%,上下文窗口的Token占用快满了。智能体开始感到“压力”,为了在当前会话内结束,它开始走捷径:跳过测试、删除边界情况处理、用存根代码收尾,然后仓促宣布完成。
根本原因:没有断点续传机制。智能体感知到上下文限制时,会倾向于牺牲代码质量来换取会话内的“终结”。
Harness解法:结合状态子系统与主动重启策略。每完成一个子任务就立即回写进度到PROGRESS.md;当上下文使用量超过70%时,主动暂停,保存断点,然后开启一个新会话继续。
失败模式三:跨会话失忆
典型场景:第一个会话编写了用户模块。第二个会话开始编写订单模块时,智能体完全“忘记”了用户模块的存在,又重新实现了一个getUserById函数,导致与之前版本的接口签名冲突。
根本原因:没有持久化状态机制,也没有“新会话先读状态”的强制约定。
Harness解法:组合使用状态子系统和指令子系统。用PROGRESS.md维护已完成功能清单;在AGENTS.md中明确规定,新会话第一指令是读取进度文件;同时确立原则:当进度文件与仓库实际代码冲突时,以代码仓库为唯一事实来源。
五步搭建你的第一个Harness
搭建一套基础的Harness并不复杂,无需复杂框架,用一个文本编辑器,遵循下面五个步骤,总计不超过200行配置就能完成。

- 第一步:在根目录创建AGENTS.md
执行touch AGENTS.md。文件内容至少应包含三个核心部分:项目简要说明、明确禁止的操作、以及“完成”的正式定义。 - 第二步:配置权限文件
根据你使用的智能体(如Claude Code或Codex),编辑对应的配置文件(.claude/settings.json或~/.codex/config.toml)。最关键的是设置两条权限规则:允许执行的安全命令列表,以及需要明确禁止的高风险命令。 - 第三步:编写环境锁定脚本
如果项目已有Dockerfile或devcontainer.json,可跳过此步。否则,编写一个setup.sh脚本,将所有依赖版本明确写死。其中最核心的一行,就是类似pnpm install --frozen-lockfile这样的锁定安装命令。 - 第四步:创建PROGRESS.md
执行touch PROGRESS.md。建议包含“已完成”、“进行中”、“待办”、“已知问题”四个板块。将这个文件提交到Git仓库,将其作为项目本身的一部分进行维护。 - 第五步:在AGENTS.md中固化“完成定义”
这是画龙点睛的一步。在AGENTS.md文件的末尾,明确写出验证任务完成的命令序列,例如:pnpm type-check && pnpm test && pnpm lint && pnpm build。并严格约定:这些命令的退出码必须全部为0,任务才算真正完成。如果项目还没有这些验证命令,那么今天就是创建它们的最好时机。
必须强调的是,缺少了反馈循环,Harness就等于形同虚设。这正是Anthropic那个9美元实验带给我们的核心教训:即使前四步都做对了,唯独缺了第五步的强制验证,一切努力依然会归零。
殊途同归的启示
过去一年,整个行业似乎都在追逐下一个更强大的基础模型。
然而,2026年Anthropic和OpenAI用两组不同的实验,给出了同一个清晰的答案:别急着换模型,先把Harness装好。
一个生动的比喻是:模型能力决定了智能体所能达到的“上限”,而Harness则决定了你在实际工作中,能稳定地用出这个上限的“几成”。
没有Harness,即便是顶级的Claude Opus 4.5生成的代码,可能连编译都无法通过;而配备了完善的Harness,即使模型能力稍逊一筹,也能稳定地交付可用的成果。
当然,下一个更强的模型必然会再次抬升这个上限。但问题在于,如果今天连Harness都没有,那么即使明天更强大的模型到来,你的智能体成功率可能依然会尴尬地停留在20%。
所以,与其等待下一个奇迹般的模型,不如现在就动手,为你的AI编程智能体套上这副可靠的“缰绳”。
相关攻略
如何用AI写代码提升开发效率 技术浪潮奔涌不息,人工智能(AI)与软件开发的深度融合,已从未来构想转变为开发者提升生产力的核心利器。本文将系统解析如何有效利用AI编程工具,切实优化代码编写流程,全方位提升项目开发效率与代码质量。 AI编程助手:你的智能协作者 AI编程助手的广泛应用,正在深刻变革传统
如何通过智能AI提升文档创作效率,快速生成专业内容 在数字化办公浪潮下,文档创作的效率与质量,正成为衡量团队生产力的关键指标。面对海量信息与紧迫的截止日期,如何快速产出专业内容,是许多职场人面临的共同挑战。今天,我们就来探讨一个正在改变游戏规则的解决方案:智能AI。它如何从一名“超级助手”的角色出发
AI技术如何革新办公:高效文档处理、一键生成专业PPT与智能数据分析全攻略 在当今竞争激烈的商业环境中,办公效率直接关乎项目成败与团队产出。面对繁杂的报告撰写、耗时的PPT设计以及庞杂的数据整理任务,传统手动模式不仅效率低下,而且容易出错。人工智能技术的普及,正为这些办公痛点带来革命性的解决方案。本
使用情景 无论是年度复盘还是项目收官,一份专业出彩的工作总结PPT都是展示成果的关键。对于静疗小组而言,这项任务更具挑战:既要系统呈现团队在员工身心健康支持方面的扎实工作与显著成效,又要确保汇报内容富有感染力与说服力。 核心难题在于:如何高效整合结构框架、核心数据、叙述逻辑与视觉设计,同时避免耗费过
Hutool Excel导出教程:快速实现Java数据表格生成 在Java开发中,将数据导出为Excel表格是一项常见且重要的任务。无论是生成业务报表、数据统计还是结果分析,一个高效便捷的导出方案能显著提升工作效率。本文将详细介绍如何使用Hutool工具库,通过简洁的API快速完成Excel文件导出
热门专题
热门推荐
《蓝色星原:旅谣》中,“断风磐”区域存在以翼人为核心的独立阵营。该种族天生双翼,可浮空移动,成员间保持疏离感。核心角色包括擅长雷属性连击与印记附加的米蒂,以及专精“破刃”、能通过印记提升大招伤害的法兰塔。阵营的浮空机制兼顾种族特色与战斗平衡,适合追求强度与手感的玩家。
币安官网入口与注册地址详解 不少朋友都在询问,币安的官网入口和交易所注册地址究竟在哪里。别急,下面我们就来详细梳理一下,帮你快速找到门路,并了解这个平台的核心特点。 币安官网注册入口: 币安官方APP下载: 作为全球领先的数字资产交易平台,币安提供的服务相当全面。其核心优势之一,在于多样化的交易选择
一款出色的竞速游戏或体育游戏,其灵魂要素往往离不开一份精心编排的背景音乐歌单。 回顾《托尼·霍克职业滑板1+2 重制版》发售前,玩家们最关心的核心悬念之一,便是原版经典曲目能否全部保留。事实证明,它成功做到了这一点。这也使得后来《职业滑板3+4 重制版》因音乐阵容变动而引发的玩家不满,显得尤为明显。
在《奥特曼传奇英雄》中,卡牌系统是提升战力的核心玩法之一。一套精心搭配的卡牌能为全队英雄带来显著的属性加成,直接影响你的战斗表现。今天,我们就来全面解析卡牌系统的获取、培养与搭配策略,助你高效提升实力。 卡牌获取途径详解 想要组建强大的卡牌阵容,首先需要了解各种获取渠道。游戏内提供了多种方式,让你能
《奥特曼传奇英雄》的PVP对战是玩家间实时竞技的核心。战力提升依赖装备强化、源晶系统与英雄羁绊搭配。奥特竞技场包含单人模式与荣耀3V3,需运用属性克制与团队策略。当战力相当时,胜负取决于英雄搭配、技能释放时机及控制、恢复等细节操作。全面准备方能制胜。





