Qdrant BM25 找到 48/48 份证据后,MiniMax 为什么仍只通过 9/24
产品检索从 Hybrid Qdrant 切到 Sparse BM25 后,固定查询召回达到 48/48;MiniMax 实际运行有 47/48 份证据进入候选,只读取了 29/48。
这一组文章来自三段连续评估。第一段从新增测试论文后检索和回答同时下降开始,依次检查论文数据、 同一个问题运行两次、直接更换模型,以及自动评分与人工判断为什么不一致。第二段把产品检索从每个 Python Worker 的内存 BM25 迁到 Java/Qdrant,并量化相关性、延迟、内存和可靠性。第三段删除 Dense 与 RRF,用 Sparse Qdrant BM25 恢复词法排序,再把剩余失败定位到 Candidate 之后的阅读与引用。
产品检索从 Hybrid Qdrant 切到 Sparse BM25 后,固定查询召回达到 48/48;MiniMax 实际运行有 47/48 份证据进入候选,只读取了 29/48。
共享预构建索引省掉了 Python Worker 的重复加载;同预算下,指定证据命中从 BM25 的 42/48 降到 34/48。
自动严格评分与人工盲审给出相反排名,因此重新界定指标含义并停止继续增加校验层。
在数据、工具、提示词和单路径编排不变的条件下,只更换模型与 API;Responses API 接入成功,但测试模型出现更多预算耗尽和证据错误。
通过独立运行、理论上限和实际选择结果,判断失败来自答案生成缺少互补性,而非选择规则;并行方案增加了约 73.5 万 Token。
通过分层记录和固定查询重放,确认检索下降来自测试论文的数据结构;召回恢复后,剩余问题集中在证据选择、引用和成本。
2026 年 7 月,Python Research Harness 增加了一批 Agent Evaluation 论文和 15 个新问题。Harness 是项目中负责模型搜索论文、读取原文、调用工具并提交答案的运行流程。
早期内存检索改用基于词频排序的 BM25 后,新问题从 5/15 掉到 1/15。排查后确认,新增论文使用了 简化 PDF 文本流程,章节、内容类型、物理页和解析来源都没有进入 Reading Model。Reading Model 是 论文经过解析后得到的结构化阅读数据。
统一数据结构以后,指定证据进入候选列表的次数从 16/32 回到 29/32,全量 MiniMax 历史参考达到 18/30。检索恢复后,严格评分只多通过一个问题。后续实验因此分别观察检索是否找到、模型是否 读取、答案是否引用、最终回答类型和成本。
指定证据进入候选列表恢复到 29/32。这项修复已经保留。
最终结果为 16/30,低于单路径。并行方案已经删除,两次运行的离线比较方法保留。
测试模型严格评分 11/30,10 个问题耗尽预算。API 适配保留,默认模型不切换。
GPT-5.5 人工通过 28/30,MiniMax-M3 人工通过 22/30。Hard Pass 改按固定规则与指定证据位置的一致性解释。
相同候选预算下,指定证据命中为 42/48 对 34/48;人工复核后为 48/48 对 47/48。Qdrant 在 76 篇广查询中快 4.34-4.86 倍,当时的 Hybrid 排序仍弱于 BM25。
固定查询达到 48/48。MiniMax Expanded 原始 v2 Hard Pass 为 9/24,修复 Content Scorer 后离线复评分为 10/24;实际候选可用 47/48,模型读取 29/48。检索切换保留,先校正评分再决定是否修改编排。
当前产品每个问题只运行一个 Agent,使用 MiniMax 模型。Python Harness 通过 Java Corpus API 请求 候选位置;Java 用 Qdrant 检索,并从 MySQL Current Reading Model 精确读取可引用内容。内存 BM25 只保留为固定测试和离线对照,不是产品回退路径。找到、读取、引用、固定规则评分和人工质量继续 分别报告。Sparse Qdrant 已经通过固定查询检索 Gate;MiniMax Expanded 在同一批保存产物上由 v2 9/24 修正为 v3 10/24。两个数字都是确定性合同分数,不会被描述为完整回答或用户体验质量。