Harness Engineering 深度研究报告

执行摘要:Harness Engineering(缰绳工程)是 2026 年 AI 工程领域最重要的范式转变。本报告显示,通过系统性构建围绕 AI 模型的约束和反馈机制,团队能够在不改变模型的情况下将 agent 性能提升 36%(从 Top 30 到 Top 5)。Hermes Agent 是该方法论的第一次完整产品化实现。

研究日期:2026-04-08
研究方法:多 MCP 工具协同搜索(Exa、Tavily)、网页内容提取(Exa Web Fetch)、Sequential-Thinking 结构化分析
报告类型:深度研究 / 技术分析


目录

  1. 执行摘要
  2. 概念定义与起源
  3. 核心实验与数据
  4. Harness 五组件框架
  5. Hermes Agent:完整产品化实现
  6. 实际应用案例
  7. 实践指南
  8. 局限性与未来方向
  9. 索引与参考文献

一、概念定义与起源

1.1 什么是 Harness Engineering?

Harness Engineering(缰绳工程) 是一种系统设计方法论,通过构建围绕 AI 模型的约束、反馈和控制机制,使 agent 在真实环境中可靠运行,而无需等待模型本身的改进。

核心洞察:瓶颈不是模型,是环境设计。

1.2 概念演化时间线

时间 事件 意义
2023-2024 Prompt Engineering 巅峰 “一问一答”结构,优化指令
2025 年中 Context Engineering 兴起 Karpathy remarks + LangChain/Anthropic 正式定义,RAG、MCP、记忆等系统级上下文设计
2026-02-05 Mitchell Hashimoto 博客 首次命名 “Engineer the Harness”
2026-02-11 OpenAI 实地报告 描述 0 行手写代码构建内部产品的 harness
2026-02-17 LangChain 实验报告 证明 harness 优化可将 agent 从 Top 30 提升至 Top 5
2026-03 社区广泛采用 Martin Fowler、Ethan Mollick 等跟进分析

1.3 关键人物与机构


二、核心实验与数据

2.1 LangChain Terminal Bench 2.0 实验

实验设计: - 模型:固定使用 gpt-5.2-codex(一行未改) - 基准:Terminal Bench 2.0(89 个任务,涵盖机器学习、调试、生物学等领域) - 变量:仅调整 harness(系统提示、工具、中间件)

结果

迭代 Harness 变更 得分 排名
基线 默认提示 + 标准工具 52.8% Top 30 外
迭代 1 添加 Self-Verify 提示 59.6% Top 20
迭代 2 添加 LocalContextMiddleware 63.6% Top 10
迭代 3 添加 LoopDetectionMiddleware 66.5% Top 5

关键改进措施

  1. Build & Self-Verify(构建与自验证)
  2. 环境上下文注入
  3. 循环检测与恢复
  4. 推理计算预算优化

2.2 OpenAI 内部产品案例

规模: - 约 100 万行代码 - 0 行手动编写的源代码 - 5 个月开发周期

Harness 架构: - 分层架构 enforced by custom linters 和 structural tests - Agent-to-Agent 审查循环(合并前) - 后台清理 agent 修复 drift - 结构化仓库文档作为真实来源

结论:“我们最困难的挑战现在集中在设计环境、反馈 loop 和控制系统上。”


三、Harness 五组件框架

3.1 框架总览

┌─────────────────────────────────────────────────────────┐
│                    AI Agent                              │
│  ┌───────────────────────────────────────────────────┐  │
│  │                    Model                          │  │
│  │              (GPT, Claude, etc.)                  │  │
│  └───────────────────────────────────────────────────┘  │
│                         +                                │
│  ┌───────────────────────────────────────────────────┐  │
│  │                   Harness                         │  │
│  │  ┌───────┬───────┬───────┬───────┬───────┐       │  │
│  │  │指令层 │约束层 │反馈层 │记忆层 │编排层 │       │  │
│  │  └───────┴───────┴───────┴───────┴───────┘       │  │
│  └───────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────┘

3.2 五组件详解

组件 1:指令层(Instruction Layer)

作用:告诉 AI 应该做什么、如何做

实现方式 手动实现 Hermes 内建
工具 CLAUDE.md / AGENTS.md Skill 系统
更新频率 手动 自动创建 + 自改进
格式 静态文档 Markdown Skill 文件

示例

# Cloudflare Workers Pages 部署技能

## 何时使用
当需要部署静态 HTML 到 Cloudflare Workers Pages 时

## 流程
1. 检查 wrangler 配置
2. 执行 `npm run deploy`
3. 验证部署 URL

## 常见陷阱
- 确保 API Token 有正确权限
- 检查 project name 唯一性

组件 2:约束层(Constraint Layer)

作用:限制 AI 不能做什么,防止错误

机制 实现方式
工具权限 每个工具独立权限控制
沙箱隔离 Docker / SSH 后端
Toolset 管理 按需启用工具集
静态检查 Linters, Type Checkers

示例

# 危险命令需要确认
if command.startswith("rm -rf"):
    require_user_confirmation()

组件 3:反馈层(Feedback Layer)

作用:给 AI 提供执行结果的反馈

类型 计算型(CPU) 推理型(GPU)
速度 毫秒 - 秒 秒 - 分钟
成本
确定性 确定 概率
示例 测试、linter AI 代码审查

Hermes 实现: - 每 15 个 tool calls 自动 self-evaluation checkpoint - 任务完成后自动复盘生成/更新 Skill - 用户纠正自动记录到 MEMORY.md

组件 4:记忆层(Memory Layer)

作用:存储历史经验和知识

层级 内容 实现
会话记忆 当前对话上下文 Context Window
持久记忆 跨会话事实、偏好 SQLite + FTS5 + LLM 总结
Skill 记忆 程序性知识 Markdown Skill 文件
用户建模 用户画像 Honcho 系统

组件 5:编排层(Orchestration Layer)

作用:协调多个 AI 或工具的协作

功能 手动实现 Hermes 内建
多 Agent 自建 pipeline 子 Agent 委派
定时任务 Cron + 脚本 内置 Cron 调度
并行执行 手动管理 自动并行化

四、Hermes Agent:完整产品化实现

4.1 为什么 Hermes 是 Harness Engineering 的完整实现?

Hermes Agent 将 Harness 五组件全部内建,从”你给 AI 造缰绳”变成”AI 自己给自己造缰绳”。

Harness 组件 Claude Code(手动) Hermes Agent(自动)
指令层 手写 CLAUDE.md 自动生成 + 自改进 Skill
约束层 手动配 hooks 权限控制 + 沙箱
反馈层 人工审查 自动复盘 + 优化
记忆层 手动维护知识库 三层记忆 + 用户建模
编排层 自建多 Agent 子 Agent 委派 + cron

4.2 封闭学习闭环(Closed Learning Loop)

四阶段流程

Stage 1: Task Execution
    ↓
Stage 2: Self-Evaluation Checkpoint(每 15 tool calls)
    ↓
Stage 3: Skill Creation or Update
    ↓
Stage 4: Memory Update
    ↓
(回到 Stage 1,循环)

具体机制

每 15 个 tool calls,Hermes 暂停并评估: - 我做了什么? - 什么有效?什么失败了? - 这个经验值得捕捉吗? - 应该创建或更新哪个 Skill?

4.3 技能系统

Skill 创建

skill_manage(action="create",
    name="competitor-analysis-workflow",
    content="# Competitor Analysis Workflow\n\n## 何时使用\n当研究竞争对手内容策略时...")

Skill 自改进

skill_manage(action="patch",
    name="competitor-analysis-workflow",
    old_text="不要分析超过 5 个竞争对手",
    new_text="不要分析超过 3 个(5 个会导致上下文溢出)")

20-30 个任务后的效果: - 速度:从 25 tool calls 降至 8-10 - 准确率:停止重复被纠正的错误 - 预期性:主动应用品牌指南、代码规范 - Skill 库:10-40 个自动创建的定制技能

4.4 技术架构

特性 实现
语言 Python (92.9%)
依赖管理 uv
内置工具 40+
MCP 支持 完整集成
Skill 标准 agentskills.io
用户建模 Honcho
许可证 MIT

部署选项: - 本地终端 - Docker 沙箱 - SSH 远程 - Daytona - Singularity - Modal(无服务器)


五、实际应用案例

5.1 案例 1:内容机构工作流

背景:YouTube 评测者,内容生产 pipeline

初始状态: - 手动生成图片(Nano Banana + fal.ai) - 手动用 Python 添加 logo - 每次重复相同流程

Hermes 介入后: 1. 自动识别混合方法需求 2. 创建 “brand-image-generation” Skill 3. 下次任务直接复用

结果: - 设置多 Agent 工作流: - 社交媒体经理:排期 + 写帖子 - 视觉 Agent:生成图片 - 广告创建 Agent:合成最终素材 - 仅需一句话:“研究这些竞争对手品牌”

5.2 案例 2:Stripe 生产部署

规模: - 每周 1000+ 合并 PR - 隔离环境执行 - 硬性 CI 限制 + 升级规则

Harness 特点: - Pre-push hooks 基于启发式运行相关 linter - “Shift feedback left”原则 - Blueprint 系统集成反馈传感器

5.3 案例 3:Datadog 可观测性集成

创新点:将生产遥测作为 harness 一部分

流程: 1. Agent 生成代码 → 部署 2. 性能回归检测 3. 信号反馈回 loop 4. Agent 自动修复

模式:Generate → Validate → Fix → Observe


六、实践指南

6.1 开始构建你的 Harness

第一步:识别重复错误 - 记录 agent 犯的同样错误 - 分类:指令不清?缺少约束?无反馈?

第二步:添加约束

# 示例:添加 pre-commit hook
hermes tools add --hook pre-commit
# 运行 linter + 测试

第三步:创建 Skill

# 手动创建或让 Hermes 自动创建
hermes skills create my-workflow

第四步:建立反馈 loop - 启用 self-evaluation checkpoints - 配置自动复盘 - 连接错误追踪系统

6.2 Harness 模板

根据 Martin Fowler 的分析,三种 Harness 类别:

类别 目标 工具示例
Maintainability Harness 代码可维护性 Linters, 结构测试,ArchUnit
Architecture Fitness Harness 架构适应性 性能测试,可观测性规范
Behavior Harness 功能正确性 功能规格 + AI 生成测试 + 人工测试

6.3 常见陷阱

陷阱 症状 解决方案
Harness Debt Harness 本身变得复杂难维护 定期重构 Harness 代码
过度约束 Agent 无法完成创造性任务 分层约束,核心 vs 边缘
反馈延迟 错误在 pipeline 后期才发现 Shift feedback left
上下文溢出 Skill 库太大导致 prompt 膨胀 Progressive disclosure
一次性任务 为只用一次的任务创建 Skill 设定 ROI 阈值

七、局限性与未来方向

7.1 当前局限

  1. 新领域问题
  2. 结构性错误
  3. Token 预算问题
  4. 跨安装同步

7.2 未来方向

  1. 多模型 Harness
  2. 持续学习原语
  3. Harness 评估
  4. Harness 模板生态

八、索引与参考文献

8.1 核心文献

  1. LangChain Team. “Improving Deep Agents with harness engineering” (2026-02-17)
  2. Mitchell Hashimoto. “My AI Adoption Journey: Step 5 - Engineer the Harness” (2026-02-05)
  3. OpenAI. “Harness engineering: leveraging Codex in an agent-first world” (2026-02-11)
  4. Martin Fowler. “Harness Engineering” (2026-04-02)
  5. Louis-François Bouchard. “Harness Engineering: The Missing Layer Behind AI Agents” (2026-03-25)

8.2 Hermes Agent 资源

  1. Nous Research. “Hermes Agent Documentation”
  2. Jimmy Song. “Hermes Agent: The self-improving AI agent by Nous Research” (2026-04-07)
  3. Hermes Agent Team. “Self-Improving AI: The Complete Guide” (2026-04-04)

8.3 社区分析

  1. Rick Hightower. “LangChain’s Harness Engineering: From Top 30 to Top 5” (2026-03-20)
  2. Gaurav Caprihan. “Harness Engineering for Dummies” (2026-03-08)
  3. Paul Iusztin. “Agentic Harness Engineering” (2026-03-31)
  4. Y Build Team. “Harness Engineering: Build Systems Around AI Agents (2026)”

8.4 相关项目


附录:研究方法

A.1 MCP 工具编排

本次研究使用以下 MCP 工具协同工作:

工具 用途 调用次数
Sequential-Thinking-MCP 研究流程规划与结构化思考 5
Exa MCP 语义搜索 + 网页内容提取 4
Tavily-MCP 补充搜索验证 1
Jina-MCP-Server (离线,未使用) 0

A.2 搜索查询

- "Harness Engineering AI agent framework Mitchell Hashimoto LangChain experiment"
- "Harness Engineering AI agents five components instruction constraint feedback memory orchestration"
- "Hermes Agent Nous Research self-improving agent skill system memory architecture 2026"

A.3 内容提取

使用 Exa Web Fetch 提取以下关键页面完整内容: - LangChain 官方博客 - Martin Fowler 分析文章 - Louis Bouchard 深度解析 - Hermes Agent 官方指南


报告生成时间:2026-04-08 23:30
研究总耗时:约 15 分钟
总引用来源:12+ 篇核心文献


本报告由 Hermes Agent 使用 MCP 工具编排生成,是 Harness Engineering 方法论的实践演示。