《60天AI学习计划启动 | Day 24: RAG 评估与自动化测试(防回归》
Day 24:RAG 评估与自动化测试(防回归)
学习目标
- 理解 为什么 RAG 需要“可重复评估”,而不只是主观感觉
- 掌握 简单的问答评估思路(准确率/覆盖率/主观评分)
- 会做 一套轻量的「基准集 + 脚本」来防止后续改动引入回归
核心知识点
-
评估维度
- 准确性:回答是否包含标准答案关键点
- 覆盖度:复杂问题是否覆盖多个要点
- 引用正确性:引用的片段是否真在文档里
- 稳定性:同一问题多次调用结果是否稳定
-
基准集(Benchmark)
- 组成:
{question, expected_answer(or key_points), doc_ids} - 来源:真实用户问题 + 人工设计的边界 case(模糊问法、长问题、反问)
- 组成:
-
评估方式
- 简单版:
- 字符串包含/关键词匹配(回答是否包含关键短语)
- AI 评估版:
question + answer + expected喂给 LLM,让它打分0~1/0~10
- 指标:
- 平均分、低于阈值的样本列表
- 简单版:
实战作业(建议)
-
作业 1:整理一份 20~50 条的 RAG 基准集
- 从你现在业务里摘:
- 高频问题 10 条
- 之前答错/不稳定的问题 10 条
- 边界/综合类问题若干条
- 每条包含:
question+期望关键点(key_points 数组)
- 从你现在业务里摘:
-
作业 2:写一个最简单的评估脚本
- 伪流程:
- 遍历基准集 → 调用当前 RAG 接口 → 得到 answer
- 对每条
key_point检查 answer 是否包含 → 计算命中率 - 打印类似:
Q1: 3/4 key_points 命中
- 伪流程:
-
作业 3:加一版「LLM 评分器」
- 对每条样本调用评估链:
question + answer + expected_key_points→ LLM → 输出{score: 0~10, reason}
- 计算整体平均分 + 列出 score < 6 的问题,手动分析
- 对每条样本调用评估链:
思考 / 笔记要点
- 记录:你现在这版 RAG 在基准集上的「命中率/平均得分」作为 v1 baseline
- 之后每次改检索/Prompt/模型,先跑评估脚本,对比改动前后数据,防止“感觉更好其实更差”
- 可以写一篇短文:《用一份小基准集守住 RAG 质量底线》,顺手贴上你的评估脚本示例
✓ 规则生效 | Tokens: ~260

浙公网安备 33010602011771号