OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  社区  ›  AI Code

Harness Engineering 崛起:当 Agent 编程进入“控制论时代”,软件工程正在从构建走向调控

 
  alcohol ·  2026-04-03 06:40:42 · 13 次点击  · 0 条评论  

在大模型与 Agent 快速渗透开发流程的当下,一个新的工程范式正在浮出水面——Harness Engineering。

相比 prompt、context、agent 等更偏“能力侧”的概念,Harness Engineering 直指一个更底层的问题:

当代码不再由人一次性写完,而是由 Agent 持续生成时,系统如何保持稳定?

这不仅是工程问题,更接近一个经典但被忽视的领域——控制系统设计。


导语:AI 写代码之后,真正的问题才开始

一个反直觉的现实正在被越来越多团队验证:

  • AI 可以写出正确代码
  • 但无法保证系统长期正确

在短任务中,大模型表现优异;但在长周期、多步骤的工程任务中,问题迅速暴露:

  • 修复一个 bug,可能引入新的隐患
  • 完成一个功能,可能破坏系统结构
  • 多轮迭代后,系统逐渐偏离原始设计

关键不在于模型“聪不聪明”,而在于:

系统缺乏约束与反馈机制,导致行为不可控


从“写代码”到“运行系统”:工程对象发生变化

传统软件工程是一个相对静态的过程:

  • 人类设计系统
  • 编写代码
  • 部署运行

而在 Agent 参与后,流程变为:

  • 人类定义目标
  • Agent 持续生成与修改代码
  • 系统不断演化

这一变化带来的核心影响是:

  • 系统状态在每一步都会改变
  • 每一步都可能引入偏差
  • 行为呈现路径依赖(path dependency)

也就是说,软件不再是“构建完成后运行”,而是:

一个持续生成、持续变化的动态系统


Prompt 与 Loop 的局限:开环与伪闭环

早期实践中,开发者试图通过 prompt engineering 控制输出:

  • 精细设计输入
  • 期望获得稳定结果

但在复杂任务中,这种方式很快失效,因为:

  • prompt 无法表达长期状态
  • 无法约束系统结构
  • 无法纠正中途偏差

本质上,这是一个典型的开环系统(open-loop)

随后,Agent + Loop 模式出现:

  • 执行 → 反馈 → 再执行

看似形成闭环,但实际效果往往是:

偏差累积

每轮输出引入微小误差,逐步放大

架构漂移

系统结构被多次局部修改破坏

局部最优陷阱

Agent 只优化当前问题,忽略整体一致性

因此可以得出一个关键结论:

Loop 让系统“持续运行”,但不保证“稳定运行”。


Harness Engineering:从实践中抽象出的“控制层”

在这一背景下,在其 Agent 实践(如 Codex 系统)中提出了 Harness Engineering 概念。

其核心不是工具,而是一个转变:

不再问模型为什么出错,而是问系统为什么允许它出错

Harness 的本质:构建可控环境

Harness Engineering 可以理解为:

  • 为 Agent 提供运行环境
  • 为系统提供约束与反馈机制
  • 让整个过程具备自我修正能力

其核心组成包括三部分:

1. 上下文(Context)

  • 结构化文档
  • 单一事实源(single source of truth)
  • 明确接口与边界

作用是:减少错误产生


2. 约束(Constraints)

  • 分层架构限制
  • 依赖与调用规则
  • 自动化检查

作用是:限制系统状态空间


3. 反馈(Feedback)

  • 测试(tests)
  • CI/CD 验证
  • 运行时观测

作用是:持续纠正偏差


从软件工程到控制论:Harness 是“控制器”

如果用控制系统的视角来看:

  • 目标:任务需求
  • 控制器:Harness
  • 执行器:Agent
  • 输出:代码与系统状态
  • 反馈:测试与观测

这一结构对应经典的闭环控制系统,其理论基础可以追溯到 提出的控制论(cybernetics)。

甚至更早,在 的蒸汽机调速器中,就已经体现了类似思想:通过反馈调节系统状态,使其保持稳定。

这也解释了一个有趣的现象——这个名字本身就源于“舵手”,与控制论同源。


为什么 Harness 能让系统“收敛”?

关键在于它改变了系统的三个核心属性:

减少错误生成(Context)

明确输入边界,让 Agent 不再“猜测”

限制行为空间(Constraints)

缩小可行动范围,避免结构失控

强制纠偏(Feedback)

让错误无法持续存在

三者叠加后,系统具备了一个重要能力:

从“不断偏离”转为“持续收敛”


更深层问题:AI 系统本质是“高熵系统”

如果从系统论角度进一步抽象,可以发现:

  • 每次生成都会增加状态复杂度
  • 不一致性不断累积
  • 系统趋向混乱(熵增加)

因此,AI 时代的软件工程,本质是在做一件事:

控制熵的增长

具体手段包括:

  • 约束(限制状态空间)
  • 反馈(修正偏差)
  • 清理(去除冗余与重复)

目标不是“让系统更强”,而是:

让系统不失控


工程范式转变:从“写代码”到“设计行为系统”

Harness Engineering 带来的最大变化,是工程关注点的转移:

过去关注:

  • 代码是否正确
  • 功能是否实现

现在关注:

  • 系统是否可控
  • 行为是否收敛
  • 是否存在失控路径

换句话说:

工程对象从“代码”,变成了“持续运行的行为系统”。


结语:Agent 提供能力,Harness 提供边界

在 AI 工程体系中,正在形成一个新的分工:

  • Agent:负责执行与生成
  • Loop:提供持续运行机制
  • Harness:保证系统稳定

三者缺一不可。

如果没有 Harness,再强的模型也可能导致系统失控;而一旦控制机制建立,AI 才真正具备进入生产级工程体系的条件。

最终问题不再是:

  • AI 能不能写代码

而是:

我们能否设计出一个系统,让它在持续写代码的过程中,始终不偏离目标。

这,才是 AI 时代软件工程真正的分水岭。

13 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 16 ms
Developed with Cursor