Harness Engineering 相关知识速记

介绍了Agent工程发展流程,以及Harness Engineering基本组件结构

用 AI 编程的朋友应该都遇到过这些问题:

  • 你让 AI 改下页面的样式,结果它没搞清楚你到底想干嘛,重新开发了整个布局,浪费了时间和你的token。
  • 你前面明明要求单文件的代码不超过 200 行,结果聊了十几轮之后,AI 把前面的约束给忘了,写了个 1000 行代码的大文件。

为什么会出现这些问题?说白了就是因为AI不那么可控。那么如何解决这些问题呢?这就是我这篇文章要讲的 Harness Engineering

1.了解 Harness Engineering

1.1 Harness 是什么?

Harness 这个词翻译过来就是「马具」。如果把 AI 模型比作一匹马,那 Harness 就是你驾驭这匹马所需要的一切,说大白话就是约束、管理、控制AI。

Harness Engineering:围绕 AI 模型搭建的一整套工作环境和工作流程。AI 编程的瓶颈不在模型有多聪明,而在你围绕模型搭的这套环境和流程够不够好。

1.2 一个核心等式

Agent = Model + Harness

翻译成人话:在一个 AI Agent 系统里,除了模型本身之外,几乎所有决定它能不能稳定交付的东西,都属于 Harness。

2.Harness 的发展过程

2.1 Prompt Engineering——让模型"听懂"

  • 核心问题:模型不是不会,而是你没把话说明白。
  • 解决方向:优化意图表达也就是Prompt ——通过角色设定、示例、约束等,让模型准确理解任务。
  • 局限:只能解决表达问题,无法补足模型未知的知识。没有解决信息的问题。(因为大模型训练出来后知识就固定了)

2.2 Context Engineering —— 让模型“知道”

  • 核心问题:模型不知道你需要的信息,必须在正确时机送入正确内容。
  • 解决方向:优化信息供给——召回、压缩、组装,按需分层给上下文。
  • 挑战:上下文窗口有限,塞太多会导致上下文腐化(记不住、矛盾、忽略规则)。
  • 关键思想:不是给得更多,而是“按需给、分层给、在正确的时机给。

2.3 Harness Engineering —— 让模型“做对”

  • 核心问题:模型在多步长任务中容易跑偏、理解错返回结果、忘记初衷。
  • 解决方向:优化行动监督——建立外部机制来监督、约束、恢复模型行为。
  • 关注点:Prompt Engineering、Context Engineering 管输入,Harness Engineering 管执行链路——让模型不跑偏、跑得稳、出错能爬起来。

总结:Prompt 管说明白,Context 管给全信息,Harness 管走稳每一步。

3.Harness 六层核心组件:让 Agent 稳定工作的工程骨架

一个成熟的 Harness大致可以拆成六层,按职能分为三组:

  • 输入侧(让模型看到正确的东西)
  • 动作侧(让模型做出正确的事)
  • 校验侧(让模型知道做没做对 + 出错能爬起来)

三组对应工程师在真实环境中干活的三个必要条件:看得准 → 做得对 → 错了能兜底

六层核心一览

层级 核心问题 职责简述
1. 上下文精细化 模型这一轮该看到什么? 必做三件事:钉死角色/目标;动态按需检索信息;结构化组织(规则、证据、中间结论分开)
2. 工具系统 模型用什么动手? 精选必要工具;决定何时调用;将工具结果提炼后喂回模型
3. 执行编排 模型下一步该干啥? Agent 的本质,说白了就是一个 for 循环:思考一步 → 行动一步 → 观察结果 → 再思考下一步。提供明确的工作轨道(如 ReAct 循环中的步骤指引),避免长链任务跑偏
4. 记忆与状态 模型跨轮该记住什么? Agent 的状态不应该放在上下文窗口里,而应该外化到文件系统。记忆需要分层存储(任务状态、会话缓存、长期记忆)
5. 评估与观测 模型做得好不好?有没有尺子? Eval 集(标注答案,对比成功率);Trace(记录每一步决策与工具调用)
6. 约束与恢复 模型出错了能不能爬起来? 硬约束(不允许做的事);输出前后自动校验;要有典型失败的恢复预案(重试、落盘、进度保存)

注意:这六层不是一次就搭完的任务清单,而是一张路标。它告诉你下次 Agent 犯错时,修复该落到哪里。随着时间推移,每一层被一点一点填充、加固,这样Harness 就可以进行一步一步的迭代优化变得更好。

最后更新于 2026-05-16