先确定什么算成功
一个答案看起来流畅,只能说明展示正常。项目验收需要分别检查检索是否找到依据、生成是否引用正确、应拒绝的问题是否拒绝、工具是否完成允许的任务、请求是否正常结束。
保存问题 ID、输入、预期行为、相关文档/片段、身份、难度标签和标注依据。无答案、越权、文档更新和注入输入应单独覆盖。题集变了就建立新版本,不能把新题分数与旧题直接相减。
一份可复核报告的知识点
| 部分 | 记录内容 | 容易误判的地方 |
|---|---|---|
| 运行清单 | 数据/题集版本、代码 commit、配置、模型和索引、日期 | 只写框架名,无法复现 |
| 基线 | 关键词/固定工作流/已有系统,固定运行条件 | 基线被故意设得过弱 |
| 检索 | 标注相关片段、Recall@k、排序、过滤后结果 | 只量返回数量,没量相关性 |
| 答案 | 正确性、证据支持、引用、合理拒答 | 把引用存在当引用正确 |
| 工具与权限 | 任务完成、重复操作、拒绝与状态 | 只检查最终文本,漏掉越权动作 |
| 服务与成本 | 完整请求成功、首字/总延迟、负载、成功任务成本 | 只测顺利样本或忽略重试 |
| 失败 | 每题结果、分类、根因、修复与复测 | 只展示最好案例 |
成本和时延要写单位、测量窗口、样本数与负载;没有实际执行的字段写“未执行”。小样本允许找问题,不能据此保证线上通过率。
比较与归因
先比较同一题集上的基线和候选,再改变一个关键因素,例如只加入 reranker。若同时换模型、切片与提示,收益只能归于整套方案,无法证明其中哪个模块有效。
保留每题成败配对、分组结果与不确定性。由这批固定题得到的平均值,只覆盖该题集;离线配对比较也不等于真实用户流量中的因果收益。重复选优还可能逐渐针对测试集调参,应保留独立验证集。
使用 LLM judge 时,记录评分提示、judge 版本与参数;用人工标注样本核对分歧和偏差。不要让同一模型的自我评分成为唯一事实依据。
项目中的实际小报告
本站 权限与缓存实验 用同一组 10 个顺序场景比较两种缓存策略,预期结果由 fixture 明确指定。4/10 与 10/10 是该实验的匹配数,不能解释为真实 RAG 答案准确率、安全覆盖率或线上收益。
这个例子包含可复现基线、改动、逐项失败和已知边界。完整模型项目仍需要自己的真实输出与指标,不能直接借用本站实验成绩。
练习与验收
使用仓库内的 docs/practice/evaluation-report.md,先写题集、基线、分母和门槛,再执行自己的项目。报告至少保留原始逐题输出、一个失败根因、修复前后同题比较和局限。涉及服务、模型与费用的运行条件要真实填写。
复习问题
- 为什么 100% 的测试通过率仍可能有未知失败?
- 应拒绝的问题算成功还是失败,如何定义分母?
- 同时调整三个模块后,怎样表述结果才不过度归因?
阅读依据与核验
2026-10-08:AI 助手协助原创组织与核对来源;案例、练习与手算的执行状态见正文;不把学习任务视为已完成的模型或线上实验。
原始资料与核验依据
- LLM Zoomcamp 实战:RAG、评估与监控DataTalks.Club 课程贡献者 · 2026 课程入口;main 快照 c04d02f2ea71;project.md 仍含历史 cohort 链接 · 访问于 2026-10-08
- Ragas 官方评估指标文档vibrantlabsai 及课程/项目贡献者 · 默认分支 main · commit 298b68274234 · 核验 2026-10-07 · 访问于 2026-10-07
继续探索
哪些笔记引用了这里
学习路径:AI 应用开发实战:服务、项目与验收
第 6 / 7 步 · 验证任务:在同题集上比较自己的实现,保留逐题输出、实际成本/时延和失败。
学习路径:AI 架构与面试:容量、可靠性与项目证据
第 5 / 6 步 · 验证任务:复核报告分母、配对样本和局限,分清实测与归因。