Conversation
XiaoCow666
left a comment
There was a problem hiding this comment.
结论:本次阶段十二评估标签修订本身合理,但未满足关联的阶段十三任务交付要求,需补齐后复审。
已检查范围:仅静态分析提供的 3 个文件 diff,未执行命令。tests/fixtures/knowledge_rag_eval.json 新增数组下标文档并纠正相关性标签;tests/test_knowledge_eval.py 增加最后一题返回文档及 Recall=0.5 的断言;KNOWLEDGE_RAG_STAGE12.md 明确旧提交的全量测试结果。未发现这些改动本身存在明确的功能或安全问题;PR 中的测试通过记录未经本次独立验证。
P1:阶段十三必需交付物缺失
当前任务是“生产级可靠性与容量演练”,但任务台的 reproduction_evidence、planned_changes、learning_summary、verification_result 均为空。当前 diff 仅修订阶段十二的评估数据、断言和说明,没有阶段十三的真实行为改动及对应回归测试,因此无法确认本阶段目标已完成。
请打开 KNOWLEDGE_RAG_STAGE12.md 的“实际结果”,保留其阶段十二归属;新增 KNOWLEDGE_RAG_STAGE13.md,把当前缺失的阶段十三记录补成可核验的交付说明,并同步填写任务台:
reproduction_evidence:记录当前瓶颈的输入规模、复现命令、提交 SHA、实际输出和预期行为。planned_changes:明确不与其他成员重复的子问题、实际修改的文件和函数、行为变化及回滚方式。learning_summary:说明瓶颈原因、方案取舍,以及实测事实与推断的区别。verification_result:记录修复前失败、修复后通过的回归用例、命令、提交 SHA 和实际输出。
请针对上述复现补入真实行为修复及回归测试;当前 tests/test_knowledge_eval.py 的 test_fixed_knowledge_eval_reports_vector_fallback_and_no_result_modes 新增断言只锁定评估结果,不能替代阶段十三的行为回归。完成后运行 python -m pytest tests/test_knowledge_eval.py tests/test_knowledge_vector_store.py tests/test_knowledge_rag.py -q --disable-warnings、python -m services.knowledge_eval,并执行新增回归用例,记录真实结果。
若此 PR 确实仅用于阶段十二跟进,请先将任务关联改为对应的阶段十二修订任务,再提交复审,无需为关联错误扩张实现范围。
XiaoCow666
left a comment
There was a problem hiding this comment.
CodeSense 自动评审
未发现必须阻塞合并的问题。变更范围仅限离线评估 fixture、对应断言和验证记录;修正后的相关文档标签与新增数组下标文档一致,top-k=1 的 0.5 Recall 断言也与两个相关文档的定义一致。提供的定向测试、固定评估和 diff 检查证据均显示通过。
已有验证信息
- PR 提供证据:在与当前代码、fixture、测试相同的前一提交
352dd8b上执行python -m pytest tests/test_knowledge_eval.py tests/test_knowledge_vector_store.py tests/test_knowledge_rag.py -q --disable-warnings,结果为19 passed、退出码 0;PR 说明当前4ad8fc5相对此提交仅更新文档耗时记录。 - PR 提供证据:
python -m services.knowledge_eval输出 5 个问题、4 个有标注问题,Recall@1=0.875、Recall@k=0.875,模式为 vector=3、keyword_fallback=1、no_result=1,期望模式不匹配数为 0,共索引 16 个切片。 - PR 提供证据:
git diff --check通过。 - PR 明确全量
681 passed的证据属于前一实现提交d370b5f,本次标签修订后未重跑全量回归;该限制已如实记录,且本次修改没有运行时代码变更。
评审事件:feba8f22-b262-11f1-9b33-a9e595f1168e
变更范围
这是阶段十二 PR #51 合并后的跟进修订,目标是落实评审意见中的事实标签与验证记录修正。当前 head 为
4ad8fc57703e659783b6580cb09e6cda59f0182b,目标分支为main;相对当前上游 main 仅修改 3 个文件(22 行净增)。tests/fixtures/knowledge_rag_eval.json:新增真实的array-indexing数组下标文档,将“下标”问题的相关文档从误标的sorting-stability改为array-boundary与array-indexing。tests/test_knowledge_eval.py:锁定最后一题 top-k=1 的实际结果与 0.5 Recall,防止评估标签和行为再次脱节。KNOWLEDGE_RAG_STAGE12.md:刷新本次验证结果,明确旧全量结果所属提交,并回答 64/8 边界和空索引/无匹配索引的回退路径。对评审意见的处理
sorting-stability不是数组下标文档,已替换为真实的array-indexing文档;最后一题的两个相关文档现在是array-boundary、array-indexing,top-k=1 的实际召回为其中 1 个,Recall=0.5。d370b5f,未冒充本次跟进后的结果。MAX_INDEX_DOCUMENTS=64控制索引候选读取范围,ID10 在范围内、ID70 被截断;MAX_EVIDENCE=8只控制最终返回证据数量。空索引的“数据库迁移”走no_result/NO_KNOWLEDGE_EVIDENCE;含数组/指针文档但无匹配时走priority_fallback,返回已有优先级证据以保持阶段 11 兼容行为。验证命令与结果
验证在隔离 worktree 使用共享
student-evalPython 环境执行;未使用生产数据库、Redis、外部 AI 或生产凭据。352dd8b(当前4ad8fc5仅更新文档耗时记录,不改代码、fixture 或测试)执行:python -m pytest tests/test_knowledge_eval.py tests/test_knowledge_vector_store.py tests/test_knowledge_rag.py -q --disable-warnings→19 passed,退出码 0,47.06s。python -m services.knowledge_eval→ 5 个问题、4 个有标注问题;Recall@1=0.875,Recall@k=0.875;vector=3、keyword_fallback=1、no_result=1;expected mode mismatch=0;共索引 16 个切片。普通问题构建 mean/P95=0.507/2.239ms,查询=0.061/0.119ms,合计=0.570/2.326ms;64 文档性能样本构建=1.096ms,查询 mean/P95=0.463/0.473ms,总耗时=47.388ms,摊销=0.474ms/次。git diff --check:通过。d370b5f已验证全量python -m pytest -q --disable-warnings→681 passed,13:26;本次跟进只涉及评估 fixture、评估断言和文档,当前未重新宣称全量回归。事实与推断边界
回滚与后续
回滚本跟进只需还原这 3 个文件;不需要数据库或部署回滚。若要提升语义召回或引入持久化索引,应另行评审模型、成本、失效策略、权限和数据迁移。
PR #51 已合并;本 PR 仅承接其评审反馈的评估事实与验证记录修正。