Appearance
Agent、Skill 与 Harness 实验:把写操作关进可复核流程
本页解决什么
把一次“让 Agent 处理工单”的需求拆成可验证的受控流程,而不是让模型直接拥有工具权限。本实验只处理合成工单:读取合成工单 → 调用分类 Skill → 生成处理建议 → 人工确认 → 写入本地结果文件。任何一步不满足边界时,流程停止并交给人处理。
学习目标
完成后,你能为一个受控写操作定义 Agent 的输入、输出、权限和停止条件;写出可复用的 Skill 契约;并用 Harness 把工具、日志、审批和恢复动作放到模型之外管理。
先修要求
先完成应用工程基础和生成式 AI 实验,并阅读Agent 架构、上下文与记忆、MCP、工具与 Skill及安全实践。仅使用合成、公开或已授权的材料;不把真实客户工单、凭据或受限系统接入本实验。
预计时间
90—120 分钟:定义契约 20 分钟、配置 Harness 控制 20 分钟、执行合成工单 25 分钟、人工复核和恢复演练 25—55 分钟。
核心知识
三层分工
模型负责理解与生成:它根据被允许的上下文理解工单、提出分类和建议,但不自行扩大权限。Skill 固化可复用操作契约:它把输入字段、输出字段、可调用动作和失败结果写成稳定约定。Harness 承载模型、上下文、工具和治理:它决定哪些工具能被调用、何时可写入、记录什么日志以及失败后如何恢复。
这是一种职责划分,不是任何单一框架的标准答案。不同实现可以使用不同语言、模型或编排方式,但应保留可审计的契约和控制边界。
固定实验流程
- 读取输入:Harness 只向模型提供合成工单编号、问题描述和风险级别,并记录输入版本。
- 调用 Skill:分类 Skill 返回结构化建议;模型不得直接执行文件写入或读取未授权来源。
- 人工确认:复核人检查分类、证据、风险和目标范围,明确批准、驳回或要求补充。
- 写入结果:只有批准后,Harness 才在批准的本地路径写入结果文件,并保存动作标识和确认记录。
分类 Skill 契约
| 项目 | 契约 |
|---|---|
| Skill 输入 | 工单编号、问题描述、风险级别 |
| Skill 输出 | 分类、建议动作、证据、置信说明 |
| 成功条件 | 四个输出字段齐全;证据能够定位到合成规则或明确标为无证据;不产生外部副作用 |
| 失败结果 | 返回缺失字段、冲突或不确定原因,并要求人工确认;不以猜测补齐 |
| 禁止动作 | 不读取真实工单、不访问凭据、不发送消息、不修改审批外路径 |
“证据”可以是合成分类规则的编号或输入中的明确线索;它不是把模型推断伪装成已核实事实。“置信说明”必须解释不确定来源,例如描述过短、风险级别冲突或规则缺失。
Harness 治理清单
Harness 必须落实以下控制:
- 工具白名单:只允许本实验登记的读取、分类和已批准本地写入工具。
- 只读默认:未获得单次人工确认前,所有工具调用均不产生写入。
- 写入审批:审批记录要关联工单编号、输出摘要、批准范围和复核人。
- 超时:为模型、Skill 和写入分别设置上限;超时后终止当前动作,不自动转为更高权限重试。
- 日志:保留会话日志、工具名、参数摘要、返回状态、审批结果和失败原因;日志不得包含凭据或不必要的敏感内容。
- 凭据隔离:模型上下文、Skill 参数和日志均不得获得或输出真实密钥;如确需服务凭据,由运行环境以最小范围注入。
最小权限意味着每个步骤只取得完成该步骤所需的权限;沙箱意味着实验过程与真实文件、网络和生产工具隔离;审批意味着人对一次明确的写入范围作出可追溯判断,而不是给模型永久通行证。
停止与恢复
出现以下任一条件,Harness 必须停止自动链路:来源缺失、权限不足、结果冲突、高风险动作,或重复执行无法证明幂等。幂等要求使用稳定的 idempotency_key,相同键重复提交时返回同一已确认结果或明确拒绝重复写入,不生成第二份副作用。
失败恢复先冻结后续工具调用,标记未完成状态,再由复核人检查会话日志、审批记录和已写入文件。若确认需要撤销,只能按预先登记的回滚方法处理批准范围内的合成结果;无法确定写入状态时保留证据并人工接管,不做猜测性清理。
实操任务
- 写一条合成工单,例如“
SYN-001:说明书与产品描述不一致;风险级别中”,并保存输入版本和来源标记。 - 按上表实现或模拟分类 Skill,输出分类、建议动作、证据、置信说明;让缺失证据或冲突输入返回人工确认,而不是强行分类。
- 为 Harness 写下工具白名单、只读默认、写入审批、超时、日志和凭据隔离规则;为每个工具标注最小权限与沙箱边界。
- 让复核人审阅建议,并只在其明确确认后生成本地结果文件。使用下载动作登记模板登记该动作,不填写真实路径、用户数据或凭据。
- 使用同一
idempotency_key再运行一次,检查 Harness 没有产生额外写入;随后模拟一次超时或冲突,验证失败恢复和会话日志完整可查。
必交产物
- 一份合成工单输入、分类 Skill 输出和人工复核结论,全部使用合成内容。
- 一份 Skill 契约,含输入、输出、成功条件、失败结果和禁止动作。
- 一份 Harness 治理清单,含白名单、审批、超时、日志、凭据隔离、最小权限、幂等和沙箱边界。
- 一份动作登记表和一次重复执行记录,说明结果文件是否写入、如何回滚以及谁负责复核。
验收标准
复核人能从材料中复现五步流程,并能找到每次写入对应的人工确认和会话日志。分类 Skill 的四个输出字段齐全;未确认时没有写入;相同幂等键不会造成重复副作用;来源缺失、权限不足、结果冲突、高风险动作或幂等无法证明时均停止。任何真实凭据、真实用户数据或审批外路径出现在材料中,均判为不通过。
常见错误
- 把模型生成的建议直接当作写入授权,跳过人工确认。
- 将 Skill 写成含糊的“帮我处理工单”,没有输入、输出和失败结果。
- 只记录最终文件,漏掉工具调用、审批、超时和失败恢复的会话日志。
- 把沙箱当作万能隔离,忽略工具白名单、最小权限和凭据隔离。
- 重试失败操作时没有幂等键,导致重复创建结果或无法确认副作用。
