W5 代码练习打卡清单
RAG 优化 / 评测 / 增量更新 · 里程碑 M1 · 周一至周日
规则:每个文件先读完讲解、再运行末尾自测,全部 PASS 才勾选对应任务。勾选状态保存在本浏览器。
配套目录:agent-learning-w5/预计每日 5–7 小时周日 2–3 小时交付:M1 + 评测报告
M1 验收标准(周日)
- 每项优化相对 baseline 都有量化提升(Recall/Faithfulness/成本表)
- 更新单个文档无需全量重建、且可回滚
- 能答出"Recall@5 是多少、baseline 是多少、怎么分布"
周一Day1 · 混合检索 BM25 + 向量 + RRF纯本地day1_hybrid.py
验收标准
- 融合召回 ≥ 单路最差,趋势上讲得清
- 能画出 Bi-Encoder 一次算全部 vs Cross 逐对
重难点
- RRF 免调参比 weighted sum 稳
- 离线 n-gram 哈希与 BM25 撞脸→融合收益需真实模型验证
周二Day2 · Rerank 精排内置启发式day2_rerank.py
验收标准
- 能答成本模型:纯 Cross 全库 = O(N) 推理 vs 两阶段只 30 次
- 位置/覆盖率/长度 三大打分信号讲得清
重难点
- 精排价值=把精炼上下文喂给 LLM,控成本+控上下文
周三Day3 · 评测集工程 ≥100 题纯本地day3_evalset.py
验收标准
- 题型含 single/multi/neg/out,难度分 easy/medium/hard
- gold_source 都能在 corpus 中找到
重难点
- 负例(neg/out)测拒答能力,不能只有正例
- 题数<100 → 改一个样本会翻转结论,不可靠
周四Day4 · 检索指标 + baseline 对比表纯本地day4_retrieval_metrics.py
验收标准
- 四指标含义张口能答
- 能报出你的 Recall@5 数值与分布
重难点
- 指标答"不同维度的质量",要看全这张表而非单一数字
周五Day5 · 生成评测 Faithfulness + 相关性离线可跑day5_gen_metrics.py
验收标准
- 能拆 answer→claims 逐个判是否被 context 支持
- 分数落在 0~1,异常时能定位
重难点
- 一致性抽检(与人工比较)是 judge 可信的落点
周日Day6 · 增量更新 + 回滚(M1 交付)纯本地day6_incremental.py
验收标准
- 单文档增量更新不需全量重建、可回滚
- 更新后旧 chunk 无残留、count 一致
重难点
- 增量=10^4~10^6 文档不炸成本的必由之路
- 回滚=生产可退的思想在知识库的体现