系列文章见: 《回忆AI时代-从图灵机到人工智能》
什么是Harness
2026年2月,OpenAI工程师Ryan Lopopolo发表了一篇颇具影响力的文章《Harness Engineering: Leveraging Codex in an Agent-First World》。
文中披露了一组令人印象深刻的数据,一个小团队仅用了5个月,借助Codex自动完成了约100万行代码、创建了1500个PR,整个过程中几乎没有人工编写任何代码。这并非实验室里的Demo,而是一套已经拥有内部日活用户的真实生产系统。OpenAI将这种全新的AI开发模式称为Harness Engineering。
Harness的本意
Harness原本是一个英语单词,意思是马具、挽具。一匹马再强壮,如果没有马鞍、缰绳和车架,就无法稳定地拉动车辆,更无法按照人的意图完成复杂任务。
如果把AI大模型比作一匹拥有巨大潜力的骏马,那么Harness就相当于驾驭它的一整套装备——不仅包括缰绳和马鞍,还包括马车、驾驶规则以及控制系统。它负责让模型的能力真正转化为稳定、可靠、可持续的生产力。
AI编程中的Harness
在AI编程领域,Harness并不是模型本身,而是围绕模型构建的一整套工程化支撑系统。
它包含了模型之外所有用于约束、增强、管理和协同模型工作的基础设施,使原本只能进行单次推理的大模型,能够持续、稳定地完成复杂的软件开发任务。可以把它理解为:
1 | Harness = 模型之外的一切工程能力。 |
这些能力通常包括:
- 为模型提供上下文(Context)和提示词(Prompt);
- 调用各种工具(Tools)和外部 API;
- 管理记忆(Memory)和长期状态;
- 自动执行、测试、调试代码;
- 与 Git、PR、CI/CD 等开发流程集成;
- 控制任务规划、权限、安全和错误恢复;
- 协调多个 Agent 协同完成复杂任务。
因此,真正决定AI能否参与大型软件工程的,不仅仅是模型本身,更重要的是这套围绕模型构建的 Harness。可以说,模型负责“思考”,而 Harness 负责“让思考真正落地执行”。随着AI Agent的快速发展,业界越来越认同一个观点Agent = LLM + Harness其中,LLM提供智能,而Harness 提供工程能力,二者结合,才能让AI从一个“会回答问题的大模型”,成长为一个真正能够独立完成工作的智能体(Agent)。
Harness 要解决什么问题
虽然今天的大模型能力已经非常强,但仍然存在一些天然缺陷,例如:
- 输出具有概率性,同一个问题可能得到不同答案;
- 存在幻觉(Hallucination),会生成看似合理但实际错误的内容;
- 对隐含约束理解不稳定,容易遗漏用户要求;
- 上下文窗口有限,长任务容易遗忘前面的信息;
- 多步骤任务容易跑偏,缺乏长期规划能力;
- 无法主动验证自己的输出是否正确。
Harness的作用,就是利用确定性的工程代码来弥补这些不足。
模型负责自己最擅长的事情——理解、推理和生成;而约束、校验、调度、恢复等工作,则交给 Harness 完成。
Harness的典型组成
- 上下文管理(Context)
- 执行能力(Tools)
- 任务编排(Orchestration)
- 反馈机制(Feedback)
- 架构护栏(Guardrails)
- 其他基础设施
1. 上下文管理(Context)
帮助 AI 在正确的背景下工作。典型能力包括:
- 项目规则文件(例如 AGENTS.md)
- RAG(检索增强生成)
- 长期记忆(Memory)
- 上下文压缩
- 历史对话管理
- 技术栈、编码规范自动加载
目标是让模型始终拥有完成当前任务所需的信息,同时避免上下文过长导致注意力稀释。
2. 执行能力(Tools)
赋予 AI 操作真实世界的能力。例如:
- 文件读写
- Shell 命令
- Git 操作
- 浏览器访问
- 数据库查询
- MCP(Model Context Protocol)
- Agent Skills
- 第三方 API
有了工具之后,AI 不再只是回答问题,而是真正能够完成实际任务。
3. 任务编排(Orchestration)
负责组织复杂任务的执行流程。例如:
- 将大型任务拆分为多个子任务
- 控制执行顺序
- 并行执行多个 Agent
- 管理任务状态
- 保存执行进度
- 防止上下文溢出
它相当于整个 Agent 系统的”项目经理”。
4. 反馈机制(Feedback)
帮助 AI 自我检查和持续改进。常见方式包括:
- Linter
- 自动化测试
- 单元测试
- 自我验证脚本
- 多 Agent 交叉评审
- 人工审核节点
形成:生成 → 检查 → 修复 → 再检查这样的闭环,而不是一次生成后直接结束。
5. 架构护栏(Guardrails)
用于保证长期迭代过程中代码质量不会持续下降。例如:
- Linter 规则
- pre-commit Hooks
- CI/CD 检查
- 安全扫描
- 自动代码修复
- 架构规范校验
它们能够保证AI即使连续工作数月,也不会逐渐偏离既定的软件架构。
- 其他基础设施
成熟的 Harness 往往还包含大量通用能力,例如:
- 权限控制(Permission)
- Hook 钩子系统
- 错误恢复(Recovery)
- 状态持久化(State Persistence)
- 可观测性(Logging & Tracing)
- 人机协同(Human-in-the-loop)
这些模块共同构成了一套完整的AI工程运行环境。