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