# AI Harness 作为复合函数:冻结 M(x) 之后的系统编排
从复合函数第一性原理抽象 AI Harness:冻结基础函数 M(x),编排外层链路 H;单轮是严格多层复合,多轮是复合函数与状态机的融合。优化对象从改权重转向改 H。
同一基础模型、同一任务描述,换一套规则文件、校验器与工具白名单,结果可以判若两套系统。工程师常见的第一反应是「换更强的模型」;更稳的解释往往是:失败发生在模型之外的链路里。
本文提出一个可拆解的抽象:AI Harness 的设计与运行,本质是对冻结基础函数 的多层复合与约束封装。 单轮推理接近标准复合函数;多轮 Agent 则在其上叠加状态迭代。优化对象因此从「改权重」转向「改外层 」。本文是 Harness Engineering 的第一性原理姊妹篇:前文讲控制系统怎么搭,本文讲它在映射意义上是什么。
1. 基础函数 :冻结的黑盒算子
主流 Transformer 语言模型在数学上可视为高维、嵌套的多层复合函数。Vaswani 等人将编码器/解码器描述为 层相同子层的堆叠,每层再由注意力与前馈等子变换组成。推理阶段权重 固定后,可把前向过程写成:
其中 为输入表示, 为各层变换。此时 是 Harness 系统的核心基础算子:不改参数,只改它被如何调用、如何被前后处理。
两个性质决定了为何需要 Harness,而非只调提示词:
| 性质 | 含义 | 对系统的后果 |
|---|---|---|
| 黑盒性 | 层内变换不可由业务侧拆解或人工逐步干预 | 可控性必须外置:契约、权限、校验 |
| 概率输出性 | 采样使输出带随机扰动;格式、边界与逻辑连贯性无硬保证 | 需要确定性后处理与反馈回路补偿 |
需要收紧表述:推理期权重冻结,并不等于整条链路「确定性映射」。温度、top-、工具返回与上下文漂移都会改变有效输出。Harness 的工作,正是在随机内核外建立可预期的系统行为。
一句话:模型给出可能性,Harness 给出可靠性。 与 Agentic Coding Agent 核心概念 中「Agent = Model + Harness」一致。
2. 复合函数的三条第一性准则
标准复合 可压缩为三条准则,它们同时是 Harness 架构的底层约束:
- 层级依赖性 — 内层输出是外层输入;顺序不可随意调换,否则映射整体改变。
- 输入输出封闭性 — 每一级的维度、格式与语义必须适配下一级契约。
- 组合扩展性 — 简单算子可嵌套为高阶系统;也可增删、替换某一级而不必重训 。
落到工程语言:
| 准则 | 工程含义 | 破坏时的典型症状 |
|---|---|---|
| 层级依赖 | Prompt 组装 → 推理 → 解析 → 工具 → 再校验,顺序即策略 | 「先润色再校验」导致坏 JSON 被美化后更难修 |
| I/O 封闭 | Schema、MIME、权限边界、错误码结构要显式 | 工具参数幻觉、半截 JSON、类型漂移 |
| 组合扩展 | Guides、Sensors、MCP 工具可插拔 | 只能整仓重写「万能 prompt」 |
这三条不声称「已证明最优 Harness」,而是给出可推演的设计语言:改哪一层、为何改、改完映射如何变。
3. 单轮推理:静态多层复合
Harness 不修改 的内核参数,而是围绕它编排外层函数族 。无状态、单次推理的极简情形下,整条链路等价于标准多层复合:
各层可按职责粗分(实现中常再拆细):
| 符号 | 角色 | 典型操作 |
|---|---|---|
| 前置预处理 | 清洗、上下文拼接、Prompt/技能组装、格式标准化 | |
| 基础函数 | 语义理解与生成(黑盒) | |
| 后置解析 | 解码、结构化解析、JSON/Schema 校验与修正 | |
| 功能与约束 | 工具调度、筛选、逻辑校验、权限过滤、润色 |
小例子。 用户说「把上周失败的支付告警收成一张表」。 注入项目字段约定与日志源; 生成候选表格与查询意图; 校验列名是否符合 Schema; 在只读权限下执行查询; 过滤 PII 后返回。任一层契约断裂(例如 放行非法列名),后续层会放大错误——这正是复合函数顺序敏感的工程显现。
单轮链路严格体现:顺序敏感、层级嵌套、I/O 封闭。它是数学复合在工程系统中的直接落地。
4. 多轮 Agent:带状态的动态复合
完整 Agent 系统突破「无状态、有限步、一次映射」的边界:在多层复合上叠加状态机迭代、条件分支、循环重试与记忆更新。可用示意式写为:
表示 时刻状态,通常包括会话记忆、迭代计数、工具执行记录、任务进度、预算(token/时间/步数)等。每一轮复合的输出更新状态,并进入下一轮输入,形成闭环。
与静态复合的核心差异:
| 静态 | 动态 | |
|---|---|---|
| 映射 | 近似固定(给定采样种子与输入) | 状态驱动;同 可因 不同而不同 |
| 停止 | 一次前向结束 | 需显式停止条件 / 预算 / 人工升级 |
| 失败模式 | 单次契约断裂 | 无限循环、上下文膨胀、重复无效动作 |
这一抽象与 ReAct(推理轨迹与行动交错、观察回写上下文)同构:Thought / Act / Observation 正是在展开 ,而「观察」属于对 的确定性写入,不应由模型伪造。生产里常见的 turn cap、重复动作检测、工具结果原样回灌,都是为状态迭代加的收敛与防发散约束。
多轮 Harness 因此不是「更长的复合」,而是 复合函数 × 状态机:数学上仍可分层讨论,工程上必须单独设计停止与验证。
5. 概念对照:Guides、Sensors、ReAct 与 Loop
中等密度对照,避免做成综述。目标是说明:常见工程词汇可以落入同一复合框架。
5.1 Guides / Sensors 如何落入
在 Harness Engineering 中,Guides 是前馈,Sensors 是反馈。
| 控制类型 | 在复合视角中的位置 | 说明 |
|---|---|---|
| Guides | 主要进入 及路由相关 | 提高「一次做对」的先验:规则、技能、知识指针 |
| 计算型 Sensors | 确定性 (测试、lint、类型、策略引擎) | 不依赖 的再采样即可判定 |
| 推理型 Sensors | 再次调用 的子复合(如独立评审 Agent) | 语义判断;成本更高,契约仍要封闭 |
成熟系统同时需要前馈与反馈:只有 Guides,模型可能「知道规则却不知自己是否合规」;只有 Sensors,会反复撞墙、浪费 token。复合语言把二者都说成可替换的外层函数单元,而不是散落的运维脚本。
5.2 ReAct 作为状态驱动展开
ReAct 把动作空间扩展为「环境动作 ∪ 语言推理」,使思考更新上下文、行动产生观察。在本文记号下:
- 单步「组装上下文 → → 解析工具调用 → 执行 → 写回观察」≈ 一次带状态的
- 直至
finish或步数耗尽 ≈ 的停止条件
对照的价值在于:改进 Agent 时,应问「改的是哪一层 ,还是 的更新规则 / 停止规则」,而不是笼统「再加一句 system prompt」。
5.3 Loop Engineering:跨轮控制平面
Loop Engineering 回答的是另一层问题:哪类工作值得闭环化,以及 Trigger、Verifier、Budget、Handoff 等契约。关系可简述为:
- Harness / — 单次或单会话内, 如何被安全可靠地复合与约束
- Loop — 跨轮次的工作单元如何被托管、验证与升级
Harness 是运行时映射层;Loop 是其上的控制平面。Inner / Middle / Outer 分层见 三循环。复合函数抽象帮助把 Loop 契约中的 Verifier、State、Budget 落到具体 与 字段,避免「循环」只停留在口头。
5.4 与「改 」研究范式的边界
| 范式 | 优化对象 | 典型手段 | 成本形态 |
|---|---|---|---|
| 模型中心 | 的参数与对齐 | 预训练、微调、RLHF 等 | 数据与算力重、迭代慢 |
| Harness 中心 | 与 规则 | 增删替换外层单元、收紧契约、加强 Sensors | 工程迭代快、可局部回滚 |
二者互补,而非互斥。当基础能力相对充足、落地瓶颈在可控性与可维护性时,改 往往是更高杠杆的路径。Böckeler 将 Agent 概括为 Model + Harness,并把用户可建设的 outer harness 作为信任与减负的关键面——与本文「冻结 、编排外层」同向。
6. 边界、反例与表述纪律
形式化是设计语言,不是已完成的最优性证明。常见反模式:
| 反模式 | 复合视角下的问题 | 更稳的做法 |
|---|---|---|
| 过度复合 | 过多且职责重叠,顺序成本高于收益 | 能确定化的合并进计算型 Sensor;砍掉装饰层 |
| 契约断裂 | 输出格式未适配下一层输入 | 显式 Schema;失败即观察,进入重试而非静默吞掉 |
| 无收敛循环 | 无预算、无重复检测、无升级路径 | turn cap、相同动作熔断、HOTL 升级 |
| 用 做本可确定的事 | 把 lint/类型判断交给采样 | 确定性前置;LLM 留给语义权衡 |
| 假装确定性 | 忽略采样与工具噪声 | 在规格里写清随机性边界与重试策略 |
三条表述纪律,避免学术腔空转:
- 不把示意式当成定理 — 是结构摘要,具体语义依赖实现。
- 区分冻结权重与冻结行为 — 权重固定 ≠ 系统行为固定。
- 每个 必须可测试 — 不能单测的层,往往不是函数单元,而是隐患。
7. 结论、开放问题与最小行动
结论
- 本质定性 — Harness 工作是围绕 做外层复合的编排、单元设计、链路优化与迭代约束;是能力的高阶封装与可控放大。
- 形态区分 — 单轮 ≈ 严格多层复合;多轮 ≈ 复合函数与状态机的融合,兼具可分层性与工程灵活性。
- 优化逻辑 — 性能与可靠性改进,优先通过增删、替换、调优 与 规则重构映射,而非默认先动权重。
开放问题(研究议程)
- 外层单元的最优组合策略如何在约束下搜索或演化?
- 状态迭代的收敛机制(何时保证停止、何时应升级人类)?
- 对不确定输出的函数约束算法(Schema、类型、策略、独立评审)如何系统化权衡成本与风险?
最小行动清单
- 画一张你当前系统的 层图:标出 、、解析、工具、权限。
- 为多轮路径写明 字段与停止条件;缺省即视为反模式。
- 把反复出现的失败,回写为某一 或 Sensor,而不是只在对话里纠正一次。
- 与站内实践对齐:Guides / Sensors 见 Harness Engineering;跨轮契约见 Loop Engineering。
当前研究大量聚焦 的优化。Harness 开辟的另一条路是:不改造基础算子,通过高阶复合规则重构系统输出。 在能力相对饱和、交付要求上升的阶段,基于复合函数的 Harness 迭代,是低成本提升鲁棒性与可解释性的主战场——从经验性搭建,走向可拆解、可验证的系统优化。
参考
- Vaswani et al., Attention Is All You Need, NeurIPS 2017
- Birgitta Böckeler, Harness engineering for coding agent users, Martin Fowler, 2026
- Yao et al., ReAct: Synergizing Reasoning and Acting in Language Models, ICLR 2023
- 站内:Harness Engineering、Loop Engineering、Agentic Coding Agent 核心概念、Inner / Middle / Outer Loop