目录
来源:【Harness 工程】专业拆解底层逻辑视频字幕
一句话总结:Harness 工程的本质是熵减——通过显式拆出的四层结构(外部记忆 / 工具调用 / 状态构造 / 结构化控制),让大模型 Agent 的不确定性可被工程化地收敛。
开场
大模型能力的增长曲线正在变缓,Agent 开发成为下一波竞赛焦点。开发者们扎堆研究 prompt 模板、工具封装、多 Agent 协作、workflow 编排。
但 90% 的人把 Harness 当成「工具集」「skill 拼装」「workflow 流水线」——这些都只是物理外壳。真正决定 Agent 上限的灵魂被忽略了。
那么 Harness 工程的本质到底是什么?它和强化学习是什么关系?研究级落地该怎么做?
答案是一句话:Harness 是「驾驭、控制并利用」大模型的动词,本质是熵减——把 RL 的隐式抽象显式拆成四层可配置组件,研究级落地必须同时打通三条硬核路径。下面分三层展开。
金字塔总览
mindmap
root((Harness 工程<br/>本质 = 熵减))
一·本质·熵减
动词不是名词
历史演化定位
熵 = 不确定性度量
二·结构·四层架构
外部记忆
工具调用
状态构造
结构化控制
三·实践·三条硬核路径
算法级优化 走深 RL
上下文 压缩 分层 排序
步进式 拆解 可恢复 可验证
一、本质:Harness 的灵魂是「熵减」,不是「封装」
1.1 词义纠偏:动词,不是名词
- 中文世界普遍把 Harness 当成名词(一套工具)——错
- Harness 真正含义是动词:驾驭、控制并利用
- 「封装 skill / 接一堆工具 / 编排 workflow」都只是物理外壳,不是灵魂
1.2 历史定位:技术演化的自然产物
- 概念雏形:Anthropic 去年的一次内部应用
- 真正出圈:2025 年 2 月,由 OpenAI 的 Agent 开发实践带火
- 深层动因:大模型能力曲线变缓 + 预训练权重足够扎实 → Agent 生态自然爆发
- 类比:深度学习 15 年的轨迹也是 CNN/RNN 单点深耕 → Transformer 融合架构
1.3 一句话本质:熵减
- 熵 = 不确定性的度量
- Harness 工程 = 降低 Agent 系统不确定性,达到「所见即所得」的精度
- 这与热力学、信息论里的熵概念高度同构
金句:Harness 不是名词,是动词。它的本质是熵减——把大模型的不确定性收敛为可工程化的确定输出。
二、结构:四层架构是 RL 抽象的「显式工程化」
2.1 与强化学习的同源映射
Harness 继承 RL 的核心循环,但把组件显式拆开。
flowchart LR
A[Environment 环境<br/>工具/文件/浏览器/API] -->|观察| B[State 状态<br/>提示词/记忆/技能]
B -->|策略| C[Action 动作<br/>调用 Bash/MCP/写文件]
C -->|执行| A
A -->|反馈| D[Reward 反馈<br/>验证/赋意]
D -->|更新| B
RL 把这四样折叠进 state / policy / action / reward 的抽象里; Harness 把它们显式拆出来作为系统组件——这正是它区别于 RL 的关键。
2.2 Harness 的四层支柱
| 层 | 名称 | 在 Claude Code 中的对应 |
|---|---|---|
| 1 | 外部记忆 | Workspace 文件系统 |
| 2 | 工具与调用状态 | Bash / Browser / MCP / 文件操作 |
| 3 | 状态构造 | 动态上下文 |
| 4 | 结构化控制 | 任务编排 / 校验反馈环 / 异常恢复 |
每一层都「可配置、可调试、可替换、可演化」——这是工程化的必要条件。
2.3 在 Claude Code 中的重要性排序
决定 Agent 能力上限与下限的排序:
| 排名 | 组件 | 决定什么 |
|---|---|---|
| 1 | 任务编排(结构化控制) | 天花板与扩展性 |
| 2 | 动态上下文 | 单轮输出质量 |
| 3 | Agent 提示词 / .md 基础文件 | 下限(floor) |
| 4 | 工具定义 / Workspace | 基础设施,怎么用看上面三层 |
金句:Agent 真正的瓶颈不是模型的代码能力,而是周边结构、工具与反馈机制跟不上。
三、实践:研究级 Harness 必须打通三条硬核路径
3.1 算法级优化:走深强化学习,不是停留在调参
- 不要满足于工程级调参(换个 prompt、加个工具)
- 必须深入 RL 算法本身——结合控制论基础
- 关键能力:能根据具体场景做算法适配,而不是照搬范例
3.2 上下文工程:压缩 / 分层 / 排序
Anthropic 实测的硬数据:200k 上下文窗口用到约 40% 时,输出质量已开始明显下降。
| 视角 | 退化机理 |
|---|---|
| 语言学 | 废话太多碍事,注意力被稀释 |
| 信息论 | 信噪比下降 → 输出分布扁平化 → 回答平庸 |
| 数学 | 学的是 p(y | x);x 噪声多则 y 退化 |
三原则(必须同时满足):
- 压缩:每个 token 都要承载信息
- 分层:核心 / 参考 / 历史分级管理
- 排序:关键信息靠前,避免被注意力稀释埋没
3.3 步进式执行:拆解 / 可恢复 / 可验证
Anthropic 总结的 Agent 开发坑(看似不同,根因相同):
| 表层症状 | 真正根因 |
|---|---|
| 想一口吃个胖子(boil the ocean) | 中间状态没定义 |
| 过早宣告胜利 | 缺少验证机制 |
| 把没完成的标记为完成 | 缺少可恢复检查点 |
| 环境配置一团糟 | 阶段边界模糊 |
正确做法:
- 长任务必须拆解为可管理的阶段
- 每段都要有清晰的 state
- 每段都要可恢复 + 可验证
金句:所有 Agent 失败的根因都一样——中间状态没定义,检查点不存在,阶段边界模糊。
一页速览
| 层级 | 内容 | 一句话核心 |
|---|---|---|
| 核心结论 | Harness = 熵减工程 | 用四层显式控制让大模型的不确定性可被工程化收敛 |
| 主论点一 | 本质 | Harness 是动词「驾驭」,不是名词「工具集」 |
| 1.1 | 词义 | 物理外壳 ≠ 灵魂 |
| 1.2 | 历史 | 技术演化的自然产物 |
| 1.3 | 同构 | 熵 = 不确定性度量 |
| 主论点二 | 结构 | RL 的四要素被显式拆成四层可工程化组件 |
| 2.1 | 同源 | 环境 / 状态 / 动作 / 反馈 → Harness 显式化 |
| 2.2 | 四层 | 外部记忆 / 工具调用 / 状态构造 / 结构化控制 |
| 2.3 | 排序 | 任务编排 > 动态上下文 > 提示词 > 工具 |
| 主论点三 | 实践 | 同时打通三条硬核路径才算研究级 |
| 3.1 | 算法 | 走深 RL,不止调参 |
| 3.2 | 上下文 | 压缩 + 分层 + 排序(40% 阈值警钟) |
| 3.3 | 执行 | 拆解 + 可恢复 + 可验证 |
一句话收束
AI 概念层出不穷,应对的方式只有一个——以不变应万变,把根扎在底层原理上。