有心思时干有意义的活,没心情时做有意思的事

Harness Engineering(编排工程)

原文地址:https://openai.com/index/harness-engineering/

Harness Engineering(编排工程)

引言

随着像 Codex 这样的 AI 系统能够生成高质量代码,软件工程的实践方式正在发生根本性变化。

在 OpenAI,我们开展了一项实验:
从一个空仓库开始,尽可能让 AI 完成全部开发工作。

结果是:

  • 在约 5 个月时间内
  • 使用少量工程师(约 3–7 人)
  • 构建了一个规模接近 100 万行代码的系统
  • 人类几乎没有直接编写代码

我们将这种新的工程方式称为:

Harness Engineering(编排工程)


什么是 Harness Engineering

Harness Engineering 并不是直接编写代码,而是:

设计一整套系统,使 AI 能够高效、安全地生成、测试和维护代码

工程师的职责从“写代码”转变为:

  • 定义任务
  • 设计约束
  • 构建反馈循环
  • 提供上下文环境

AI 则负责:

  • 编写代码
  • 运行测试
  • 修复问题
  • 提交变更

核心理念

1. AI 的表现取决于“环境”,而不是仅仅模型能力

我们观察到:

  • 在良好环境中,AI 可以表现出极高的能力
  • 在混乱或信息不足的环境中,AI 表现显著下降

因此重点转变为:

优化 AI 的运行环境(harness),而不是单纯提升模型能力


2. 所有知识必须存在于代码仓库中

AI 只能访问仓库中的内容。

它无法看到:

  • Slack 讨论
  • 口头沟通
  • 隐含知识

因此我们做了以下改变:

  • 将设计文档写入仓库
  • 将架构决策记录为文件
  • 将规范转化为可执行规则

结论:

如果知识不在仓库中,对 AI 来说就是不存在


3. 用约束替代人工 Code Review

传统开发流程中:

  • 工程师通过 Code Review 控制质量

在 Harness Engineering 中:

我们使用自动化规则:

  • 架构约束(模块依赖关系)
  • 命名规范
  • 日志标准
  • 文件大小限制

这些规则具备:

  • 自动检测
  • 自动反馈
  • 可由 AI 自行修复

4. 构建完整的自动化反馈循环

AI 可以执行完整开发流程:

  1. 发现问题
  2. 复现问题
  3. 编写修复代码
  4. 运行测试
  5. 验证结果
  6. 提交 PR
  7. 响应 Review
  8. 修复构建失败
  9. 合并代码

关键在于:

为 AI 提供清晰、可执行的反馈机制


5. 防止代码质量退化(“垃圾积累”问题)

AI 会倾向于:

  • 复制已有模式(包括不良模式)
  • 逐渐降低代码质量

解决方法:

  • 定义“高质量代码标准”
  • 定期扫描代码库
  • 自动生成修复 PR

这类似于:

为代码库建立“垃圾回收机制”


6. 任务拆解至关重要

AI 在以下情况下表现最佳:

  • 任务清晰
  • 范围有限
  • 上下文完整

因此工程师需要:

  • 将大任务拆分为小任务
  • 明确输入与输出
  • 控制上下文范围

工程师角色的转变

传统软件工程

工程师负责:

  • 编写代码
  • 调试问题
  • 编写测试
  • 进行代码评审

Harness Engineering

工程师负责:

1. 系统设计

  • 架构设计
  • 模块划分
  • 接口定义

2. 任务定义

  • 编写清晰的任务描述
  • 提供必要上下文

3. 约束设计

  • 编写规则
  • 限制错误行为

4. 反馈系统

  • 构建测试
  • 提供验证机制

实验结果

通过这种方式:

  • AI 生成了绝大部分代码
  • 开发效率显著提升(约 10 倍)
  • 人类工作量集中在系统设计与管理

关键经验总结

1. 不要直接让 AI 写代码

而是:

先设计环境,再让 AI 工作


2. 明确优于聪明

简单、清晰的规则比复杂逻辑更有效


3. 自动化优于人工

所有可重复工作都应自动化


4. 持续清理代码库

防止质量下降


5. 小任务优于大任务

任务越小,AI 成功率越高


未来展望

Harness Engineering 代表了一种新的软件开发范式:

从:

人类编写代码

转向:

人类设计系统 + AI 执行实现

未来工程师的核心能力将包括:

  • 系统设计能力
  • 任务建模能力
  • 约束设计能力
  • AI 协作能力

总结

Harness Engineering 的本质是:

通过设计良好的环境与规则,使 AI 成为高效的软件开发执行者

这标志着软件工程从“手工编码”走向“系统编排”的重要转变。


本文由 Xuanye 创作,采用 知识共享署名 4.0 国际许可协议。

本站文章除注明转载/出处外,均为本站原创或翻译,转载请务必署名。