概念 6:Harness 的精确定义与组件清单

本概念由 LangChain、HumanLayer、Martin Fowler 三篇文章综合提炼,是对 OpenAI 原文的扩展。

定义

Agent = Model + Harness

Harness = 模型之外的一切代码、配置和执行逻辑。

裸模型不是智能体——它接受文本/图片/音频/视频,输出文本。它不能原生维护状态、执行代码、访问实时知识、搭建环境。当 harness 给它状态、工具执行、反馈回路和可执行约束时,它才成为智能体。

完整组件清单

来自 LangChain

组件说明
System PromptsAGENTS.md、CLAUDE.md
Tools & MCP扩展智能体能力的工具和协议
Skills渐进式加载的知识包
沙箱基础设施文件系统、浏览器、隔离执行环境
编排逻辑子智能体生成、handoff、模型路由
Hooks/中间件compaction、续接、lint 检查

来自 HumanLayer(六个配置杠杆)

#杠杆要点
1AGENTS.md≤60 行,禁止自动生成
2MCP Servers信任边界 + 工具数量控制
3Skills渐进式披露,按需加载
4Sub-Agents上下文防火墙,隔离防 context rot
5Hooks生命周期脚本,成功静默/失败报错
6Back-Pressure测试/构建/类型检查 = 自我验证回路

来自 Martin Fowler(三层框架)

┌─────────────────────────────────────────┐
│        Context Engineering              │  知识库 + 动态上下文
├─────────────────────────────────────────┤
│     Architectural Constraints           │  LLM 审查 + linter + 结构测试
├─────────────────────────────────────────┤
│     Garbage Collection Agents           │  定期扫描 + 修复漂移
└─────────────────────────────────────────┘

Harness 与模型训练的耦合

LangChain 文章的关键发现:

  • 模型在 post-training 阶段与特定 harness 共同训练
  • 模型可能 overfit 到特定 harness,换 harness 后表现暴跌
  • Terminal Bench 2.0 数据:纯 harness 优化可以把排名从 Top 30 拉到 Top 5
  • 推论:最适合你任务的 harness,不一定是模型 post-training 时用的那个

Guides × Sensors:组件如何协同(来自 Fowler 正式版)

上述组件清单回答了”harness 有什么零件”,但没有回答”这些零件如何协同工作”。Böckeler 在 2026-04-02 的正式版文章中用控制论框架做了升维:

2×2 矩阵

计算性(确定性,CPU)推理性(语义,LLM)
引导器/前馈bootstrap 脚本、OpenRewrite、LSPAGENTS.md、Skills、architecture.md
传感器/反馈linter、ArchUnit、类型检查、覆盖率AI code review、LLM-as-judge
  • 引导器(Guides/前馈):在智能体行动之前引导它,增加首次成功概率
  • 传感器(Sensors/反馈):在智能体行动之后观察,启用自我纠正
  • 计算性:确定性、快速、便宜,每次提交都跑
  • 推理性:概率性、慢、贵,选择性运行

关键洞察:单独使用任一维度都不行——只有反馈 = 反复犯同样错误;只有前馈 = 不知道规则是否生效。

三个规制维度

维度成熟度说明
可维护性 Harness最成熟内部代码质量,现有工具丰富
架构适应度 Harness中等本质是 Fitness Functions
行为 Harness最弱”房间里的大象”——功能正确性验证仍无可靠答案

Harnessability(可驾驭性)

不是所有代码库都同样适合被 harness:

  • 强类型语言 天然自带类型检查传感器
  • 清晰模块边界 支持架构约束规则
  • 成熟框架(如 Spring)隐式提高智能体成功概率
  • Ambient Affordances(Ned Letcher):环境本身的结构属性——可读性、可导航性、可处理性

Ashby 必要多样性定律

调节器必须至少拥有与被调节系统同等的多样性。

LLM 能生成几乎任何东西(高多样性)→ 选定拓扑结构 = 削减多样性 → 全面 harness 变得可行。这为”约束越严,自主性越强”提供了控制论根基。

与 Harness.io(CI/CD 平台)的关系

两者不是同一个东西,但共享同一个工程哲学:

AI Harness Engineering          Harness.io (CI/CD)
约束 AI 智能体的行为              约束代码交付的过程
AGENTS.md + linter + 背压       Pipeline + Policy-as-Code + 门控
目标:可靠的代码生成              目标:可靠的代码部署

共同本质:用确定性约束驾驭不确定性系统
         Backpressure over Prescription