三份测试法:材料准备指南与评分记录模板
对接 ch07 第六节 L774-788(“用三份材料做动态测试”)。本文件是 SKILL.md 步骤 4 的展开:怎么准备三份材料、每份查什么、怎么绑定输入输出证据。
一、为什么是三份
输出合理性靠动态测试,不是靠读 SKILL.md。一份材料只能告诉你"这一份能不能跑",看不到结构稳定性和边界守不守。三份分别查三件不同的事——关注点、结构、边界——是单次评测的最小套餐。
| 材料 | 查什么 | 失败信号 |
|---|---|---|
| 一份你非常熟悉的旧材料 | 关注点对不对 | 你知道关键问题在哪,AI 没抓住 |
| 一份同类但不熟悉的材料 | 输出结构是否稳定 | 换一份就散文化、字段漂移、不确定性标注丢失 |
| 一份故意缺失关键背景的材料 | 边界守不守得住 | 没给的材料被它当成"合理""明确""可签署" |
二、三份材料准备指南
先定义输入 bundle 与“同类”
输入不是单个 DOCX/PDF 的字节。计算案例输入哈希前,把正文文件哈希、用户请求、角色/立场、业务目标、配置和附件清单组成一个输入 bundle;缺失项也显式写为 null 或空数组。三类案例必须使用三个不同 bundle,不能把同一运行重复贴成多个 case。
“同类但不熟悉”按候选声称覆盖的任务族定义,不要求文件主题完全相同:
| 场景 | “同类”的稳定含义 | 可变化部分 |
|---|---|---|
| 合同 | 同一合同审查/起草任务族,仍要求风险定位、修改建议与交付闭环 | 合同细分类别、主体、交易模式 |
| 诉讼 | 同一诉讼文书任务族,例如均为答辩状或均为代理词 | 案由、当事人、证据结构 |
| 合规 | 同一风险识别与整改任务族 | 数据、反腐败、反垄断等业务领域 |
| 案件分析 | 同一内部研判任务族 | 案由、请求权基础、证据组合 |
如果跨越了交付物任务族,例如从合同审查换成合同起草,不能仅因都属于“合同”就称为同类;应另开场景或明确 nearest-fit 的限制。
材料 1:非常熟悉的旧材料
选材原则:你已经知道这份材料的关键问题在哪——哪一条是高影响条款、哪一处事实有缺口、哪一项谈判点是商业问题不是法律问题。
合同型示例(来自 ch07 第六节 L778):
- 一份供应商服务合同,你已经知道最大风险是"服务成果无法验收但付款条件很宽松"。
- 跑完检查:AI 是否抓住"付款节点是否以验收合格为前提",还是只泛泛谈保密、争议解决、知识产权。如果只谈后者,说明执行步骤没突出采购方核心权益,要补一句"检查付款是否以验收合格为前提;如付款与验收脱钩,应列为重点风险"。
诉讼型示例:
- 一份你已经办过的案件材料(起诉状 + 证据 + 对方主张),你知道本案真正的争议焦点是 X,不是 Y。
- 跑完检查:AI 生成的答辩状/代理词是否聚焦 X,还是平均罗列常见抗辩。如果平均罗列,说明 Skill 没要求"对比己方证据与对方主张,识别核心争议点",要补执行步骤。
合规型示例:
- 一份你已经做过合规扫描的业务场景,你知道真正的合规红线在哪一项。
- 跑完检查:AI 是否把这一项识别为高风险,还是淹没在一堆中低风险里。
评分记录:1-5 分,重点记"AI 抓住 / 漏掉的关键点清单"。
材料 2:同类但不熟悉的材料
选材原则:换一个主体、换一种业务、换一个细分场景,但仍是同一类 Skill 声称覆盖的范围。
合同型示例(来自 ch07 第六节 L780):
- 第一份是供应商服务合同,第二份换一家供应商、换一种服务类型。
- 跑完检查:输出结构是否保持一致。如果第一份是表格、第二份变散文,第一份有需确认事项、第二份完全不标注不确定性,说明输出格式约束还不够强,要把输出字段写到字段级别——"重点风险表必须包含:条款位置、风险类型、风险描述、可能影响、建议修改方向、需确认事项;缺条款位置时写'合同未标明条款编号'"。
诉讼型示例:
- 第一份是著作权侵权代理词,第二份换成合同纠纷代理词。
- 跑完检查:文书结构(首部 / 事实理由 / 法律依据 / 代理意见)是否稳定;论证结构(先立场 → 逐项回应 → 总结)是否保持。
合规型示例:
- 第一份是数据合规扫描,第二份换成反腐败合规扫描。
- 跑完检查:风险清单字段、整改建议结构、风险等级判定标准是否一致。
评分记录:1-5 分,重点记"两份输出结构差异清单"。
材料 3:故意缺失关键背景的材料
选材原则:只给核心文本,不给业务方提供的辅助材料(报价单、服务说明、业务关注点、对方主张、业务流程图等),看 AI 是否识别材料缺失。
合同型示例(来自 ch07 第六节 L782-786):
- 只给合同正文,不给报价单、服务说明和业务关注点。
- 失败信号:AI 直接写"本合同服务费用合理""服务内容明确""可直接签署"。
- 强化边界的话术示例:
如未提供报价单、服务说明或业务关注点,不得评价价格合理性、服务范围完整性或商业可接受度;应列入"材料缺失与审查限制"。
诉讼型示例:
- 只给起诉状,不给证据清单、不给对方当事方主张细节。
- 失败信号:AI 直接编造"被告应当承担 XX 责任"的论证,或对证据做绝对化判断。
- 强化边界:要求"未提供证据清单时,事实陈述必须标'待证据印证';不得对证据证明力做绝对化判断"。
合规型示例:
- 只给业务模式描述,不给数据处理清单、关联交易明细、组织架构。
- 失败信号:AI 直接给"完全合规"或"存在重大违规"的结论。
- 强化边界:要求"未提供业务事实清单时,结论必须标'基于有限事实的初筛',并列出需业务方核实的事项清单"。
评分记录:1-5 分,重点记"AI 是否识别材料缺失 + 是否对缺口做了越界结论"。
三、评分记录模板
每份材料一张表:
### 材料 N:<脱敏代号,如"合同-A">
**材料类型**:非常熟悉 / 同类不熟悉 / 故意缺失背景
**该材料已知的关键点**(评测人填写):
- 关键点 1:……
- 关键点 2:……
**被评测 Skill 输出摘要**:
- 抓住的关键点:……
- 漏掉的关键点:……
- 越界结论(如有):……
**逐维度评分**(按通用六维度 + 场景微调):
| 维度 | 评分(1-5) | 评价 |
|------|------------|------|
| 维度 1 | … | … |
| 维度 2 | … | … |
| … | … | … |
**taste 项核查**(先核查通用 taste,边缘结论再启用场景深度清单):
| taste 项 | 是否命中 | 说明 |
|---------|---------|------|
| taste-1 | ✅/❌ | … |
| taste-2 | ✅/❌ | … |
| … | … | … |
**定位"要补的句子"**:
- 低分项 1 → 补 SKILL.md 第 X 节,加一句"……"
- taste 命中项 1 → 补 SKILL.md 第 Y 节,加一句"……"
**证据绑定**:
- 候选 Skill SHA-256:……
- 候选哈希范围:git-tracked / full-directory
- 案例候选绑定:current-candidate / historical-unbound
- 输入材料 SHA-256:……
- 输出文件 SHA-256:……
- 运行命令 / 会话 / 产出路径:……四、三份之外的长期沉淀
三份测试法是单次评测的最小套餐;做长期迭代的 Skill 还应沉淀 20-50 例真实失败案例作为 regression suite 起点(依据 references/eval-methodology.md 第一节第 4 点,DR-5 引 Anthropic 已核验数字)。两者不冲突:
- 三份测试法:评"这一版 Skill 现在能不能用"——单次评测。
- 20-50 例 case bundle:评"这次改动有没有把原来能做的事搞坏"——长期回归。
case bundle 的具体沉淀方法不在本文件范围;长期回归应把失败样本、修复样本和既有通过样本都绑定到明确候选版本,避免旧收据误用于新版本。