ai官小西

Harness Engineering:2026年构建可靠AI Agent完全指南

2025至2026年的AI Agent领域,可以用一个不安的事实来概括:模型能力在以惊人的速度提升,但Agent在生产环境中依然令人沮丧地不可靠。从"演示可用"到"生产可用"之间存在巨大的鸿沟——这个鸿沟有了名字。整个行业正在凝聚在一门新的学科周围,它被称为 Harness Engineering

Agent = Model + Harness(模型 + 约束系统)。 模型负责推理,Harness 负责其余一切。

这个简短的等式由 OpenAI 率先提出,随后被 Anthropic、LangChain、Red Hat 和 Martin Fowler 反复引用,浓缩了 Agent 时代的核心洞察:模型只是组件,不是系统。真正的系统是围绕模型构建的脚手架。

本文是 Harness Engineering 在 2026 年第二季度的完整现场指南,涵盖起源、架构、工具生态、生产案例和实用落地路线图——所有内容均基于 OpenAI、Anthropic、Google、Microsoft 及开源社区的公开参考资料。


1. 三次浪潮的演进

要理解 Harness Engineering 的定位,需要追溯我们与大语言模型交互方式的演进:

浪潮 学科 解决什么问题 局限性
1 提示词工程 (Prompt Engineering) 如何措辞以获得单轮良好回答 无法扩展到多步骤任务
2 上下文工程 (Context Engineering) 如何在每一步动态管理模型需要的信息 仍然假设模型有了足够上下文就会正确行动
3 Harness Engineering 如何构建整个运行时环境,使Agent能可靠完成长时间任务

这种演进不是学术推演,而是工业实践。Datawhale 的开源教程 self-harness 清晰地勾勒出了这条路径:提示词工程 → 上下文工程 → Harness Engineering,每一波都吸收了前一波的经验教训,而非替代它。

提示词工程回答"说什么",上下文工程回答"模型此刻需要知道什么",Harness Engineering 回答"如何构建一个系统,让模型可以安全、可恢复、可验证地运行数小时甚至数天"。


2. 到底什么是 Harness?

OpenAI 在 openai.com/index/harness-engineering 中给出了原始定义:Harness Engineering 是设计脚手架(scaffolding)——上下文交付、工具接口、验证闭环、记忆系统和沙箱——让 Agent 在 Agent-first 时代可靠运行的工程学科。

Martin Fowler 在 2026 年 3 月的综合论述提供了最清晰的概念地图。他识别出三个相互嵌套的系统:

  1. 上下文工程 —— 策划 Agent 所知:项目结构、惯例、过往决策、当前状态。
  2. 架构约束 —— 确定性 lint 工具、结构测试和类型系统,在错误发生前就阻止它。
  3. 熵管理 —— 定期运行的 Agent,修复文档漂移、检测过时假设,保持代码库长期一致性。

Thoughtworks 的 Birgitta Böckeler 在 2026 年 4 月提供了最具操作性的心智模型,将编程 Agent 的 Harness 构建为两种交织的机制:

  • 前馈控制(引导器) —— 预判不良输出并在 Agent 行动前引导它。例如:AGENTS.md、CLAUDE.md、系统提示词模板、目录结构图、时间预算警告。
  • 反馈控制(传感器) —— 在 Agent 行动后观察并帮助它自我修正。例如:为 LLM 优化的自定义 lint 错误信息(包含修复提示)、带有可操作诊断的测试失败报告、类型检查器输出。

引导器和传感器都有两种执行模式:

  • 计算型 (Computational) —— 确定性的、速度快(毫秒级)、由 CPU 运行。测试、lint、类型检查。
  • 推理型 (Inferential) —— 语义分析、LLM-as-judge。更慢、更贵、非确定性。

关键洞察:计算型控制远比推理型控制便宜。 一个 Harness 如果能先层层叠加便宜的确定性检查,再调用昂贵的 LLM-as-judge 评估,就能同时节省成本和延迟,并给出更强的正确性保证。


3. Agent Harness 的解剖结构

Agent Harness Anatomy

LangChain 的架构拆解(The Anatomy of an Agent Harness,blog.langchain.com)识别出构成每个生产级 Harness 的五个原语:

3.1 文件系统作为协作面

文件系统是最被低估的 Harness 组件。它提供了崩溃后依然存在的持久状态,以及人与 Agent 之间的协作面。Microsoft Azure SRE Agent 的案例最具说服力:将源代码、运维手册、查询模式和过往调查笔记暴露为文件,让 Agent 使用 read_filegrepfindshell 工具,效果竟优于 100 多个专用工具。他们的"意图满足率"从 45% 跃升至 75%。

3.2 带沙箱的代码执行

Agent 需要执行代码来验证自己的输出。但让不受信任的代码与 Agent 在同进程或同容器中运行是安全灾难。生产级 Harness 将执行隔离在沙箱中——Docker 容器、临时虚拟机或 WebAssembly 运行时。AgentScope Runtime 和 OpenAI Agents SDK 的沙箱执行(2026 年 4 月)是参考实现。

3.3 记忆与状态

记忆是 Harness 中最难做对的组件。设计空间跨越四个层级:

层级 内容 典型工具
会话状态 进行中的上下文、当前任务进度 LangGraph checkpointing
情景记忆 过往对话、决策、结果 Hindsight、Mem0
语义记忆 用户偏好、项目惯例、领域知识 Letta、MemPalace
程序性记忆 可复用工作流、技能、模式 Hermes skills、Claude Code commands

关键的部署考量:记忆持久化是一种模型在训练中学到的语义。2026 年一篇研究(Agents Learn Their Runtime, arXiv:2603.01209)表明,如果运行时的持久化模式与模型训练时的语义不匹配,要么产生 80% 的缺失变量错误,要么产生 3.5 倍的 token 开销。你的 Harness 必须遵循模型被训练时预期的持久化语义。

3.4 上下文管理与压缩

上下文退化(context rot)——随着对话积累无关历史而导致 Agent 性能逐步恶化——是长时间运行 Agent 的主要失败模式。2026 年的解决方案:

  • 渐进式压缩 —— LangGraph 和 Vercel AI SDK 实现多阶段压缩:剪掉无关轮次 → 微压缩相似消息 → 达到阈值自动压缩。
  • Schema 过滤的子 Agent —— OpenDev 论文(arXiv:2603.05344)引入通过工具 Schema 而非运行时检查来强制执行行为约束的子 Agent,在架构层面防止上下文污染。
  • 文件系统式上下文交付 —— 不是把所有东西塞进提示词,而是将其暴露为 Agent 可选择性读取的文件。这是 Microsoft SRE Agent 迁移的核心教训。

3.5 工具接口与 MCP

Anthropic 的 Writing Effective Tools for Agents 确立了原则:工具设计本身就是 Agent 的用户体验设计。 糟糕的命名、模糊的 Schema 和静默失败是 Agent 不可靠性最常见的来源。

Model Context Protocol (MCP) 已成为工具注册的事实标准。截至 2026 年 Q2,每个主流框架——OpenAI Agents SDK、Anthropic Claude Agent SDK、Vercel AI SDK、LangGraph、Mastra、Google ADK——都原生支持 MCP。该协议的优势不在于传输机制,而在于其工具发现模型:Agent 可以动态探查可用工具,而非依赖硬编码的注册表。

3.6 验证闭环与评估

如果说上下文管理防止失败,那么验证闭环负责捕获那些漏网的失败。Agent 验证的最新技术:

  • 先确定性再推理 —— OpenAI 的技能测试框架(Testing Agent Skills Systematically with Evals, April 2026)先将 JSONL trace 用于确定性检查(命令序列、token 预算、仓库整洁度),再用 rubric-based LLM-as-judge 打分。核心原则:只在能降低实际风险的地方添加昂贵检查。
  • 行为指纹 —— AgentAssay(arXiv:2603.02601)检出 86% 的回归,而二进制通过/失败测试为 0%。基于假设检验的随机 PASS/FAIL/INCONCLUSIVE 判定将 token 成本削减 78%。
  • CI 集成 —— LangChain 的 33 项评估就绪清单覆盖了从错误分类到评分器专业化再到 CI 集成的完整生命周期。关键分离:能力评估(低通过率,目标是改进)和回归评估(接近 100%,目标是保护)必须各自独立运行。

3.7 可观测性与追踪

当 Agent 在 120 步任务的第 87 步失败时,你需要知道原因。可观测性栈已快速成熟:

工具 专长 可自托管
Langfuse 提示词版本控制 + trace + 评估
Arize Phoenix 追踪 UI + 评估运行时
Braintrust 评估优先,Brainstore 全量 trace 搜索 SaaS
Pydantic Logfire SQL 可查询的 trace,MCP 服务器 SaaS
OpenLLMetry OpenTelemetry 工具库 N/A(库)
AgentOps 会话回放,成本跟踪,10+ 框架

Google 的 BigQuery Agent Analytics(2026 年)将 Agent trace 视为分析数据而非面板废气——重要的转变是,可观测性变成了可查询的基础设施。


4. 关键项目与生态

2026 年 Q2 的 Harness Engineering 生态可以组织为四个层次:

4.1 全栈框架

提供完整 Harness 运行时——Agent 循环、状态管理、工具集成、追踪:

框架 Stars 语言 关键差异点
Vercel AI SDK TypeScript 2000 万月下载,25 家提供商,MCP 原生
LangGraph 12k+ Python/TS 显式图式 Agent 循环,checkpointing
Mastra 22k+ TypeScript 40+ 提供商,serverless 部署器,RAG
Microsoft Agent Framework .NET/Python Semantic Kernel + AutoGen 统一,DevUI 调试器
Google ADK Python 多 Agent 拓扑,HuggingFace/GitHub 集成
CrewAI 26k+ Python 基于角色的多 Agent,企业聚焦

4.2 Harness 原生工具

专为 Harness Engineering 设计,而非从通用框架改造:

项目 Stars 说明
AutoHarness (aiming-lab) 264 轻量治理框架——两行 wrap、6 步 pipeline、风险模式匹配、YAML 宪章。958 项测试通过
Nexent (ModelEngine Group) 4,385 零代码平台,基于 Harness Engineering 原则自动生成生产级 Agent
moss-harness (cybernetix-lab) 162 生产级模板:可靠、可观测、可恢复的运行时
OpenHarness (THU NMRC) 98 面向 OpenClaw 的长时间自主 Agent 执行框架
ClawProBench (suyoumo) 576 实时基准测试 Harness,带确定性评分

4.3 教育资料

资源 类型 语言
awesome-harness-engineering (ai-boost) 精选列表 (741 stars) EN / ZH / DE / 9 languages
self-harness (Datawhale) 开源教程 (98 stars) 中文
miniMaster 最小可行 Harness 实现 Python

4.4 专项组件

  • 记忆:Hindsight、Mem0、Letta、MemPalace、LangGraph persistence
  • 沙箱:AgentScope Runtime、Daytona、OpenAI Sandbox execution
  • 可观测性:Langfuse、Phoenix、Braintrust、Logfire、AgentOps、Helicone
  • 人机协同 (HITL):AWS HITL Patterns、HITL Protocol(开放标准)、AutoResearchClaw
  • 安全:Microsoft AgentRx(系统化失败调试)、METR 红队报告

5. 生产案例研究

5.1 Microsoft Azure SRE Agent

规模:已自主处理超过 35,000 起生产事件。
效果:问题处理时间从 40.5 小时降至 3 分钟。
架构:基于文件系统的上下文工程系统(100+ 工具被 read_filegrepfindshell 取代),MCP 用于外部服务集成,人机协同治理。
核心教训:将所有内容暴露为文件,效果优于专用工具。"意图满足率"从 45% 升至 75%。

5.2 Meta Ranking Engineer Agent (REA)

规模:多日 ML pipeline 自动化,用于广告排序。
架构:冬眠唤醒检查点机制,可恢复被中断的 6 小时任务而不丢失上下文。
核心教训:为科学计算工作流设计 Harness——单轮超出模型上下文限制时,整个 pipeline 仍能保持跨天连贯性。

5.3 LangChain 编程 Agent (Terminal Bench)

效果:仅改变 Harness,不切换模型,在 Terminal Bench 2.0 上从第 30 名提升至前 5 名。
改动:结构化验证循环、上下文注入(目录图 + 时间预算警告)、循环检测中间件,以及"推理三明治"——在规划和验证阶段集中投入最大思考。
核心教训:Harness 设计才是主要性能杠杆,而非模型能力。

5.4 OpenAI Symphony

架构:编排层——监控 issue tracker、为每个 issue 创建隔离工作区、以 CI 状态/审查反馈/操作视频作为交付信号。
核心教训:仓库内 WORKFLOW.md 模式(使 Agent 运行时策略与代码同版本管理)是新兴的治理最佳实践。


6. 实用落地路线图

基于上述案例观察到的模式,以下是分阶段路线:

第一阶段:前馈控制(第 1 周)

  • 创建 AGENTS.md / CLAUDE.md,包含项目惯例、代码风格、测试要求
  • 编写系统提示词模板,包含项目结构图和时间预算警告
  • 建立 CONTEXT.md 领域词汇表

第二阶段:反馈控制(第 2 周)

  • 添加自定义 lint 规则,错误信息对 LLM 优化(包含修复提示)
  • 配置确定性测试套件,在每次 Agent 变更时运行
  • 搭建 promptfoo 或等效工具用于回归评估

第三阶段:结构化上下文(第 3 周)

  • 从自由格式提示词转向结构化上下文交付(文件系统式)
  • 实现渐进式压缩(LangGraph checkpointing 或等效)
  • 添加验证清单作为 Harness 构件

第四阶段:可观测性(第 4 周)

  • 使用 OpenLLMetry 或 Langfuse 进行全量 trace 捕获
  • 建立按会话 / 按 Agent 的成本跟踪
  • 在 CI 中建立回归评估 pipeline

第五阶段:生产加固(持续)

  • 为非可信工具调用实现沙箱执行
  • 在关键决策点添加人机协同门控
  • 部署定期运行的熵管理 Agent(文档修复、过时假设检测)
  • 使 Harness 策略与代码同版本管理(WORKFLOW.md 或等效)

7. 为什么是现在?

Harness Engineering 在 2026 年初凝聚为一门学科,是三股力量的汇聚:

  1. Agent 专用任务上的模型能力趋稳 —— 前沿模型(Claude Opus 4.6、GPT-5.2、DeepSeek V4)已达到一个水平,增量能力提升的重要性已不及环境设计。
  2. "从演示到生产的鸿沟"成为业务问题 —— 规模化部署 Agent 的组织发现,40-60% 的失败是环境问题(上下文漂移、工具歧义、静默状态损坏),而非模型问题。
  3. 开源生态成熟 —— MCP 成为标准、LangGraph 的显式循环模型、AutoHarness 的轻量治理、以及 awesome-harness-engineering 中的精选知识,为实践者提供了共享词汇和可复用组件。

Anthropic 的 2026 年代理式编程趋势报告量化了这个杠杆:仅 Harness 设置就可以使基准分数产生 5 个百分点以上的差异。这就是令人生厌的 Agent 与能交付价值的 Agent 之间的差距。


8. 人的角色:站在环外,而非困在环中

Harness Engineering 要求的最重要转变不是技术性的——而是关于人与 Agent 的关系。Martin Fowler 定义了三种姿态:

  • 人在环外 (outside the loop) —— 给出初始提示词,接收结果。无法随 Agent 吞吐量扩展。
  • 人在环中 (in the loop) —— 审查每个独立的 Agent 输出。以 Agent 的速度消耗人类注意力。
  • 人在环上 (on the loop) —— 维护 Harness。设计约束,监控指标,对异常进行干预。这是唯一可行的扩展方式。

Böckeler 进一步延展这一观点。她认为 harnessability(可约束性)应该成为技术和架构决策的一级标准。 在选择框架或工具时,不要问"我的 Agent 能用这个吗?",而要问"我能在我 Agent 与它的交互周围构建可靠的控制层吗?"


9. 开放问题

Harness Engineering 还过于年轻,几个根本问题尚无定论:

  1. Harness 过拟合 —— LangChain 警告,用特定 Harness 训练的模型可能对该设计过拟合。一个在 Claude Code 上工作完美的 Harness,可能反而伤害 Grok 或 Gemini Agent。如何设计模型无关的 Harness?

  2. Harness 复杂性预算 —— 每个 Harness 组件都会增加延迟、成本和调试面。可靠性与复杂性之间的帕累托前沿在哪里?

  3. Harness 作为训练数据 —— 当 Agent 自己编写 Harness 改进时,这是否会创建自我强化的循环,使系统对新型失败模式失明?

  4. 标准化 vs. 专业化 —— MCP 提供了标准的工具接口,但工具设计(命名、Schema 粒度、错误面)仍然是一门艺术。我们会收敛到共享的工具目录,还是领域专业化是永久状态?


结论

Harness Engineering 不是你安装的框架,不是你导入的库。它是一个视角——一种看待 Agent 问题的方式,将责任从模型转移到系统设计者。模型是组件,Harness 才是产品。

如果你在 2026 年构建 AI Agent,你能做出的杠杆最大的投入不是更好的模型,而是更好的 Harness。


参考资料

  1. OpenAI — Harness Engineering (2026)
  2. OpenAI — Unrolling the Codex Agent Loop (2026)
  3. OpenAI — A Practical Guide to Building AI Agents (April 2026)
  4. Anthropic — Building Effective Agents (2024)
  5. Anthropic — Harness Design for Long-Running Application Development (2026)
  6. Anthropic — 2026 Agentic Coding Trends Report (2026)
  7. Anthropic — Measuring AI Agent Autonomy in Practice (February 2026)
  8. Martin Fowler — Harness Engineering (March 2026)
  9. Birgitta Böckeler / Thoughtworks — Harness Engineering for Coding Agent Users (April 2026)
  10. LangChain — The Anatomy of an Agent Harness (2026)
  11. LangChain — Improving Deep Agents with Harness Engineering (2026)
  12. LangChain — Agent Evaluation Readiness Checklist (2026)
  13. Red Hat — Harness Engineering: Structured Workflows for AI-Assisted Development (April 2026)
  14. Microsoft — How We Build Azure SRE Agent with Agentic Workflows (2026)
  15. Meta — Ranking Engineer Agent (REA) (March 2026)
  16. Google — Agent Development Kit (2026)
  17. ai-boost — Awesome Harness Engineering (741 stars, 2026)
  18. Datawhale — self-harness(开源教程, 2026)
  19. aiming-lab — AutoHarness (2026)
  20. Cybernetix Lab — moss-harness (2026)
  21. ModelEngine Group — Nexent (2026)