返回博客

Harness Engineering:为什么模型不是 Agent,环境才决定可靠性

AI Agent2026-10-30约 11 分钟Harness EngineeringAI AgentAgent可靠性上下文工程Karpathy提示词工程

本文整理自 0xkichiro 在 X 分享的讲座视频(视频元数据显示约 2 小时 4 分钟)及帖子引用的 Harness Engineering: The Complete Guide to Building AI Agents That Don't Fall Apart。视频本身没有公开可核验的逐字字幕,本文不是逐句转录;观点和章节结构以 X 可见正文、引用文章的公开结构化内容为依据。

Harness Engineering 讲座视频封面

从“换模型”转向“改环境”

当 Agent 一次任务失败时,最常见的反应是重写提示词、增加说明、换模型、加工具或扩大上下文窗口。但很多失败并不是模型不会推理,而是它没有得到一个可执行、可观察、可恢复的工作环境:

  • 不知道哪些文件和资料真正相关;
  • 在正确工具上使用了错误路径或错误参数;
  • 上一次会话做出的决定没有留下可恢复状态;
  • 没有运行检查就声称任务完成;
  • 外部动作部分成功后又被重复执行;
  • 具有执行高风险动作的权限,却没有经过审批。

这组问题的共同点是:模型输出看似合理,但系统没有把意图转化成可验证的环境变化。指南把承载这些能力的系统称为 Harness,即让模型智能变成可靠工作的那一层执行基础设施。

模型:理解、推理、生成、选择
Harness:提供上下文、工具、状态、权限、验证、恢复和证据
Agent:模型在 Harness 与真实环境中完成一项工作

提示词通常只影响一次尝试;Harness 会影响每一次尝试。

Agent 不只是一个会调用工具的模型

模型可以生成计划,但一个可用的 Agent 还必须完成一整条闭环:

  1. 理解任务和完成条件;
  2. 找到相关上下文;
  3. 选择工具并满足前置条件;
  4. 以受限权限改变环境;
  5. 保存事实、决定和进度;
  6. 检查结果是否真的达到目标;
  7. 失败时按失败类型恢复,而不是盲目重试;
  8. 产生人类可以审阅的完成证据。

因此,一个强模型放进弱 Harness,仍然可能是一个弱 Agent。它也许能给出漂亮的单轮回答,却会在长任务、环境变化和部分失败中表现不一致。

Harness 的最小闭环

指南把可靠执行归纳为一条可重复的链路:

请求
  → 任务契约
  → 上下文地图
  → 受控工具
  → 持久状态
  → 环境变更
  → 确定性检查
  → 验证与审批
  → 变更回执

每个环节都回答不同的问题:

环节核心问题
契约什么结果必须存在,什么不能改变?
上下文Agent 现在需要知道什么,哪些内容可以稍后检索?
工具这次动作的输入、范围、权限和成功证据是什么?
状态如果会话中断,下一次从哪里继续?
检查哪些事实可以由编译器、测试、查询或校验和直接证明?
审批哪些后果必须由人确认?
回执最终改变了什么,哪些仍未验证?

这条链路的价值不在于增加流程,而在于把“模型说完成了”与“环境证明完成了”分开。

什么时候该加 Harness

不是每个模型调用都需要完整的执行系统。短文本改写、低成本头脑风暴、没有外部副作用且用户全程在场的任务,简单提示词通常足够。

当任务具备下面任意特征时,Harness 的收益会明显增加:

  • 跨越多个工具、文件或会话;
  • 执行环境会在任务中变化;
  • 动作会修改数据、发送消息、部署或产生费用;
  • 人工很难直接判断是否完成;
  • 同一种失败反复出现;
  • 人工审查已经成为主要瓶颈。

判断标准不是“能不能做出复杂架构”,而是当前失败是否值得用一层可复用的基础设施消除。

从提示词工程到 Harness Engineering

提示词负责解释目标和提供判断依据;Harness 负责把不应被遗忘的规则落成系统约束。比如:

  • “请运行格式化”可以变成保存前自动格式化;
  • “不要跨层导入”可以变成架构测试;
  • “迁移必须可回滚”可以变成 CI 中的回滚检查;
  • “不要改生成文件”可以变成路径保护;
  • “外部发布前需要确认”可以变成审批闸门。

越重要的规则,越应该从自然语言下沉到可执行的基础设施。模型仍然需要理解例外和权衡,但不应该靠记忆维持所有不变量。

对 GPT88 Agent 应用的启示

如果你使用 GPT88 的统一模型接口构建 Agent,可以把模型调用放在 Harness 的“推理层”,把以下部分保留在业务代码中:

  • 工具注册、参数校验和域名 / 路径白名单;
  • 会话状态、任务契约和恢复锚点;
  • 幂等键、重试上限和外部副作用账本;
  • 测试、查询、编译、截图等确定性证据;
  • 高风险动作的人工审批。

这样做的好处是模型可以替换,执行边界不必跟着提示词一起漂移。模型负责提出下一步,Harness 负责判断这一步是否允许、如何执行以及什么算成功。

来源与边界