6.6 KiB
LLM 评测入门:首周工作表
使用方法: 不要先研究工具。直接复制本文件,为一个公开文档问答小任务填写空白处。只要完成到“10 个 case + rubric + 一次盲评”,就已经完成了真正的第一步。
0. 先确定范围:你到底在评什么
为什么先填这一页: 你不是在评价“模型总体能力”,而是在评价一个明确的系统行为。范围越明确,后面的 case 与评分越可信。
| 项目 | 你的填写 |
|---|---|
| 任务名称 | 例如:公开文档约束下的技术问答 |
| 用户输入 | 例如:一个问题 + 1—3 段文档片段 |
| 系统输出 | 例如:简短回答 + 文档引用位置 |
| 一句话成功条件 | 例如:关键事实可由文档支持;资料不足时明确说明 |
| 三类失败 | 例如:无依据事实;遗漏限制;把未知说成确定 |
| 非目标 | 例如:不评价文档外的常识正确性 |
| 数据来源 / 许可 | 例如:Python 官方文档某页面,记录 URL 与日期 |
停下来检查
如果你仍写的是“回答要专业”或“Agent 要聪明”,说明范围还不够小。把它改成一个可观察行为:引用、拒答、工具参数、权限、状态变化或可执行性。
1. 写 rubric v0.1:先让“怎么判”有答案
为什么这一步比写参考答案更早: 参考答案只是一个可能的表述;rubric 才说明你要保护的行为边界。
| 维度 | 通过条件 | 失败条件 | 正例 | 反例 |
|---|---|---|---|---|
| 有据性 | ||||
| 资料不足处理 | ||||
| 核心任务完成度 |
推荐起步标签: 有据性和资料不足处理用 pass / fail;完成度用 0 / 1 / 2。第一周不要再增加维度。
停下来检查
让另一位同事只读此表、不看你的解释。他或她能否判断你给的一正一反例?如果不能,优先改文字,不要增加更多指标。
2. 写 10 个 case:让不同类型的失败有机会出现
为什么不是“随便写 10 个问题”: 评测数据集的价值来自覆盖不同风险,而不是来自问题数量。
| 编号 | 类别 | 问题 | 文档能否完整回答 | 你预期系统应该怎样做 |
|---|---|---|---|---|
| 01 | 正常路径 | 是 | ||
| 02 | 正常路径 | 是 | ||
| 03 | 正常路径 | 是 | ||
| 04 | 资料不足 | 否 | ||
| 05 | 资料不足 | 否 | ||
| 06 | 部分支持 | 部分 | ||
| 07 | 多证据 | 是 | ||
| 08 | 幻觉诱发 | 否 / 部分 | ||
| 09 | 格式约束 | 是 | ||
| 10 | 边界条件 | 视情况 |
资料不足问题的写法
不要写完全无关的问题。写“只差一小块信息就能回答”的问题,例如文档讲了配置字段但没有给默认值;再问“默认值是多少”。这样才能测试模型会不会合理地补全空白。
3. 生成两个候选:目标不是找冠军,而是制造比较
为什么要有 A/B: 人更擅长比较两个候选,也更容易发现你自己的判断规则是否含混。
请选择一种做法:
- 两个不同模型;
- 同一模型的两个提示词;
- 自己手写一个“较好答案”和一个“带隐蔽错误的答案”;
- 使用公开数据集中已有的两份候选回答。
记录生成条件:
| 项目 | A | B |
|---|---|---|
| 模型 / 来源 | ||
| 系统提示词版本 | ||
| 温度 / 生成设置 | ||
| 运行日期 |
重要: 先把来源隐藏,随机叫 A 和 B;在完成判断之前,不要看真实来源。
4. 盲评 10 个 case:把“感觉”改成可复核理由
为什么要求写理由: 标签告诉你“发生了什么”,理由才告诉你“为什么”。没有理由,后面无法判断是模型问题、规则问题还是数据问题。
| Case | A:有据性 | A:完成度 | B:有据性 | B:完成度 | 更优 / 平局 | 一句话理由 | 置信度 |
|---|---|---|---|---|---|---|---|
| 01 | high / low | ||||||
| 02 | high / low | ||||||
| 03 | high / low | ||||||
| 04 | high / low | ||||||
| 05 | high / low | ||||||
| 06 | high / low | ||||||
| 07 | high / low | ||||||
| 08 | high / low | ||||||
| 09 | high / low | ||||||
| 10 | high / low |
低置信度不是坏事
low 意味着你不确定怎样判。这往往是最有价值的发现。请在下表给每条低置信度 case 归因:
| Case | 为什么难判 | 下一步动作 |
|---|---|---|
| rubric 模糊 / 文档不完整 / 问题本身有歧义 / 自己标错 | 改规则 / 补证据 / 移出自动评分 / 请人复核 |
5. 写最小失败分类:不要把所有错误叫“幻觉”
为什么分类: 错误类型决定修复路径。检索错、规则错、提示词错和评分错,不应使用同一修复手段。
| Case | 失败类型 | 证据 | 你准备先检查什么 |
|---|---|---|---|
| 无依据事实 / 漏限制 / 不当确定 / 格式 / 规则不确定 | prompt / 文档 / rubric / grader |
第一周只用 4—5 个类型即可。分类表的目的不是“全面”,而是帮助你找到下一次唯一值得改的地方。
6. 做一次小修改并回归:证明不是“碰巧更好”
| 你修改了什么 | 为什么改它 | 预期改善哪些 case | 必须不变差的 case | 修改后结果 |
|---|---|---|---|---|
| 例如:提示词加入“资料不足时不得推测” | 资料不足类频繁出现无依据补全 | 04、05、08 | 01、02、03 |
完成标准
你不需要所有 case 都通过。首周完成的定义是:你能指出一个失败模式,改一个可解释因素,重跑原有 case,并说明“改善了什么、又牺牲了什么”。
首周优先级:只保留最重要的四件事
| 必做 | 为什么 | 暂不做 |
|---|---|---|
| 任务边界 | 没有边界就没有可靠判断 | 换很多模型 |
| 10 个有结构的 case | 没有边界/负例就没有真正测试 | 写 100 条随机问题 |
| rubric + 人工理由 | 没有规则就无法知道得分含义 | 先上 LLM Judge |
| 一次修改 + 回归 | 没有闭环就只是看热闹 | 先搭仪表盘、CI 或大框架 |
今日十分钟动作
- 选一段公开文档。
- 写一个文档能回答的问题。
- 写一个文档不能回答的问题。
- 写一句判定规则:
答案中出现文档未支持的关键事实,则有据性 = fail。
完成后就停止。明天再做第 2 个 case。持续、可复盘地推进,比一次做很多更适合入门。