[research@ai4se] : ~ $
cd ../
[tools] | | 18 min

# AI Harness 作为复合函数:冻结 M(x) 之后的系统编排

从复合函数第一性原理抽象 AI Harness:冻结基础函数 M(x),编排外层链路 H;单轮是严格多层复合,多轮是复合函数与状态机的融合。优化对象从改权重转向改 H。

[harness-engineering][function-composition][agentic-systems]

同一基础模型、同一任务描述,换一套规则文件、校验器与工具白名单,结果可以判若两套系统。工程师常见的第一反应是「换更强的模型」;更稳的解释往往是:失败发生在模型之外的链路里。

本文提出一个可拆解的抽象:AI Harness 的设计与运行,本质是对冻结基础函数 M(x)M(x) 的多层复合与约束封装。 单轮推理接近标准复合函数;多轮 Agent 则在其上叠加状态迭代。优化对象因此从「改权重」转向「改外层 H\mathcal{H}」。本文是 Harness Engineering 的第一性原理姊妹篇:前文讲控制系统怎么搭,本文讲它在映射意义上是什么。

1. 基础函数 M(x)M(x):冻结的黑盒算子

主流 Transformer 语言模型在数学上可视为高维、嵌套的多层复合函数。Vaswani 等人将编码器/解码器描述为 NN 层相同子层的堆叠,每层再由注意力与前馈等子变换组成。推理阶段权重 θ\theta 固定后,可把前向过程写成:

M(x)=Fn ⁣(Fn1(F1(x;θ)))M(x) = F_n\!\big(F_{n-1}(\cdots F_1(x;\theta)\cdots)\big)

其中 xx 为输入表示,FiF_i 为各层变换。此时 MM 是 Harness 系统的核心基础算子:不改参数,只改它被如何调用、如何被前后处理。

两个性质决定了为何需要 Harness,而非只调提示词:

性质含义对系统的后果
黑盒性层内变换不可由业务侧拆解或人工逐步干预可控性必须外置:契约、权限、校验
概率输出性采样使输出带随机扰动;格式、边界与逻辑连贯性无硬保证需要确定性后处理与反馈回路补偿

需要收紧表述:推理期权重冻结,并不等于整条链路「确定性映射」。温度、top-pp、工具返回与上下文漂移都会改变有效输出。Harness 的工作,正是在随机内核外建立可预期的系统行为

一句话:模型给出可能性,Harness 给出可靠性。Agentic Coding Agent 核心概念 中「Agent = Model + Harness」一致。

2. 复合函数的三条第一性准则

标准复合 H(x)=f(g(x))H(x)=f(g(x)) 可压缩为三条准则,它们同时是 Harness 架构的底层约束:

  1. 层级依赖性 — 内层输出是外层输入;顺序不可随意调换,否则映射整体改变。
  2. 输入输出封闭性 — 每一级的维度、格式与语义必须适配下一级契约。
  3. 组合扩展性 — 简单算子可嵌套为高阶系统;也可增删、替换某一级而不必重训 MM

落到工程语言:

准则工程含义破坏时的典型症状
层级依赖Prompt 组装 → 推理 → 解析 → 工具 → 再校验,顺序即策略「先润色再校验」导致坏 JSON 被美化后更难修
I/O 封闭Schema、MIME、权限边界、错误码结构要显式工具参数幻觉、半截 JSON、类型漂移
组合扩展Guides、Sensors、MCP 工具可插拔只能整仓重写「万能 prompt」

这三条不声称「已证明最优 Harness」,而是给出可推演的设计语言:改哪一层、为何改、改完映射如何变。

3. 单轮推理:静态多层复合 Hsingle\mathcal{H}_{single}

Harness 不修改 MM 的内核参数,而是围绕它编排外层函数族 H={h0,h1,,hk}\mathcal{H}=\{h_0,h_1,\ldots,h_k\}。无状态、单次推理的极简情形下,整条链路等价于标准多层复合:

Hsingle(x)=hk ⁣(h2(h1(M(h0(x)))))\mathcal{H}_{single}(x) = h_k\!\big(\cdots h_2\big(h_1\big(M(h_0(x))\big)\big)\cdots\big)

各层可按职责粗分(实现中常再拆细):

符号角色典型操作
h0h_0前置预处理清洗、上下文拼接、Prompt/技能组装、格式标准化
MM基础函数语义理解与生成(黑盒)
h1h_1后置解析解码、结构化解析、JSON/Schema 校验与修正
h2hkh_2\sim h_k功能与约束工具调度、筛选、逻辑校验、权限过滤、润色

小例子。 用户说「把上周失败的支付告警收成一张表」。h0h_0 注入项目字段约定与日志源;MM 生成候选表格与查询意图;h1h_1 校验列名是否符合 Schema;h2h_2 在只读权限下执行查询;h3h_3 过滤 PII 后返回。任一层契约断裂(例如 h1h_1 放行非法列名),后续层会放大错误——这正是复合函数顺序敏感的工程显现。

单轮链路严格体现:顺序敏感、层级嵌套、I/O 封闭。它是数学复合在工程系统中的直接落地。

4. 多轮 Agent:带状态的动态复合 Hmulti\mathcal{H}_{multi}

完整 Agent 系统突破「无状态、有限步、一次映射」的边界:在多层复合上叠加状态机迭代、条件分支、循环重试与记忆更新。可用示意式写为:

Hmulti(x,St)=Loop ⁣(Hsingle(x,St),  StSt+1)\mathcal{H}_{multi}(x, S_t) = \mathcal{Loop}\!\big(\mathcal{H}_{single}(x, S_t),\; S_t \to S_{t+1}\big)

StS_t 表示 tt 时刻状态,通常包括会话记忆、迭代计数、工具执行记录、任务进度、预算(token/时间/步数)等。每一轮复合的输出更新状态,并进入下一轮输入,形成闭环。

与静态复合的核心差异:

静态 Hsingle\mathcal{H}_{single}动态 Hmulti\mathcal{H}_{multi}
映射近似固定(给定采样种子与输入)状态驱动;同 xx 可因 StS_t 不同而不同
停止一次前向结束需显式停止条件 / 预算 / 人工升级
失败模式单次契约断裂无限循环、上下文膨胀、重复无效动作

这一抽象与 ReAct(推理轨迹与行动交错、观察回写上下文)同构:Thought / Act / Observation 正是在展开 Loop\mathcal{Loop},而「观察」属于对 StS_t 的确定性写入,不应由模型伪造。生产里常见的 turn cap、重复动作检测、工具结果原样回灌,都是为状态迭代加的收敛与防发散约束

多轮 Harness 因此不是「更长的复合」,而是 复合函数 × 状态机:数学上仍可分层讨论,工程上必须单独设计停止与验证。

5. 概念对照:Guides、Sensors、ReAct 与 Loop

中等密度对照,避免做成综述。目标是说明:常见工程词汇可以落入同一复合框架。

5.1 Guides / Sensors 如何落入 hih_i

Harness Engineering 中,Guides 是前馈,Sensors 是反馈。

控制类型在复合视角中的位置说明
Guides主要进入 h0h_0 及路由相关 hih_i提高「一次做对」的先验:规则、技能、知识指针
计算型 Sensors确定性 hjh_j(测试、lint、类型、策略引擎)不依赖 MM 的再采样即可判定
推理型 Sensors再次调用 MM 的子复合(如独立评审 Agent)语义判断;成本更高,契约仍要封闭

成熟系统同时需要前馈与反馈:只有 Guides,模型可能「知道规则却不知自己是否合规」;只有 Sensors,会反复撞墙、浪费 token。复合语言把二者都说成可替换的外层函数单元,而不是散落的运维脚本。

5.2 ReAct 作为状态驱动展开

ReAct 把动作空间扩展为「环境动作 ∪ 语言推理」,使思考更新上下文、行动产生观察。在本文记号下:

  • 单步「组装上下文 → MM → 解析工具调用 → 执行 → 写回观察」≈ 一次带状态的 Hsingle\mathcal{H}_{single}
  • 直至 finish 或步数耗尽 ≈ Loop\mathcal{Loop} 的停止条件

对照的价值在于:改进 Agent 时,应问「改的是哪一层 hih_i,还是 StS_t 的更新规则 / 停止规则」,而不是笼统「再加一句 system prompt」。

5.3 Loop Engineering:跨轮控制平面

Loop Engineering 回答的是另一层问题:哪类工作值得闭环化,以及 Trigger、Verifier、Budget、Handoff 等契约。关系可简述为:

  • Harness / H\mathcal{H} — 单次或单会话内,MM 如何被安全可靠地复合与约束
  • Loop — 跨轮次的工作单元如何被托管、验证与升级

Harness 是运行时映射层;Loop 是其上的控制平面。Inner / Middle / Outer 分层见 三循环。复合函数抽象帮助把 Loop 契约中的 Verifier、State、Budget 落到具体 hih_iStS_t 字段,避免「循环」只停留在口头。

5.4 与「改 MM」研究范式的边界

范式优化对象典型手段成本形态
模型中心MM 的参数与对齐预训练、微调、RLHF 等数据与算力重、迭代慢
Harness 中心H\mathcal{H}SS 规则增删替换外层单元、收紧契约、加强 Sensors工程迭代快、可局部回滚

二者互补,而非互斥。当基础能力相对充足、落地瓶颈在可控性与可维护性时,H\mathcal{H} 往往是更高杠杆的路径。Böckeler 将 Agent 概括为 Model + Harness,并把用户可建设的 outer harness 作为信任与减负的关键面——与本文「冻结 MM、编排外层」同向。

6. 边界、反例与表述纪律

形式化是设计语言,不是已完成的最优性证明。常见反模式:

反模式复合视角下的问题更稳的做法
过度复合hih_i 过多且职责重叠,顺序成本高于收益能确定化的合并进计算型 Sensor;砍掉装饰层
契约断裂输出格式未适配下一层输入显式 Schema;失败即观察,进入重试而非静默吞掉
无收敛循环Loop\mathcal{Loop} 无预算、无重复检测、无升级路径turn cap、相同动作熔断、HOTL 升级
MM 做本可确定的事把 lint/类型判断交给采样确定性前置;LLM 留给语义权衡
假装确定性忽略采样与工具噪声在规格里写清随机性边界与重试策略

三条表述纪律,避免学术腔空转:

  1. 不把示意式当成定理Hmulti\mathcal{H}_{multi} 是结构摘要,具体语义依赖实现。
  2. 区分冻结权重与冻结行为 — 权重固定 ≠ 系统行为固定。
  3. 每个 hih_i 必须可测试 — 不能单测的层,往往不是函数单元,而是隐患。

7. 结论、开放问题与最小行动

结论

  1. 本质定性 — Harness 工作是围绕 MM 做外层复合的编排、单元设计、链路优化与迭代约束;是能力的高阶封装与可控放大。
  2. 形态区分 — 单轮 ≈ 严格多层复合;多轮 ≈ 复合函数与状态机的融合,兼具可分层性与工程灵活性。
  3. 优化逻辑 — 性能与可靠性改进,优先通过增删、替换、调优 hih_iSS 规则重构映射,而非默认先动权重。

开放问题(研究议程)

  • 外层单元的最优组合策略如何在约束下搜索或演化?
  • 状态迭代的收敛机制(何时保证停止、何时应升级人类)?
  • 对不确定输出的函数约束算法(Schema、类型、策略、独立评审)如何系统化权衡成本与风险?

最小行动清单

  1. 画一张你当前系统的 Hsingle\mathcal{H}_{single} 层图:标出 h0h_0MM、解析、工具、权限。
  2. 为多轮路径写明 StS_t 字段与停止条件;缺省即视为反模式。
  3. 把反复出现的失败,回写为某一 hih_i 或 Sensor,而不是只在对话里纠正一次。
  4. 与站内实践对齐:Guides / Sensors 见 Harness Engineering;跨轮契约见 Loop Engineering

当前研究大量聚焦 M(x)M(x) 的优化。Harness 开辟的另一条路是:不改造基础算子,通过高阶复合规则重构系统输出。 在能力相对饱和、交付要求上升的阶段,基于复合函数的 Harness 迭代,是低成本提升鲁棒性与可解释性的主战场——从经验性搭建,走向可拆解、可验证的系统优化。

参考