ai-agent-testing · diff
git:20260907.af8ce9d to git:20260915.bc5a8d6
72 added, 41 removed. Audit A to A.
---
name: ai-agent-testing
- description: Use this skill when you need to test AI agent goals, state, planning, recovery, and safety boundaries; triggers include AI Agent 测试 and ai agent testing.
+ description: Use this skill when you need to generate a concrete test suite for AI agent behavior, planning, tool usage, memory, and safety; triggers include AI Agent 测试, agent测试, agent测试用例, and ai agent testing.
---
- # AI Agent 测试(中文版)
+ # AI Agent 测试
## 何时使用
- - 需要系统验证 Agent 的规划、记忆、工具使用、恢复能力、安全边界和任务完成质量。
- - 需要对现有方案、结果或证据做风险评审,并形成可执行改进项。
- - 输入不完整,但仍需先给出带假设和信息缺口的可用初版。
+ - 用户提供 Agent 的目标、工具集、指令或任务轨迹,需要生成**可执行的测试套件**。
+ - 需要验证 Agent 的规划、记忆、工具使用、恢复能力、安全边界。
- ## 输出格式选项
+ ## 输入要求
- - 默认输出 Markdown,适合评审、执行和持续补充。
- - 用户要求表格、CSV、JSON 或工单格式时,保留同样的风险、证据、优先级和边界字段。
- - 若输出会进入自动化流程,先确认字段 schema、枚举值和必填项。
+ | 必填 | 字段 | 说明 |
+ |------|------|------|
+ | ✅ | Agent 描述 | 目标、指令、可用工具列表 |
+ | ✅ | 测试范围 | 任务完成 / 规划 / 工具使用 / 记忆 / 安全(选一或多选) |
+ | ⬜ | 任务轨迹 | Agent 已有的执行记录或日志 |
+ | ⬜ | 成功标准 | 通过/失败的判定条件 |
+ | ⬜ | 风险限制 | 不可执行的操作、权限边界 |
- ## 如何使用
+ ## 执行流程
- 1. 先阅读并遵循 `prompts/ai-agent-testing.md` 的输入、执行规则、最低覆盖清单和输出顺序。
- 2. 补充真正影响判断的范围、环境、版本、限制、证据和成功标准。
- 3. 先做输入审计,再区分已确认事实、合理假设和待确认问题。
- 4. 按风险和证据强度排序,产出可直接执行、评审或验证的结果。
- 5. 信息不足时不要停在提问:先交付受限初版,并说明哪些结论暂不能成立。
+ ### 1. 输入审计
- ## 参考文件
+ - 检查 Agent 描述是否包含:目标、工具、输入/输出格式
+ - 检查测试范围是否明确
+ - 缺失信息标记为「假设」并给出默认值
- - 每次执行必须读取 `prompts/ai-agent-testing.md`;它是本 Skill 的完整执行规范。
- - 需要评测或回归本 Skill 时,读取 `evals/eval.yaml` 与匹配的 `evals/cases/` 用例。
- - 只有目录实际存在且任务需要时,才读取 `references/`、`examples/`、`scripts/` 或 `output-formats.md`,不要假设不存在的资产。
+ ### 2. 能力建模
- ## 核心约束
+ 为被测 Agent 建立能力矩阵:
- - 同时评价最终结果和过程轨迹
- - 将随机性纳入重复试验
- - 不要把单次成功当作可靠性证明
- - 不编造输入中不存在的系统行为、字段、数据、指标或根因。
- - 关键结论必须关联证据;证据不足时标记为假设并给出验证方法。
- - 优先级必须说明业务影响、发生可能性或可探测性依据。
+ | 维度 | 测试内容 | 优先级 |
+ |------|---------|--------|
+ | 任务完成 | 目标达成、输出质量、格式正确 | P0 |
+ | 规划能力 | 步骤拆解、依赖处理、回退策略 | P0 |
+ | 工具使用 | 工具选择、参数传递、结果解析 | P0 |
+ | 记忆一致性 | 上下文保持、跨轮次一致、无幻觉 | P1 |
+ | 失败恢复 | 错误处理、重试策略、降级方案 | P1 |
+ | 安全边界 | 权限限制、拒绝越权、数据保护 | P0 |
- ## 交付前自检
+ ### 3. 测试用例生成
- - [ ] 已覆盖:任务完成、规划质量、多步一致性、工具使用、记忆污染、失败恢复、权限边界、成本与时延。
- - [ ] 已区分事实、假设、缺口和建议。
- - [ ] 高风险项有明确优先级、证据、负责人或下一步。
- - [ ] 输出包含可验证的判断标准,而非泛泛而谈。
- - [ ] 未执行未经授权的生产写操作或破坏性动作。
+ 为每个维度生成具体测试用例,格式:
- ## 常见误区
+ ```markdown
+ ## [P0] TC-<维度>-<序号>: <用例标题>
+ [测试维度] 规划能力
+ [前置条件] Agent 已加载工具列表:[...]
+ [输入] <具体的用户指令或任务>
+ [预期行为] 1. <步骤1的预期> 2. <步骤2的预期>
+ [预期输出] <最终输出的判定标准>
+ [通过标准] 所有预期行为发生 + 输出满足判定标准
+ [失败风险] <可能的失败模式>
+ ```
- - 只列检查点,不说明输入条件、预期结果或证据。
- - 把所有事项都标为高优先级,失去取舍价值。
- - 用工具名或通用理论替代领域判断。
- - 输入不完整时直接拒绝,或反过来假装结论已经确定。
+ ### 4. 用例校验
- ## 最佳实践
+ 生成后必须执行以下校验:
- - 从最可能造成业务损失、安全问题或发布阻塞的路径开始。
- - 用最小可验证实验缩小不确定性,并记录复现条件。
- - 让输出能够被另一位工程师直接执行和复核。
+ - [ ] 每个测试维度至少有 2 条用例(正向 + 反向/异常)
+ - [ ] 每条用例有明确的前置条件和输入
+ - [ ] 预期行为可观察、可验证(非主观判断)
+ - [ ] 通过标准具体(有数值、有判定条件)
+ - [ ] 覆盖至少一个安全/权限边界用例
+ - [ ] 无重复用例(相同输入+预期 = 同一条)
+
+ ### 5. 输出交付物
+
+ | 文件 | 内容 |
+ |------|------|
+ | `test-suite.md` | 完整测试用例集(含维度矩阵、用例、通过标准) |
+ | `run-checklist.md` | 执行清单(按优先级排序的逐条检查项) |
+
+ ## 核心约束
+
+ - 输出必须是**可逐条执行的测试用例**,不是笼统的检查清单。
+ - 同时评价最终结果和过程轨迹。
+ - 将随机性纳入重复试验,不要把单次成功当作可靠性证明。
+ - 安全测试只在授权环境使用占位数据。
+
+ ## 参考文件
+
+ - `prompts/ai-agent-testing.md`:详细执行规范。
+ - `evals/eval.yaml` + `evals/cases/`:评估用例模板。
+
+ ## 常见误区
+
+ - 只列检查点不给具体输入和预期 → 必须有输入+行为+输出三要素。
+ - 只测正向流程 → 必须包含至少一条异常/边界用例。
+ - 用单次运行结果下结论 → 需要重复验证或说明随机性影响。