JOTO
Contact us
← AI 智库
大语言模型

Harness Engineering:让 Agent 从“能工作”走向“可交付”

2026 年 8 月 28 日

Harness Engineering 是一种将模型能力封装为可交付系统的工程范式,通过 Guides、Sensors、Agentic Loop、Memory、Permissions 和 Observability 六层架构,约束 Agent 行动边界、验证执行结果、保存状态并追踪过程。它不替代 Prompt 或 Context 工程,而是与之协同,解决任务失败恢复、权限控制、质量校验和成本归因等生产级问题。

Agent 的本质是任务系统,不是生成器

一个聊天机器人主要负责生成回答,而一个 Agent 通常需要完成一项任务:读取资料、调用工具、修改文件、执行测试、处理失败,并在必要时向人请求决策。两者之间的差别,不仅体现在模型是否更聪明,也体现在模型周围是否存在一套能够约束行动、验证结果、保存状态和记录过程的工程系统。

Harness Engineering: Agent = Model + Harness: The 6-Layer Production Playbook

https://drive.google.com/file/d/1wZeuP0t4WOA2COMxcrU-Uv34IutM13UR/view

模型提供理解和推理能力,Harness 则决定模型可以访问什么、能够执行什么、失败后如何恢复、结果是否经过验证,以及整个过程能否被追踪和改进。

一张图理解 Harness

从流程上看,用户首先提出任务目标,模型据此进行规划和推理,并通过工具与上下文完成实际执行。执行结果不会直接被当作最终答案,而是进入测试、校验、权限和质量检查环节。验证通过后,系统才把结果标记为可交付;验证失败时,系统根据错误证据决定修复、重试或升级。

Harness 执行流程示意图:用户输入 → 模型规划 → 工具执行 → 验证循环 → 可交付输出
Harness 执行流程示意图:用户输入 → 模型规划 → 工具执行 → 验证循环 → 可交付输出

因此,Harness 可以被理解为 Agent 的“运行控制面”。它不替代模型的推理能力,而是为模型提供可执行的工作边界,并把一次性的生成行为转化为一个有反馈、有状态、有停止条件的任务流程。

Harness 与 Prompt、Context 的关系对比图
Harness 与 Prompt、Context 的关系对比图

Prompt → Context → Harness:工程重心的演进

2023 到 2024 年,工程重点主要是 Prompt Engineering,即通过调整措辞、示例和指令来影响模型在单轮交互中的输出。2025 年以后,Context Engineering 逐渐成为重要方向,工程师开始关注模型在执行任务时看到了哪些资料、工具、记忆和外部知识。进入 2026 年,报告进一步把关注点扩展到完整运行环境,也就是 Harness Engineering。

工程阶段 主要关注对象 主要优化内容 解决不了的问题
Prompt Engineering 模型如何理解任务 指令、示例、输出格式 无法稳定限制权限和执行成本
Context Engineering 模型能够看到什么 RAG、MCP、记忆、上下文组织 无法单独保证结果正确或动作安全
Harness Engineering 模型如何在环境中行动 验证、重试、权限、状态、日志和告警 需要更多工程建设和维护成本

这三个阶段并不是相互替代的关系。生产级 Agent 仍然需要清晰的 Prompt 和高质量 Context,但这些内容必须被放入一个能够验证和约束执行过程的环境中。Prompt 影响模型的思考方式,Context 影响模型可使用的信息,Harness 影响模型最终能够做什么,以及系统是否能够承受失败。

公开案例印证 Harness 的实际价值

报告引用的案例 报告中的结果 变化来源 应如何理解
GAIA 与 Claude Sonnet 4.5 30.91% 提升至 74.55% 报告称模型保持不变,增加结构化工具、验证循环和状态管理 说明运行环境可能显著影响任务完成率,但还应核对实验设置与评测协议
Terminal Bench 2.0 第 30 名提升至第 5 名 报告称模型不变,调整 Guides、传感器、恢复逻辑和工具配置 说明编码 Agent 的排名不仅取决于模型本身
Codex 生产项目 约 1,500 个自动化 PR、约 100 万行代码、零手写代码 人类主要设计指南、测试、审查和部署环境 说明人的工作可能从逐行编程转向设计 Agent 的工作环境
Hashline 实验 多个模型在同一类编码任务上获得提升 修改工具格式和编辑方式 说明工具接口和交互协议会改变模型的有效能力
Ghostty 的 AGENTS.md 规则逐条来自实际失败 每次错误都沉淀为一条可复用规则 说明项目指南可以成为组织记忆和持续改进机制

当 Agent 需要多步骤执行、调用外部工具或长期运行时,模型能力只是系统的一部分。系统是否能够在失败后获得明确反馈、在风险动作前受到限制、在中断后恢复状态,通常同样决定了最终效果。

Harness 的六层架构

报告将 Harness 拆分为六个层次。Guides 和 Sensors 构成前馈加反馈的控制回路;Agentic Loop 负责实际执行;Memory、Permissions 和 Observability 则构成运行时基础设施。

Harness 六层架构图:Guides、Sensors、Agentic Loop、Memory、Permissions、Observability
Harness 六层架构图:Guides、Sensors、Agentic Loop、Memory、Permissions、Observability

Guides:执行前的约束

Guides 是 Agent 开始任务前读取的规则和工作说明,可以表现为 AGENTS.mdCLAUDE.md.cursorrules 或其他项目级配置。它们属于前馈控制,在错误发生之前影响 Agent 的行为。

一个有效的 Guide 不应只是“写高质量代码”“认真完成任务”这类无法验证的要求,而应包含项目名称、语言环境、构建命令、测试命令、Lint 命令、目录边界、禁止操作以及典型失败模式。例如,与其要求 Agent“完成后进行充分测试”,不如明确指定 npm test、触发时机、通过标准和失败后的处理方式。

Guide 的价值在于把一次性的人工纠正转化为后续任务可以复用的规则。如果一个 Agent 曾经误删配置文件,项目就可以增加一条明确的访问边界;如果 Agent 经常修改代码后忘记运行测试,就可以把测试命令和执行时机写入指南。这样,修复不再只存在于某一次对话中。

Sensors:执行后的反馈

Sensors 用于检查 Agent 的产出,是执行后的反馈控制。常见的计算型 Sensor 包括单元测试、类型检查、Lint、Schema 校验和安全扫描;需要语义判断时,也可以使用 LLM-as-judge 或 AI Code Review。

报告建议优先建设计算型 Sensor,因为它们通常更快、更便宜、可重复性更强。例如,接口返回值是否符合 JSON Schema、代码是否能够通过编译、SQL 是否命中只读白名单,都可以优先用确定性规则进行检查。对于“邮件语气是否合适”“研究摘要是否遗漏核心观点”这类难以完全形式化的问题,才更适合加入推理型 Sensor。

LLM-as-judge 并不是天然可靠的裁判。它具有成本、延迟和非确定性,判定结果还可能受到提示词和上下文组织方式的影响。因此,语义评审更适合作为补充信号,而不应在所有场景中替代测试、Schema 或权限检查。对于已经能够形式化的规则,最好逐步迁移为确定性检查。

Agentic Loop:有边界的执行循环

Agentic Loop 是 Harness 的执行核心。它不应被理解为一次模型调用,而应被理解为一个有边界的循环:先规划,再执行;执行后验证;失败时修复或重试;重试耗尽或遇到不可恢复问题时升级给人。

def agentic_loop(task, agent, sensors, budget):
    plan = agent.plan(task)

    for step in plan.steps:
        for attempt in range(budget.max_retries):
            result = agent.execute(step)
            verdict = verify(result, sensors)

            if verdict.passed:
                break

            if not verdict.retryable:
                return escalate(step, verdict)

            result = agent.fix(result, verdict)
        else:
            return escalate(step, "retry budget exhausted")

    return synthesize(plan.results)

循环必须有明确边界。报告给出的示例包括每个步骤最多重试 3 次、单任务最多运行 30 分钟、最多消耗 100K tokens、最多调用 50 次工具,并设置单任务成本上限。具体数值需要根据业务风险和任务类型调整,但“必须有边界”本身是生产化设计的基本要求。

Memory and State:让任务能够恢复

模型每次调用时只拥有当前上下文,不能天然记住上一个会话完成了什么。Harness 需要通过显式状态恢复连续性。报告将状态持久化分成多个层次:当前上下文只能维持当前交互,任务 Scratchpad 可以保存一次任务中的计划和中间结果,文件或对象存储可以跨会话保存产物,决策日志可以保留关键选择,知识图谱则适合需要长期关系查询的场景。

对于很多 Agent 工作流,最简单的持久化方式就是文件系统。plan.md 可以保存计划,todo.md 可以记录待办,progress.json 可以记录已完成步骤,decisions.jsonl 可以保存重要决策。它们不一定比向量数据库“更智能”,但通常更透明、更容易审计,也更适合存放任务状态和实际产物。

一个最小 checkpoint 至少应包括任务标识、当前状态、已完成步骤、产物路径和更新时间。Agent 在每个有意义的步骤后写入 checkpoint,在新会话开始时读取它。恢复测试也应成为系统验收的一部分:在多步骤任务中途关闭进程,重新启动后,Agent 应从最后一个已完成步骤继续,而不是重复执行或要求人重新解释全部背景。

Permissions and Budgets:模型之外的安全边界

权限不应依赖模型“自觉遵守”。只要一个工具对 Agent 可见,模型就可能尝试调用它;只要文件系统允许写入,错误的指令就可能造成修改。因此 Harness 必须成为主要的安全边界。

最小权限原则要求系统只授予完成任务所需的最小范围。例如,代码修复 Agent 可能需要读取 src/**tests/**,写入 src/**,执行测试和 Lint,但不应默认拥有推送远程仓库、发布包、部署生产环境或发送外部邮件的权限。

权限设计还应考虑四个维度。Scope 决定可以访问哪些账户、工具、文件和操作;Rate 决定单位时间内允许多少次写入或外部调用;Reversibility 区分可回滚动作和不可逆动作;Visibility 决定谁会被通知以及需要保留哪些审计证据。删除数据、向外发送消息、生产部署和资金操作通常需要更严格的批准策略。

Observability:把执行过程变成可调试数据

没有结构化日志,Agent 的错误往往只能通过重放整段对话来定位。生产级 Harness 至少应记录任务开始和结束时间、工具调用及结果、Guide 版本、使用过的 Sensors、尝试次数、Token 和费用、生成的产物、审批和升级事件。

Observability 的作用不是单纯展示监控面板,而是回答具体问题:哪一次工具调用返回了异常数据?哪个 Sensor 错误地判定为通过?Agent 是否读到了过时的 Guide?某类任务的重试次数是否正在增加?某个模型版本上线后,未经人工修改的完成率是否下降?

从失败到基础设施:Ratchet Principle

Harness Engineering 中最有实践价值的思想之一,是把每次失败转化为永久性的系统改进。报告将这种方法称为 Ratchet Principle,即棘轮原则:系统可以持续向前积累改进,而不会每次都回到同样的错误起点。

Ratchet Principle 示意图:失败 → 根因分析 → 分层修复 → 验证回归 → 沉淀为基础设施
Ratchet Principle 示意图:失败 → 根因分析 → 分层修复 → 验证回归 → 沉淀为基础设施

一个完整的改进过程可以分为六步。首先用完全相同的输入复现问题,避免修复一个并不存在的假象。其次判断根因属于缺少 Guide、缺少 Sensor、权限过宽、状态丢失,还是日志盲区。然后选择能够覆盖整个错误类别的最强修复层。完成修复后,使用原始失败案例验证,再运行回归测试,确认修复没有破坏已有能力。

这一区分非常重要。一次对话中的提醒只能修复当前交互;一条 Guide 规则可以影响之后的任务;一个自动化 Sensor 可以阻止一类错误产出;一个环境权限边界则可以让某些危险动作在结构上无法执行。修复层级越靠近环境,通常越稳定,但建设成本也越高。

人工 Review 意见也可以按照同样方式升级。如果同一条意见第一次出现,可以先加入 Guide;第二次出现时,检查 Agent 是否真正读取和遵循了 Guide;第三次出现时,如果该意见已经能够形式化,就将它转化为阻断式 Sensor。这样,人的审查经验会逐渐沉淀为可执行约束。

生产指标不应只看模型调用次数

如果只统计模型调用次数、Token 数量或对话轮数,可能会把“更忙”误判成“更有效”。报告建议关注已经完成、经过验证且不需要人工返工的任务数量。

指标 含义 期望方向
Completion Rate 通过验证的任务数 ÷ 启动任务数 上升
Rework Rate 需要人工修改的任务比例 下降
Escalation Rate 每个任务触发人工介入的次数 下降,但不能通过隐瞒风险来降低
Recovery Time 从失败到安全状态所需时间 下降
Cost per Verified Result 获得一个经过验证结果的 Token、工具和人工成本 下降
Guide Growth 每周新增规则数量 在问题覆盖后逐渐下降

其中,Escalation Rate 不能被简单理解为越低越好。如果 Agent 遇到高风险动作时从不升级,可能意味着它正在错误地自行决策。合理的目标是减少不必要的升级,同时保留对不可逆动作和不确定结果的正确升级。

Escalation Rate 解释图:升级是风险可控的体现,而非失败指标
Escalation Rate 解释图:升级是风险可控的体现,而非失败指标

成本也应按任务和验证结果归因,而不是只看每天消耗了多少钱。一个每天花费 50 美元、完成 100 个已验证任务的系统,与每天花费 50 美元但只完成 2 个任务的系统,工程质量明显不同。只有把成本和完成结果关联起来,才能判断新增规则或 Sensor 是否真正降低了单位产出成本。

七日最小生产化路径

报告给出了一条循序渐进的七日路径。它的重点不是在第一天就搭建复杂的多 Agent 编排,而是每增加一层能力,就用明确的退出标准验证这一层是否真正生效。

七日最小生产化路径:Day1–Day7 能力演进与验证标准
七日最小生产化路径:Day1–Day7 能力演进与验证标准

第一天建立一个最小 Guide,写清构建、测试和 Lint 命令,并确认 Agent 能正确执行它们。第二天从真实失败中增加三条规则,检查 Agent 是否能够避免对应的反模式。第三天接入成本最低的计算型 Sensor,通常可以从已有测试套件开始。第四天把测试放入 Agentic Loop,为重试和升级设置上限。

第五天增加文件型状态 checkpoint,并在任务中途关闭和重启进程,确认 Agent 可以继续执行。第六天设置文件、工具、网络、写入次数和成本预算,验证越权动作会被阻断。第七天加入结构化日志和一个 Trip Wire,例如模拟成本异常并确认告警能够触发。

七天之后,系统仍然不是“建设完成”的终点。后续工作应继续基于真实任务观察错误,并逐层强化最薄弱的地方。报告建议在扩大使用范围前设置 Scale Gate,例如未经人工修正的完成率达到预定标准、没有任务超过成本预算、并且 Agent 至少正确升级过一次。正确升级是重要证据,因为它说明系统不仅会成功,也知道何时不能继续自行行动。

多 Agent 场景需要额外的边界设计

当多个 Agent 协作时,六层架构仍然适用于每个单独 Agent,但 Agent 之间还需要新的系统级约束。

多 Agent 协作边界设计:Handoff、State、Verifier
多 Agent 协作边界设计:Handoff、State、Verifier

首先是类型化 Handoff。Agent A 交给 Agent B 的内容,不应只是“已经完成,看起来没问题”,而应包含任务标识、产物位置、已经验证的内容、尚未解决的问题、假设和截止时间。接收方应能够打开产物并独立验证,而不是完全信任发送方的自然语言总结。

其次是共享状态,而不是共享全部对话。多个 Agent 共用一段长对话,容易把每个 Agent 的思考、错误和纠正都塞入同一个上下文,造成上下文污染。更稳定的做法是使用结构化 Ledger、图或数据库保存跨 Agent 状态,每个 Agent 只读取与当前任务相关的部分。

再次是独立验证者。生产产物不应由生成它的 Agent 独自判定质量。可以优先使用确定性检查;对无法形式化的重要任务,再使用独立的验证 Agent。验证 Agent 应报告问题,而不是在没有记录的情况下直接重写产物。路由器根据验证结果决定重试、转交其他角色或升级给人。

Harness 与 Prompt、Context 的关系

Prompt、Context 和 Harness 解决的是不同问题。Prompt 负责告诉模型任务目标、行为风格和输出要求;Context 负责把相关资料、工具描述、记忆和外部知识放进模型可见范围;Harness 负责限制模型的行动边界、检查结果、保存状态和追踪运行。

问题 Prompt 的典型做法 Context 的典型做法 Harness 的典型做法
事实错误 增加指令和示例 增加检索资料 加入引用、事实或结果校验
忘记历史工作 在提示中总结 使用记忆系统 写入文件 checkpoint
使用错误工具 在提示中提醒 限制工具说明 使用权限策略和工具边界
输出质量波动 增加 Few-shot 优化上下文组织 接入自动化测试和评估
无限循环 要求“简洁完成” 限制上下文长度 设置重试、时间和成本预算
生产事故 要求“谨慎执行” 过滤高风险上下文 设置权限、预算与升级机制
Harness Engineering:让 Agent 从“能工作”走向“可交付” 配图 8

JOTO 企业落地观察

  • Harness Engineering 的落地成败,高度依赖企业现有 DevOps 与安全治理体系的兼容性。Guides 和 Sensors 可快速引入,但 Permissions 层需与企业 IAM、CI/CD、网络策略等基础设施深度集成,否则无法形成真正的生产级安全边界。
  • Ratchet Principle 要求每一次失败都能触发可复现、可归因、可验证的修复闭环。这对企业的 traceability(全链路追踪)和 replayability(可重放性)能力提出刚性要求,远超单次对话调试范畴,本质是将 AI 运行时纳入企业 SRE 实践体系。
  • 多 Agent 协作中的类型化 Handoff 和独立验证者设计,暴露了传统微服务治理模式的局限:企业需为 Agent 间交互定义结构化契约(如产物 Schema、验证协议、升级 SLA),而非依赖自然语言摘要传递上下文。
  • 七日路径并非功能清单,而是验证节奏——Day 1 确认 Agent 能执行基础命令,Day 7 验证系统能否自主识别并响应成本异常。这标志着企业从模型调用者,转变为智能体运行环境的构建者与监护者。

立即咨询 JOTO

JOTO 提供覆盖企业智能体规划与搭建、AI 平台私有化部署、RAG 知识工程、AI 安全治理、FDE 驻场共创及持续运营优化的全周期 AI 落地服务,帮助企业把验证中的 AI 能力转化为安全、可控、可持续迭代的生产力。 联系 JOTO 获取 AI 落地咨询

想把这些做法用到你的业务里?

留下你的场景和痛点,我们帮你判断从哪一步开始。

联系我们
Contact Us

Start your enterprise AI rollout

Tell us your industry, team, and current pain points. We'll get back to you within one business day to help you decide what to tackle first, what data to prepare, and which platform fits.

WeChat
Scan to add us for a 1:1 chat
JOTO WeChat consultation QR code

Tell us what you need

Once we receive your details, we'll be in touch within one business day.