Harness

系列文章见: 《回忆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的典型组成

    1. 上下文管理(Context)
    1. 执行能力(Tools)
    1. 任务编排(Orchestration)
    1. 反馈机制(Feedback)
    1. 架构护栏(Guardrails)
    1. 其他基础设施

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即使连续工作数月,也不会逐渐偏离既定的软件架构。

  1. 其他基础设施

成熟的 Harness 往往还包含大量通用能力,例如:

  • 权限控制(Permission)
  • Hook 钩子系统
  • 错误恢复(Recovery)
  • 状态持久化(State Persistence)
  • 可观测性(Logging & Tracing)
  • 人机协同(Human-in-the-loop)

这些模块共同构成了一套完整的AI工程运行环境。