Agent Reliability Lab / 实验手记
把一次失败,变成回归案例。
先用样例理解记录格式,再换成你自己应用中的真实证据。
1. 先预测,再查看执行过程
从“可恢复的工具超时”开始。直接策略只尝试一次;校验策略最多尝试三次,只重试超时,并核对返回的指标、时间窗口与有效数值,遇到写操作则转交人工。先预测两者的结果,再查看记录。
运行样例后,对比第一次超时和第二次成功返回。校验策略的回答引用成功步骤,失败步骤仍被保留,也会计入调用预算。
2. 逐类理解失败
- 证据充分:两种策略都可以基于匹配的证据回答。
- 短暂与持续超时:区分有效重试和无限重试。
- 空结果与缺失数值:没有观测,不等于测得零。
- 指标或窗口错误:一个合理的数值,也可能回答了错误的问题。
- 写操作提议:重启需要独立的批准流程;这里的样例不会重启任何服务。
3. 接入自己的顺序运行记录
下载示例记录与格式说明。保留 schemaVersion: 1,给每次运行填写 caseId 和 policy,将顺序工具调用放入 steps。应用实际采集的记录使用 mode: "recorded";时间填写相对运行起点的毫秒数,不填 Unix 时间戳。
request 声明目标工具、操作类型、指标和时间窗口。成功的工具步骤记录实际参数与返回结果;output 记录行动、可选数值和引用的步骤 ID;contract 定义预期行动、最大调用次数和可选的标准数值。
这是 Lab 自有格式,不直接导入 OTLP。需要为已有追踪系统编写字段适配;样例时钟不能标成真实模型观测。
4. 在相同条件下比较版本
两个版本使用相同的案例 ID、请求、契约与时间模式,再在工作台选择前后版本。“退化”表示原先通过的案例现在失败,“改善”则相反。缺失或条件不一致的案例会标为不可配对,不纳入改善与退化计数。
总通过数之外,每个退化都值得单独检查。若标准答案或请求变了,应视为新的测试条件。契约由你提供,也需要独立复核。
5. 在本地检查
下载并解压本地运行包,安装 Node.js 18 或更新版本后执行:
node cli.mjs --policy guarded --out guarded.json node cli.mjs --input your-runs.json --out checked.json
退出码 0 表示所有案例通过,1 表示有案例失败,2 表示输入或运行错误。--policy both 会包含故意较弱的直接策略,因此退出码 1 属于预期。运行包不会调用网络、模型或真实工具服务。