Repository navigation
v7.13.5: LoCoMo 检索评测 + 召回聚合不再让影子沙压住相关度排序 - #12
Merged
Merged
Conversation
第一次在公开基准真实数据上测(LoCoMo,10 段长对话、1536 道计分题,零 LLM 检索证据召回): nyx recall@5 0.046,最朴素的 BM25 0.498。 逐路排查:SearchRouter 自己排对了(证据句第 1);错在聚合 —— 按来源优先级整段拼接, 影子沙优先级最高(80 > SearchRouter 60),而它只看「问句里某个词是实体名的一部分」, 取出提到该实体的所有行按信任分排,与问句其余部分无关;英文专名抽取又把「Hey Caroline」 当成实体。问到人名的题,前几名全是打招呼的句子。 修法:影子沙排到 SearchRouter 后面(80 -> 55)。SearchRouter 已把影子沙命中并进候选、 按相关度 x 信任分排序,信任反馈不丢。 - recall@5 0.046 -> 0.546(BM25 0.498),recall@10 0.459 -> 0.619(BM25 0.565),四类都高于 BM25 - 缺陷在第 1 段对话定位;未参与诊断的第 2-10 段 0.037 -> 0.546,幅度相同 - 纵向评测 35 种子逐项与 v7.13.3 相同;LongMemEval 小样本分数相同;投毒 / 事故演练结果相同 - benchmarks/locomo_eval.py:子进程隔离、走 provider.sync_turn、证据编号规范化、BM25 参照; 数据 CC BY-NC 不进仓库,results 只存分数 - tests/test_locomo_harness.py:自写同格式小样本端到端;优先级改回 80 时失败(前几名是「Hey Ava!」) - longmemeval_eval:召回对象 -> seq 的映射抽成 map_to_seqs 供两个框架共用 验证:全量 510 通过;真实 Hermes 检查通过。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019ZZeQFn5F6mEbmX8vPsf4g
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
起因
第一次在公开基准的真实数据上测 nyx。选的是 LoCoMo:10 段两人长对话,1536 道计分题。测的是零 LLM 的检索证据召回,也就是「前 k 条召回里,找到了多少标注的证据句」。
结果:nyx 的 recall@5 是 0.046,同一批句子上最朴素的 BM25 是 0.498。
原因
逐路排查后,SearchRouter 本身是对的:问「Caroline 什么时候去的 LGBTQ 互助小组」,它排第 1 的就是证据句。问题出在把几路结果合起来的那一步:
结果是:问到人名的题,前几名全是「Hey Caroline! Good to see you!」这类打招呼的句子。
修法
影子沙的优先级从 80 降到 55,排到 SearchRouter 后面。SearchRouter 本来就把影子沙的命中并进候选,按「相关度 × 信任分」排序,所以信任反馈不会丢。
四个类别都高于 BM25。
没有针对测试集调参
其他评测不受影响
新增与改动
benchmarks/locomo_eval.py:provider.sync_turn写入;D:11:26、D8:6; D9:17这类写法);benchmarks/results/locomo_retrieval.json只存分数。tests/test_locomo_harness.py:用我自己写的同格式小样本端到端跑评测框架。把优先级改回 80 时,这项测试失败,前几名正是「Hey Ava!」。longmemeval_eval.py:把召回对象映射到 seq 的逻辑抽成map_to_seqs,供两个框架共用。如实说明
验证
🤖 Generated with Claude Code
https://claude.ai/code/session_019ZZeQFn5F6mEbmX8vPsf4g
Generated by Claude Code