AI Harness工程

为 AI Harness 设计控制平面与数据平面

2026-03-02 #控制平面#数据平面#Agent运行时

控制平面管理策略、版本与配额,数据平面执行会话和工具调用。

AI Harness 控制平面生成版本快照并由数据平面固定使用的架构图

图:配置先组合、验证并签名,再由新 Run 固定使用;点击查看原图。

问题背景

生成式模型擅长处理模糊语言和提出候选方案,却不天然保证状态一致、权限正确或动作可恢复。讨论“为 AI Harness 设计控制平面与数据平面”时,重点不应只是跑通演示,而是系统失败后是否知道发生了什么、能否安全继续,以及结果能否重复验证。

设计方案

策略采用不可变版本,运行实例只读取快照,租户配额和工具许可由控制平面下发。

在“控制面版本快照”进入实现前,先标注输入来源、调用身份和数据等级;输出通过结构与领域校验后才允许进入下一步。涉及外部副作用时,执行记录必须包含稳定业务键和脱敏证据。

实施产物:控制面版本快照

控制面发布模型、规则、配额和工具目录;数据面只读取不可变快照并执行;运行记录快照版本。先在测试环境保存一条完整运行证据,再接入真实写操作;每次变更都必须能定位到配置、代码和数据版本。

1
2
3
4
5
6
7
practice:
id: harness-control-plane
artifact: "控制面版本快照"
owner: platform-team
timeout_seconds: 30
failure_mode: fail_closed
audit: required

示例只表达边界,不是可直接复制的完整框架配置。落地时应使用当前依赖版本的官方 API,并把超时、身份和审计接到现有基础设施。

实施步骤

  1. 选一个可回放的小任务,写清输入、成功条件和禁止发生的副作用。
  2. 实现“控制面版本快照”,把模型建议与真正执行隔离。
  3. 人工走通成功、拒绝和恢复三条路径,保存 run_id 与关键事件。
  4. 加入自动化回归,再用小比例非关键流量观察指标。
  5. 达到门槛后逐步放量;任一安全约束失败立即停止新任务并回退版本。

失败演练与验收

首要反例是:运行中热更新导致同一任务前后规则不同。不要只验证顺利完成;还要注入超时、重复请求、取消、无权限输入和依赖返回畸形数据。

本篇的硬性验收是:发布新快照后,旧 Run 仍使用旧版本,新 Run 使用新版本。同时记录 快照分发延迟、版本漂移节点数。验收脚本应按结构化字段判定,不以“回答看起来合理”代替测试。

上线与回滚

“控制面版本快照”上线前要固定模型、提示、规则、工具 schema 与数据版本,并用影子或灰度流量比较旧版。若 快照分发延迟、版本漂移节点数 越过门槛,先停止新 Run,再处理在途任务,恢复旧组合后逐项核对未决副作用。

适用边界

当场景是“单机且无动态配置的原型”时,这套设计的维护成本通常高于收益。权限、金额、删除和一致性约束始终交给确定性代码,不能交给模型自行判断。

快照发布而非在线散改

控制面对象 版本策略 数据面使用方式
model route 不可变 route_set ID Run 创建时固定
prompt/rule 内容摘要 + 语义版本 只读缓存
tool schema 兼容版本矩阵 调用前校验
tenant policy 单调 revision 每个动作前复核高风险项

控制面先验证组合兼容,再生成带签名/摘要的 release snapshot。数据面拉取快照到本地缓存,通过原子指针激活;控制面短暂不可用时可继续使用最后已知良好版本,但过期超过阈值后拒绝启动新的高风险 Run。

旧 Run 固定旧快照保证可恢复,新 Run 使用当前快照。若安全策略必须立即撤销,使用独立的 deny/revocation 通道覆盖旧快照,但它只能收紧不能放宽。节点上报实际快照 ID,控制面才能发现“发布成功但部分节点仍旧版”。

演练部分节点离线、快照损坏、乱序到达、签名失败和回滚。验收发布具备 prepare—activate 两阶段,未准备节点不会半包运行;回滚恢复完整组合而非单个提示,指标按 snapshot ID 分组比较成功率、成本和违规数。

第二轮实践复核

围绕“控制面版本快照”建立一个不接触生产数据的最小项目,固定运行时、框架、模型、提示、规则和工具 schema 版本。正文代码块若缺少完整依赖、导入或领域类型,应视为架构伪代码;只有放入示例仓库并通过下述命令的代码才标记为可运行。

  • 项目验证:运行项目既有的 schema 校验、契约测试与离线评测命令
  • 回归夹具:把输入、结构化输出、工具轨迹和副作用记录为 JSON,用固定版本执行正常、拒绝、超时、取消与重复请求五组回归样本。
  • 必留证据:run_id、版本组合、终止原因、动作幂等键,以及 快照分发延迟、版本漂移节点数。
  • 通过条件:未批准写操作为零副作用;相同幂等键重复执行只产生一个业务结果;超时或恢复后状态可解释。
  • 失败处理:先停新任务,再核对在途动作;回滚模型、提示、规则、工具与状态迁移的完整组合,不能只换回模型。

复用顺序

  1. 为“为 AI Harness 设计控制平面与数据平面”建立确定性假工具,先跑契约与失败用例,不接触真实凭据。
  2. 围绕“控制面版本快照”接入只读能力,核对权限裁剪、脱敏字段和 Trace 完整性。
  3. 需要写能力时先输出 dry-run 差异,再绑定审批结果与一次性动作哈希。
  4. 以本文验收指标比较影子流量;达到门槛才放量,越线立即执行文中的组合回滚。

实践与资料复核日期:2026-08-22;框架 API 以锁定版本的官方文档为准。

参考资料

框架 API 会持续演进,复制示例前应再次确认当前版本。可持续的 AI 工程不依赖某个模型偶尔表现出色,而依赖清晰契约、可靠 Harness 与可重复验证。

评论
分享

评论