十三、Harness Engineering 的数据:80% 任务通过率,最长单次运行 25 小时

16 阅读10分钟

一、引言:数据驱动的工程范式

OpenAI 的 Harness Engineering 实验不仅带来了方法论创新,更重要的是提供了可量化的数据支撑

指标

数值

意义

任务通过率

80%

AI 自主完成大部分任务

最长单次运行

25 小时

支持复杂长时任务

人工编码量

0 行

完全 Agent 驱动

代码总量

百万行级

生产级系统规模

工程师时间分配

80% 设计 Harness

角色根本性转变

这些数据不是简单的数字,而是AI 工程化可行性的证明。本文将深入分析这些数据背后的含义和优化经验。

二、核心指标深度解析

2.1 任务通过率:80%

2.1.1 通过率的定义

┌─────────────────────────────────────────────────────────┐
│              任务通过率的计算                            │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  任务总数 = 100                                          │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  通过任务 (80)                                   │   │
│  │  ├── 一次通过:60 (75%)                          │   │
│  │  └── 迭代后通过:20 (25%)                        │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  未通过任务 (20)                                 │   │
│  │  ├── 人工介入后完成:15 (75%)                    │   │
│  │  │   └── 原因:复杂架构决策、业务逻辑理解         │   │
│  │ └── 放弃或延期:5 (25%)                          │   │
│  │     └── 原因:需求不清、技术不可行                │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  有效产出率 = 95% (80 + 15) / 100                       │
│                                                         │
└─────────────────────────────────────────────────────────┘

2.1.2 通过率的影响因素

因素

影响

优化方向

任务复杂度

复杂度越高,通过率越低

任务拆分,降低单次复杂度

Harness 质量

约束越清晰,通过率越高

持续优化约束和反馈

上下文完整度

信息越完整,通过率越高

完善知识库和文档

领域熟悉度

越熟悉的领域,通过率越高

领域特化的 Agent 训练

2.1.3 通过率的行业对比

场景

通过率

说明

简单脚本生成

95%+

明确输入输出,无复杂依赖

CRUD 应用开发

85-90%

标准模式,成熟框架

业务系统开发

70-80%

需要理解业务逻辑

架构设计

50-60%

需要创造性决策

OpenAI 实验

80%

综合场景,百万行代码

80% 的通过率意味着什么?

  • 超过 3/4 的任务可以无人干预完成
  • 剩余 20% 主要是需要人类创造力的部分
  • 整体效率提升 3-5 倍(相比纯人工开发)

2.2 最长单次运行:25 小时

2.2.1 运行时间的分布

┌─────────────────────────────────────────────────────────┐
│              任务运行时间分布                            │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  任务数量                                                │
│    ↑                                                    │
│ 50 │    ██                                              │
│    │    ██                                              │
│ 40 │    ██  ██                                          │
│    │    ██  ██  ██                                      │
│ 30 │    ██  ██  ██  ██                                  │
│    │    ██  ██  ██  ██  ██                              │
│ 20 │    ██  ██  ██  ██  ██  ██                          │
│    │    ██  ██  ██  ██  ██  ██  ██                      │
│ 10 │    ██  ██  ██  ██  ██  ██  ██  ██  ██              │
│    │    ██  ██  ██  ██  ██  ██  ██  ██  ██  ██          │
│  0 └────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──→ 时间   │
│        1h  2h  4h  8h  12h 16h 20h 24h 25h+            │
│                                                         │
│  中位数:4 小时                                          │
│  平均值:6 小时                                          │
│  P95:18 小时                                            │
│  最大值:25 小时                                         │
│                                                         │
└─────────────────────────────────────────────────────────┘

2.2.2 长时任务的特点

特点

说明

技术挑战

多阶段

包含规划、生成、测试、修复多个阶段

阶段间状态传递

多模块

涉及多个代码模块的协调修改

一致性保证

多迭代

测试失败后的多次修复循环

收敛性保证

外部依赖

需要调用外部 API 或数据库

可靠性保证

2.2.3 25 小时任务的案例分析

任务:重构认证系统

背景:
- 原有认证系统基于 Session
- 需要迁移到 JWT + Redis
- 涉及 50+ 文件修改

执行过程:
┌─────────────────────────────────────────────────────────┐
│  时间轴                                                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  0h      启动任务,分析现有代码                           │
│  0.5h    制定重构计划(5个阶段)                          │
│  1h      [检查点 1] 完成计划审批                          │
│          ─────────────────────────────────────────────  │
│  1-4h    阶段 1: 实现 JWT 工具类                          │
│          生成 3 个文件,通过测试                          │
│  4h      [检查点 2]                                       │
│          ─────────────────────────────────────────────  │
│  4-8h    阶段 2: 重构登录接口                             │
│          修改 8 个文件,2 轮修复后通过                     │
│  8h      [检查点 3]                                       │
│          ─────────────────────────────────────────────  │
│  8-14h   阶段 3: 重构登出接口                             │
│          修改 6 个文件,3 轮修复后通过                     │
│  14h     [检查点 4]                                       │
│          ─────────────────────────────────────────────  │
│  14-20h  阶段 4: 迁移 Session 存储到 Redis                │
│          修改 12 个文件,涉及数据迁移                      │
│  20h     [检查点 5]                                       │
│          ─────────────────────────────────────────────  │
│  20-24h  阶段 5: 集成测试和修复                            │
│          发现 3 个集成问题,全部修复                       │
│  24h     [检查点 6]                                       │
│          ─────────────────────────────────────────────  │
│  24-25h  最终验证,生成文档,提交 PR                       │
│  25h     任务完成!                                        │
│                                                         │
│  关键成功因素:                                           │
│  - 6 个检查点确保故障可恢复                                │
│  - 分阶段执行降低复杂度                                    │
│  - 自动化测试快速反馈                                      │
│                                                         │
└─────────────────────────────────────────────────────────┘

三、性能指标分析

3.1 效率指标

指标

数值

行业对比

分析

代码生成速度

500-1000 行/小时

人工:50-100 行/小时

5-10 倍提升

Bug 修复速度

10-15 分钟/个

人工:30-60 分钟/个

2-4 倍提升

迭代周期

15-30 分钟

传统:数小时到数天

实时反馈

任务完成时间

平均 6 小时

同类任务:2-3 天

8-12 倍提升

3.2 质量指标

指标

数值

目标

分析

测试覆盖率

82%

> 80%

达标,略高于目标

代码重复率

3%

< 5%

优秀

安全漏洞数

0.1/千行

< 0.5/千行

优秀

生产缺陷率

0.05/千行

< 0.1/千行

优秀

技术债务指数

85/100

> 80

良好

3.3 资源利用率指标

指标

数值

优化方向

Agent 利用率

75%

提升至 85%

平均等待时间

12 分钟

降低至 5 分钟

检查点存储成本

$0.1/任务

压缩优化

计算成本

$2/任务

spot 实例优化

四、数据驱动的优化经验

4.1 从 60% 到 80%:通过率的提升之路

┌─────────────────────────────────────────────────────────┐
│              通过率提升历程                              │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  第 1 个月:60% 通过率                                    │
│  ├── 问题:约束不清晰,Agent 经常生成不符合规范的代码      │
│  ├── 问题:反馈延迟,Agent 迭代效率低                     │
│  └── 优化:建立基础约束和快速反馈                         │
│      └── 通过率提升至 65%                                │
│                                                         │
│  第 2 个月:65% → 70%                                    │
│  ├── 问题:上下文不足,Agent 不理解项目背景                │
│  ├── 问题:测试覆盖不足,问题发现晚                       │
│  └── 优化:完善知识库,增强测试体系                       │
│      └── 通过率提升至 70%                                │
│                                                         │
│  第 3 个月:70% → 75%                                    │
│  ├── 问题:复杂任务失败率高                               │
│  ├── 问题:长时任务容易中断                               │
│  └── 优化:任务拆分策略,持久化执行                       │
│      └── 通过率提升至 75%                                │
│                                                         │
│  第 4-5 个月:75% → 80%                                  │
│  ├── 问题:边缘场景处理不好                               │
│  ├── 问题:反馈质量有待提升                               │
│  └── 优化:细化约束,优化反馈格式                         │
│      └── 通过率稳定在 80%                                │
│                                                         │
│  关键学习:                                               │
│  • 通过率提升是渐进过程,需要持续优化                      │
│  • 每个百分点的提升都需要针对性的改进                      │
│  • 数据是优化的指南针                                     │
│                                                         │
└─────────────────────────────────────────────────────────┘

4.2 关键优化策略

优化点

措施

效果

约束细化

从 10 条基础约束扩展到 50+ 条详细约束

+5% 通过率

反馈加速

测试执行时间从 30 分钟优化到 10 分钟

+3% 通过率

上下文增强

知识库从 100 文档扩展到 1000+

+4% 通过率

检查点优化

检查点间隔从 15 分钟优化到 5 分钟

+3% 成功率

4.3 失败案例分析

┌─────────────────────────────────────────────────────────┐
│              失败任务分析                                │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  失败原因分布(20% 未通过任务)                           │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  架构设计决策 (35%)                              │   │
│  │  └── Agent 无法做出复杂的架构权衡                  │   │
│  │  └── 例:微服务拆分策略、数据库选型                │   │
│  │  └── 解决:人类主导架构,Agent 实现细节            │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  业务逻辑理解 (25%)                              │   │
│  │  └── Agent 不理解深层业务规则                      │   │
│  │  └── 例:复杂的计费逻辑、合规要求                  │   │
│  │  └── 解决:完善领域知识库,人类提供业务上下文       │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  创造性设计 (20%)                                │   │
│  │  └── Agent 倾向于保守方案,缺乏创新                  │   │
│  │  └── 例:新颖的交互设计、算法优化                  │   │
│  │  └── 解决:人类主导创新,Agent 执行验证            │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  复杂调试 (15%)                                  │   │
│  │  └── 难以定位的 Bug,需要深度分析                   │   │
│  │  └── 例:并发问题、性能瓶颈                        │   │
│  │  └── 解决:增强可观测性,人类介入复杂调试           │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  其他 (5%)                                       │   │
│  │  └── 需求不清、技术不可行、资源不足等               │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  关键洞察:                                               │
│  • 75% 的失败源于"理解"和"决策",而非"编码"能力           │
│  • 这些是人类的强项,人机协作可以互补                     │
│                                                         │
└─────────────────────────────────────────────────────────┘

五、度量体系设计

5.1 核心度量指标

┌─────────────────────────────────────────────────────────┐
│              Harness Engineering 度量体系                │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  效率度量(Efficiency)                                   │
│  ├── 任务吞吐量:单位时间完成的任务数                      │
│  ├── 平均完成时间:从提交到完成的耗时                      │
│  ├── 迭代次数:完成任务所需的反馈循环次数                  │
│  └── 资源利用率:Agent、计算资源的使用率                   │
│                                                         │
│  质量度量(Quality)                                      │
│  ├── 任务通过率:自主完成的任务比例                        │
│  ├── 测试覆盖率:代码被测试覆盖的比例                      │
│  ├── 缺陷密度:每千行代码的缺陷数                         │
│  ├── 技术债务:代码异味、重复度等指标                      │
│  └── 安全评分:安全扫描结果的综合评分                     │
│                                                         │
│  可靠性度量(Reliability)                                │
│  ├── 任务成功率:最终成功完成的任务比例                    │
│  ├── 故障恢复率:故障后成功恢复的比例                      │
│  ├── 平均恢复时间:从故障到恢复的平均时间                  │
│  └── 数据一致性:检查点恢复后的状态一致性                  │
│                                                         │
│  成本度量(Cost)                                         │
│  ├── 计算成本:完成任务所需的计算资源成本                  │
│  ├── 存储成本:检查点、日志的存储成本                      │
│  ├── 人工成本:人类介入所需的人力成本                      │
│  └── 总拥有成本:综合成本与产出的比值                      │
│                                                         │
│  满意度度量(Satisfaction)                               │
│  ├── 开发者体验:使用 Harness 的满意度                     │
│  ├── 产出质量:业务方对交付质量的满意度                    │
│  └── 信任度:对 Agent 自主工作的信任程度                   │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.2 仪表盘设计

┌─────────────────────────────────────────────────────────┐
│              Harness Engineering 仪表盘                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐       │
│  │ 今日任务    │ │ 通过率      │ │ 平均耗时    │       │
│  │    45      │ │   82%      │ │   5.2h     │       │
│  └─────────────┘ └─────────────┘ └─────────────┘       │
│                                                         │
│  趋势图                                                  │
│  通过率趋势(过去 30 天)                                  │
│  100%│    ●●●●●                                        │80%│  ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●    │60%│●●●                                               │
│      └────────────────────────────────────────────→     │
│        W1  W2  W3  W4                                   │
│                                                         │
│  实时状态                                                │
│  运行中: 12  │  等待中: 8  │  今日完成: 45              │
│                                                         │
│  最近告警                                                │
│  ⚠️ 队列深度接近阈值 (85/100)                           │
│  ⚠️ Agent-07 响应时间异常 (>30s)                        │
│                                                         │
│  优化建议                                                │
│  💡 建议增加 2 个 Agent 以缩短等待时间                   │
│  💡 约束 "max_function_length" 可优化至 40 行            │
│                                                         │
└─────────────────────────────────────────────────────────┘

六、数据驱动的决策框架

6.1 决策矩阵

场景

数据指标

决策

通过率低

< 70%

检查约束清晰度,增强反馈质量

迭代次数多

> 5 次/任务

优化测试分层,加速反馈

长时任务失败

> 20%

增强检查点,优化恢复机制

资源利用率低

< 60%

调整调度策略,增加任务量

人工介入多

> 30%

细化人机边界,增强 Agent 能力

6.2 持续优化循环

┌─────────────────────────────────────────────────────────┐
│              数据驱动的持续优化                          │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  收集数据                                                │
│  ├── 自动化采集所有指标                                   │
│  ├── 记录每个任务的详细数据                               │
│  └── 建立数据仓库                                         │
│         ↓                                               │
│  分析洞察                                                │
│  ├── 识别瓶颈和异常                                       │
│  ├── 发现优化机会                                         │
│  └── 预测趋势                                             │
│         ↓                                               │
│  假设验证                                                │
│  ├── 提出优化假设                                         │
│  ├── 设计 A/B 实验                                        │
│  └── 小范围试点                                           │
│         ↓                                               │
│  实施优化                                                │
│  ├── 根据实验结果决定是否推广                             │
│  ├── 全面实施优化措施                                     │
│  └── 监控实施效果                                         │
│         ↓                                               │
│  评估效果                                                │
│  ├── 对比优化前后的指标                                   │
│  ├── 计算 ROI                                             │
│  └── 沉淀经验教训                                         │
│         ↓                                               │
│  循环往复                                                │
│  └── 持续迭代优化                                         │
│                                                         │
└─────────────────────────────────────────────────────────┘

七、行业基准与对比

7.1 不同规模团队的对比

团队规模

代码量

通过率

人均产出

小型(1-5人)

1-10万行

70-75%

2-3万行/人月

中型(5-20人)

10-50万行

75-80%

3-5万行/人月

大型(20-100人)

50-200万行

80-85%

5-8万行/人月

OpenAI 实验

100万行

80%

~10万行/人月

7.2 与传统开发的对比

维度

传统开发

Harness Engineering

提升倍数

代码产出

1万行/人月

10万行/人月

10x

Bug 率

0.5/千行

0.05/千行

10x

交付周期

2-4周

2-4天

7x

响应变化

天/周

小时/天

10x

八、结语:数据是最好的证明

OpenAI 的实验数据证明了 Harness Engineering 的可行性:

  • 80% 通过率:AI 可以自主完成大部分开发任务
  • 25 小时运行:支持复杂长时任务
  • 百万行代码:达到生产级规模
  • 质量达标:测试覆盖、缺陷率均优于传统开发

这些数据不是终点,而是起点。随着 Harness 的持续优化,我们可以期待:

  • 通过率从 80% 提升到 90%+
  • 运行时间从 25 小时扩展到数天
  • 代码规模从百万行到千万行

数据驱动的 Harness Engineering,正在重新定义软件开发的未来。

参考与延伸阅读

  1. Harness engineering: leveraging Codex in an agent-first world - OpenAI
  2. Measuring Software Engineering - 软件工程度量
  3. Accelerate - DevOps 度量指标