AI Harness Engineering 代理
Harness Engineering 入门:AI 代理的控制框架
Mitchell Hashimoto 在 2026 年 2 月提出了一个概念,让 AI 开发者终于有了名字来形容我们一直在做的事——Harness Engineering(控制框架工程)。
每当代理(Agent)犯错误时,不要只是希望它下次做得更好,而是花时间设计一个解决方案,确保它永远不再犯同样的错误。
为什么需要 Harness Engineering?
当 AI 编码代理承担越来越多软件生命周期的任务时,如何确保它们可靠、可预测、不会反复犯同样的错误?
传统的做法是反复提示("再试一次"、"注意这个错误"),但这效率低下且不可扩展。Harness Engineering 提供了一种系统化的工程方法:
前馈(Feedforward)
行动前的引导和控制,提高首次成功率
反馈(Feedback)
行动后的观察和修正,支持自我纠错
两大控制机制
前馈:让代理第一次就做对
前馈控制是在代理行动之前就给予指导,增加首次成功的概率:
- AGENTS.md:项目级文档,告诉代理编码规范、架构决策
- 项目引导(Bootstrap Skills):标准化的项目初始化流程
- 代码规范(Code Mods):自动化的代码转换规则
案例:Ghostty 终端项目通过 AGENTS.md,几乎完全消除了代理的不良行为。
反馈:快速修正错误
反馈控制是在代理行动后立即观察结果,支持自动修正:
- 自定义 Linter:针对项目特定规则的检查
- 定向测试:筛选特定场景的测试用例
- 截图校验:视觉回归测试
两种执行类型
| 类型 | 特点 | 示例 |
|---|---|---|
| 计算型 | 确定性、毫秒级 | 测试、Linter、类型检查 |
| 推理型 | 非确定性、语义分析 | AI 代码审查、架构检查 |
三层调节架构
1. 可维护性调节(Maintainability Harness)
结构性检查:重复代码、圈复杂度、风格违规。使用现有工具(ESLint、Prettier)
2. 架构适应性调节(Architecture Fitness Harness)
定义和检查架构特征的 Fitness Functions,确保代码结构符合预期
3. 行为正确性调节(Behavior Harness)
功能规范作为前馈,AI 生成测试套件作为反馈(仍在成熟中)
实战建议
- 迭代 Harness:每次问题重复出现时,改进前馈/反馈控制
- 质量左移:快速检查放在集成前,昂贵的传感器放在 CI 管道后期
- 持续监控:死代码检测、测试覆盖率、运行时 SLO
- 用 AI 构建 Harness:代理可以编写结构性测试、生成规则草稿
与 Context Engineering 的关系
Martin Fowler 指出:Harness Engineering 是 Context Engineering 在编码代理领域的具体形式。
Context Engineering 提供了让指南和传感器对代理可用的手段,而 Harness Engineering 则是针对编码代理的特定实现。
核心要点
- 不要只是"再试一次"——要工程化解决方案
- 好的 Harness 将人类输入引导到最重要的地方
- 前馈 + 反馈 = 快速、高质量的结果
- 用 AI 代理来构建和维护 Harness 本身