Skip to content

Agent、Skill 与 Harness 实验:把写操作关进可复核流程

本页解决什么

把一次“让 Agent 处理工单”的需求拆成可验证的受控流程,而不是让模型直接拥有工具权限。本实验只处理合成工单:读取合成工单 → 调用分类 Skill → 生成处理建议 → 人工确认 → 写入本地结果文件。任何一步不满足边界时,流程停止并交给人处理。

学习目标

完成后,你能为一个受控写操作定义 Agent 的输入、输出、权限和停止条件;写出可复用的 Skill 契约;并用 Harness 把工具、日志、审批和恢复动作放到模型之外管理。

先修要求

先完成应用工程基础生成式 AI 实验,并阅读Agent 架构上下文与记忆MCP、工具与 Skill安全实践。仅使用合成、公开或已授权的材料;不把真实客户工单、凭据或受限系统接入本实验。

预计时间

90—120 分钟:定义契约 20 分钟、配置 Harness 控制 20 分钟、执行合成工单 25 分钟、人工复核和恢复演练 25—55 分钟。

核心知识

三层分工

模型负责理解与生成:它根据被允许的上下文理解工单、提出分类和建议,但不自行扩大权限。Skill 固化可复用操作契约:它把输入字段、输出字段、可调用动作和失败结果写成稳定约定。Harness 承载模型、上下文、工具和治理:它决定哪些工具能被调用、何时可写入、记录什么日志以及失败后如何恢复。

这是一种职责划分,不是任何单一框架的标准答案。不同实现可以使用不同语言、模型或编排方式,但应保留可审计的契约和控制边界。

固定实验流程

  1. 读取输入:Harness 只向模型提供合成工单编号、问题描述和风险级别,并记录输入版本。
  2. 调用 Skill:分类 Skill 返回结构化建议;模型不得直接执行文件写入或读取未授权来源。
  3. 人工确认:复核人检查分类、证据、风险和目标范围,明确批准、驳回或要求补充。
  4. 写入结果:只有批准后,Harness 才在批准的本地路径写入结果文件,并保存动作标识和确认记录。

分类 Skill 契约

项目契约
Skill 输入工单编号、问题描述、风险级别
Skill 输出分类、建议动作、证据、置信说明
成功条件四个输出字段齐全;证据能够定位到合成规则或明确标为无证据;不产生外部副作用
失败结果返回缺失字段、冲突或不确定原因,并要求人工确认;不以猜测补齐
禁止动作不读取真实工单、不访问凭据、不发送消息、不修改审批外路径

“证据”可以是合成分类规则的编号或输入中的明确线索;它不是把模型推断伪装成已核实事实。“置信说明”必须解释不确定来源,例如描述过短、风险级别冲突或规则缺失。

Harness 治理清单

Harness 必须落实以下控制:

  • 工具白名单:只允许本实验登记的读取、分类和已批准本地写入工具。
  • 只读默认:未获得单次人工确认前,所有工具调用均不产生写入。
  • 写入审批:审批记录要关联工单编号、输出摘要、批准范围和复核人。
  • 超时:为模型、Skill 和写入分别设置上限;超时后终止当前动作,不自动转为更高权限重试。
  • 日志:保留会话日志、工具名、参数摘要、返回状态、审批结果和失败原因;日志不得包含凭据或不必要的敏感内容。
  • 凭据隔离:模型上下文、Skill 参数和日志均不得获得或输出真实密钥;如确需服务凭据,由运行环境以最小范围注入。

最小权限意味着每个步骤只取得完成该步骤所需的权限;沙箱意味着实验过程与真实文件、网络和生产工具隔离;审批意味着人对一次明确的写入范围作出可追溯判断,而不是给模型永久通行证。

停止与恢复

出现以下任一条件,Harness 必须停止自动链路:来源缺失、权限不足、结果冲突、高风险动作,或重复执行无法证明幂等。幂等要求使用稳定的 idempotency_key,相同键重复提交时返回同一已确认结果或明确拒绝重复写入,不生成第二份副作用。

失败恢复先冻结后续工具调用,标记未完成状态,再由复核人检查会话日志、审批记录和已写入文件。若确认需要撤销,只能按预先登记的回滚方法处理批准范围内的合成结果;无法确定写入状态时保留证据并人工接管,不做猜测性清理。

实操任务

  1. 写一条合成工单,例如“SYN-001:说明书与产品描述不一致;风险级别中”,并保存输入版本和来源标记。
  2. 按上表实现或模拟分类 Skill,输出分类、建议动作、证据、置信说明;让缺失证据或冲突输入返回人工确认,而不是强行分类。
  3. 为 Harness 写下工具白名单、只读默认、写入审批、超时、日志和凭据隔离规则;为每个工具标注最小权限与沙箱边界。
  4. 让复核人审阅建议,并只在其明确确认后生成本地结果文件。使用下载动作登记模板登记该动作,不填写真实路径、用户数据或凭据。
  5. 使用同一 idempotency_key 再运行一次,检查 Harness 没有产生额外写入;随后模拟一次超时或冲突,验证失败恢复和会话日志完整可查。

必交产物

  • 一份合成工单输入、分类 Skill 输出和人工复核结论,全部使用合成内容。
  • 一份 Skill 契约,含输入、输出、成功条件、失败结果和禁止动作。
  • 一份 Harness 治理清单,含白名单、审批、超时、日志、凭据隔离、最小权限、幂等和沙箱边界。
  • 一份动作登记表和一次重复执行记录,说明结果文件是否写入、如何回滚以及谁负责复核。

验收标准

复核人能从材料中复现五步流程,并能找到每次写入对应的人工确认和会话日志。分类 Skill 的四个输出字段齐全;未确认时没有写入;相同幂等键不会造成重复副作用;来源缺失、权限不足、结果冲突、高风险动作或幂等无法证明时均停止。任何真实凭据、真实用户数据或审批外路径出现在材料中,均判为不通过。

常见错误

  • 把模型生成的建议直接当作写入授权,跳过人工确认。
  • 将 Skill 写成含糊的“帮我处理工单”,没有输入、输出和失败结果。
  • 只记录最终文件,漏掉工具调用、审批、超时和失败恢复的会话日志。
  • 把沙箱当作万能隔离,忽略工具白名单、最小权限和凭据隔离。
  • 重试失败操作时没有幂等键,导致重复创建结果或无法确认副作用。

延伸学习

维知 Wiki · 面向应用工程的 AI 知识与训练系统