Repository navigation
[Tracking] Skill Indexer: retrieval efficiency and accuracy #255
Copy link
Copy link
Open
Labels
area:knowledgeKnowledge line: packs, skill library, knowledge admissionKnowledge line: packs, skill library, knowledge admissionkind:trackingTracking umbrella that follows child workTracking umbrella that follows child work
Description
当前状态与决策(2026-10-31,公开交付与对照设计)
- 进展:#270 效率切片与 #272 opt-in 检索契约修复已合入;冻结效率研究下降 9.434%,合成契约通过,不代表一般准确度提升。
- **待决定:**通用准确度目标仍未验收;需按原目标处置剩余证据或明确调整范围,不能以性能交付关闭双目标 tracker。
- **已确认的对照设计:**比较「同一 agent + Indexer/Collect」与「同一 agent + rg」,而不是 Indexer 单独对比一个 agent。RAG 是检索证据后用于生成/决策的整体流程;rg 是文件文本搜索工具,Indexer/Collect 是结构化发现、筛选与资源交付组件,两者可作为该流程中的不同检索路径。
- **公平控制与指标:**除检索入口外,固定同一 agent/模型及设置、任务、知识内容与版本、可访问文件、工具权限和预算;rg 侧可正常检索、读取同一知识库。并列报告任务成功、必要证据遗漏与完整交付、token 消耗及端到端时间,不以命中数或单条 CLI 速度替代任务效果。
- 与既有试验的边界:固定 K 的有/无知识收益试点 #248不直接回答 Indexer 相对 rg 的检索增益,既有结果不作为本对照的完成证据。当前确认的是设计基线,不是付费执行授权,也不改变既有试点冻结、费用记录或重试约束。
- **下一步:**既有实施协调方结合保留的失败与局部修复,整理本对照的任务/证据用例、前瞻协议和剩余准确度缺口;具体判据、阈值及执行条件另行明确,实施归属不变,由 owner 决定验收/范围处置。本 Issue 保持 open,不自动新增试验。
分阶段结果、冻结证据与边界
| 交付 | 实测结果与处置 | 证据 |
|---|---|---|
#256,合入 3731b73120f27277a0b136d69ac50abfe5e28a63 |
主路径配对中位下降 58.61%,但 CLI search p95 回归 52.72%,冻结 v1 FAIL;一次独立确认不覆盖原失败。准确度两组相同,heldout Hit@5 3/4、MRR@5 0.75。候选仅作为 patch/bundle 留档,不推广运行时代码。 | 效率/准确度总表与边界 |
#259,合入 dabd18492b5afa2b57b912e774e75f418645a1de |
单个 whole-token 候选 development Hit@5 4/6→5/6,但 MRR@5 0.583333→0.541667,违反预设门槛,DEV FAIL。按规则停止;六个 heldout 未运行,不是待重试的执行故障。无生产排序或语料变更。 | 逐例结果与冻结协议 |
#265,合入 c97f25e2451ee1447f22a549659d9cb0a5345427 |
证据归档:structured-string v3 在 6 个复用 DEV 上 Hit@5 4/6→5/6、MRR@5 7/12→8/15,FAIL,留出集未运行;blind-cue 仅 3/6 对有来源支持,低于冻结的 4 对下限,准备阶段 INCONCLUSIVE,未执行检索;source-conditioned covered-cue 两组 Hit@5 均 6/6、MRR@5 均 29/36,严格增益门槛 neutral FAIL。不推广运行时、不据此验收目标。 | 统一效率/准确度表;v3、blind-cue、covered-cue |
- 首轮通用入口为
tools/evaluate_indexer.py,8 个开发 + 4 个留出语义用例在tests/fixtures/indexer/,另有 6 个契约检查;原始测量、协议和完整性记录在上述 evidence 目录。各研究使用各自固定 baseline/语料,不把历史数字写成当前 main 的新测量。 - evidence(indexer): consolidate negative accuracy and cue-study results for #255 #265 仅整理已有实验与公开材料;本次归档没有新实验。v3 DEV 为复用训练诊断,covered-cue 为来源条件化的合成用例,不是独立一般检索验证;既有失败、各自 baseline 和未运行的留出集保持原样。
- 默认生产排序保持不变;部分标签 Hit/MRR、完整资源交付和下游 agent 效果分别报告。CI 或证据合入不是目标效果验收。
- 状态纠正记录已明确:此前关闭不符合 evidence-only 范围,已恢复 open。后续实现须单独冻结假设与评估,保留既有失败,不用调参/重复运行改写结果。
- 有限效率切片已合入。 #270 合入
3902e4abcbe8806a683ab06caf4b9f09743c20cf;最终 review、policy 与 Ready 检查已通过。冻结 baselinef93df054上一次 120 配对 CPU 研究的主要延迟下降 9.434%(95% CI 4.603–13.337%),不是当前 main 的新测量。exact-Bundle 满额 fast path 不改变排序;search CLI p95 点变化 +8.99%,区间 −42.02%…+32.85% 仍宽,不能推出一般尾延迟安全。参见原结果与边界。准确度目标及既有失败保持不变。 - 局部检索契约修复已交付,通用准确度目标仍未验收。 #272 已合入,新增显式 opt-in
weighted-raw-string-v1,去除 JSON 序列化换行/tab 造成的 phantom matches;默认排序与子串匹配保持不变。冻结的 14 个标量案例 + 2 个排序 fixture 通过,去除 5 个虚假贡献并保留 26 个预期正例、21 个兼容性请求。可运行 demo 与证据及限定范围 review说明:这是合成契约正确性,不是一般检索准确度、速度或 agent 效果证明,也未推广默认模式。 - 下一步是依据已有失败定位局部问题,按既有小范围约束决定后续候选及前瞻协议;尚未发布/接受的新结果不计入本节。双方接受的目标或明确范围调整未满足前,不关闭总跟踪。
以下保留初始目标、历史基线和验收方向;阶段性“待确定”表述应结合本节及实施协调记录阅读。原始 checklist 不因部分证据交付而批量勾选。
目标
跟踪 Skill Indexer / Collect 的两项独立目标:
- 高效检索:减少用户实际使用路径的等待和重复工作。
- 检索准确度:更可靠地找到相关 skill/knowledge 和完整必要资源,减少错选、漏选和不恰当推荐。
本 Issue 是新一轮总跟踪,不重开已完成的 #128 或 #190。两项目标分别测量和验收,不能以提速代替准确度,也不能以增加知识条目代替检索改善。
已有交付与基线
- [RFC] Skill Indexer: better skill and context selection through collect #128 已交付 opt-in relevance/context selection 和完整资源约束;其验收没有接受成本更低且质量不降的效果主张。
- perf: reduce repeated knowledge bundle validation with reproducible retrieval evidence #190 / perf: reduce knowledge retrieval manifest work with measured evidence #193 已完成单次 Bundle.manifest() 内重复哈希/路径校验去重。chore: remove retrieval audit and evidence artifacts #195 清理测量附件,保留运行时代码与回归测试。
- task: drop default-valued skill sidecar fields and keep case digests in one record #175 / knowledge: drop default sidecar fields, keep case digests in records #176 的 metadata trim 合并 SHA
4817f92121df73fd9cd5fb4a319e3c56a68b4a5b正是 perf: reduce repeated knowledge bundle validation with reproducible retrieval evidence #190 的 baseline;旧测量已包含该 trim,不能称为漏测 trim 后性能。 - 历史完整性能表 / 可视化总结:108 records、Windows i7-8565U、Python 3.12.6,20 个平衡 AB/BA 组;预设 hot relevance 配对中位延迟下降 40.01%,95% CI [38.38%, 41.06%],96/96 序列化输出一致。部分 search/decode 指标有回归,不宣称全路径加速。
- 新一轮应固定实际评估时的 main、语料和环境;不同机器、语料、版本的诊断快照不能直接作前后对比。
A. 高效检索
待实施范围
- 先确定代表性调用路径与查询,区分 search、default Collect、relevance Collect、context delivery。
- 分别报告首次/重复 reader、API 和完整 CLI 的耗时,保留返回字节数、语料规模、样本数、原始时间和环境。
- 根据 profiling 选择一个主要热点,例如重复校验、哈希或资源装配;不预先指定全局缓存、向量库或新服务作为答案。
- 纯性能改动保持排序、内容、遗漏、revision、hash 和预算行为一致,并保留修改后的失效/更新检测。
验收方向
- 固定当前 baseline、查询、语料、环境与测量方法,产出可复现性能表。
- 在 candidate 测量前约定主要路径与最小实际收益;同时记录尾延迟和其他路径回归。
- 同环境受控前后对照,证明收益而不是只给 profiler 截图。
- 输出一致性以及内容/依赖变更、过期索引、unsafe path、checkout 更新等回归检查通过。
- 若收益不足或未发现值得优化的热点,如实记录并由 owner 决定停止,不制造优化成果。
B. 检索准确度
待实施范围
- 从真实使用需求及已有案例中选少量代表性查询,覆盖跨领域机制复用、约束/不兼容条件、无匹配、必要资源和 context budget 不足等场景。
- 在调整描述、标签或排序前固定开发/留出划分和可审查的相关性依据;不要求一条 skill 对应一张考卷。
- 区分“相关条目被检索到”“完整资源实际交付”“agent 使用后决策正确”。
- 先诊断错误来自内容描述、query/filter、ranking 还是资源预算;只有已有方法不足且有证据时,再讨论 reranker/语义检索等方案。
- 不将量化设为必选试点或通用设计前提。[RFC] Online quantization knowledge, skills and Skill Indexer selection #254 可提供后续案例,但本轮不专门寻找量化案例。
验收方向
- 冻结小规模评估集合、相关性标注依据和适用边界;不把部分标注称为完整 Recall。
- 报告适当的 Top-k 命中/排序指标、错选/漏选、无答案处理、完整资源交付及逐例失败原因。
- 固定语料/内容比较 selector 变化;若内容同时改变,另做对照,避免混淆收益来源。
- 保留默认行为和显式 ID 契约,兼容性变化必须明确审定。
- 达到事先约定的准确度目标,并报告速度、返回上下文大小和成本代价。单次模型判断或更多命中数不能独自证明改善。
两条线如何协作
效率线首先保持输出语义不变,准确度线可以有意改变输出,但必须有独立证据和兼容性说明。即使分 PR 实现,也使用可比的固定输入,并分别报告两类结果。
少量检索/资源交付测试可共享;无需为此引入大题库、第二套 catalog、独立评分平台或新的调度服务。
与其他事项的关系
- [Tracking] SkillEval evolution: local evidence, PR review and optional LLM judge #253:SkillEval 评估 skill/knowledge 改动对 agent 任务的作用。固定检索测内容、固定内容测检索,避免归因混淆。
- [Tracking] Minimal engineering benchmarks shared by Workbench, SkillEval and SearchSpace experiments #252:共享工程 benchmark 基础;Indexer 的检索正确性测试不等同于硬件工程效果验证。
- [RFC] Online quantization knowledge, skills and Skill Indexer selection #254:在线量化领域的知识和选择提案,是潜在使用场景,不替代本通用跟踪。
- [Investigation] Repo Intelligence, Skill Distillation, and Recursive Self-Improvement for InferRSI #8:知识复用/commit-to-skill 的更大研究问题;检索提速或准确度改善不自动完成它。
所有权、顺序与关闭条件
- 请求者:@Dong1017;当前授权为创建本总跟踪,明确两项目标。
- 实施 owner、首个受控测量环境、具体阈值及 PR 切分:待确定。
- 效率验证是近期优先候选;准确度列入跟踪,但不意味着本周必须同时展开全部实现。
- 实现、付费模型实验和硬件资源使用仍按具体接受范围与权限执行;本 Issue 不新增预算或自动执行授权。
- 两项分别记录证据与验收。仅性能部分交付时不得关闭整个 tracker;关闭须满足双方已接受的范围,或由 owner 显式调整范围并保留未完成事项。
Metadata
Metadata
Assignees
Labels
area:knowledgeKnowledge line: packs, skill library, knowledge admissionKnowledge line: packs, skill library, knowledge admissionkind:trackingTracking umbrella that follows child workTracking umbrella that follows child work
Activity
Dong1017 commentedon Oct 29, 2026
Scope/evidence review of the Issue body updated 2026-10-29T11:24:29Z, against main
7d1d82f55cda89842bd23ee2da91b521ee60eb08. Document and existing-evidence inspection only; no new benchmark, model or device execution.No blocking scope issue found. Keeping efficiency, retrieval correctness, complete resource delivery and downstream agent benefit separate is appropriate. The pinned historical performance table supports the rounded 40.01% hot relevance reduction and 95% interval [38.38%, 41.06%]; the paired output summary supports 96/96 output parity. These establish that historical, bounded CPU result, not a fresh baseline or accuracy gain on current main.
One measurement detail to retain in the first scoped protocol: a fresh reader is not a cold OS filesystem cache. The historical API/CLI paths also had different filter scopes, so compare identical modes, filters, corpus and returned content within each pair, and report API and CLI separately. Otherwise a cheaper invocation could simply do less work.
Next for @Dong1017 / the eventual accountable implementer (currently unassigned): choose one representative efficiency path and freeze its current baseline, primary practical-gain gate and regression limits before candidate work. The retrieval/output-parity suite can remain bounded and need not wait for #252's hardware benchmark foundation. Keep B's held-out relevance/resource-delivery evidence and its acceptance separate. This is review feedback, not implementation authorization or acceptance of either objective.
Dong1017 commentedon Oct 29, 2026
本轮实施范围与执行协调
开始推进本 Issue 的小范围实现与验证,避免重复认领。
当前处于源码/协议与用例准备阶段,尚无本轮性能或准确度改善结果。
Dong1017 commentedon Oct 29, 2026
候选实现前冻结:#255 首轮测量协议 v1
Baseline:
ab03f3ffb8f2e5bc02c304828c5c41890eef673e。候选方向限于一次请求内重复资源校验复用,不改排序、内容和跨请求缓存。本条记录时尚未修改候选实现。协议文件将随交付进入
evidence/indexer-255-20261029/plan/protocol.json,当前 SHA-256:e8671850da526e9a0df6439a0f2ace0a20251830c1d7d7891d02b82eb72a0cf8。效率主路径与门槛
inferrsi,query为空,limit=5。cgroupv2 cpu quota、P2pNccl KV transfer completion、DLRover checkpoint replica recovery、weight loading mmap checkpoint peak memory。cgroupv2、无 relevance。分别报告,不混成 API/CLI 加速比。准确度与资源交付
10e13080cfb4d27de40dc92166c261cf6ccf47776d08111f2e85d7c8edc2d19f。候选代码冻结前不向优化者提供其内容;不按留出结果调参。用例位置:
tests/fixtures/indexer/;通用复现入口:tools/evaluate_indexer.py;协议、原始结果和最终对照表:evidence/indexer-255-20261029/。实际 runner/验证器将在候选开发前另记录 hash。必须保留内容/metadata/dependency变更、同路径字节变化、unsafe path、revision不匹配、过期投影、两次调用间checkout更新、显式ID顺序/pin和context完整性检查。此协议不启动付费模型或设备实验,也不把检索结果解释为下游 agent 效果。
Dong1017 commentedon Oct 29, 2026
协议实施前勘误,接冻结记录:核对 CLI 接口后,当前 Collect CLI 没有 repo filter。因此四个 timing query 及对应 API/CLI 路径统一不传 repo filter,避免把不同范围的工作混作对照;查询文本、limit、样本数和所有门槛不变。
最新
plan/protocol.jsonSHA-256 为e4964329a20e6752b8149ab270733c0bbb258d0f948bdca9e86da6fe8f028956,替代上一条的 e8671850。此修正在候选代码修改和正式配对测量之前完成,保留旧记录说明原因,不属于看结果后调整门槛。Dong1017 commentedon Oct 29, 2026
v1 结果与一次独立确认测量(运行前冻结)
首轮20组的冻结结论为 FAIL,保留不变:主要检索配对中位下降58.61%(95% CI 52.54–61.35),但完整 CLI search 的 p95 回归52.72%,超过20%上限(p50 +9.58%,未超过10%)。输出保持一致并不能抵消性能门槛失败。
CLI search 路径不调用本次修改的 Collect/manifest,代码路径未变,但进程启动会导入相关模块;目前没有足够证据把异常归因于主机噪声。为核查这一不确定性,仅安排一次固定规模确认研究,不重复直到通过、不与 v1 合并,也不把 v1 改写成 PASS:
ab03f3ff、冻结候选6da28494891b21cdc89f632d84d763bc997b7d15、同一语料与原 runner。python -m inferrsi knowledge search cgroupv2 --limit 5 --json。协议
plan/confirmation-v2.jsonSHA-256:40de4eefba8712d3d07f2e48049b0899c831f94bfcfa252c1f8841525a337fa4。确认脚本
validator/confirm_cli_search.pySHA-256:b11b4cf08b6dceb43be447516d5abb740bb2de8c2fdfd7a9ee3f820a1174b55d。均位于
evidence/indexer-255-20261029/。CPU-only,无安装、模型或设备调用。test(indexer): retain retrieval efficiency and accuracy evidence for #…
evidence(indexer): retain rejected whole-token accuracy experiment for …
Dong1017 commentedon Oct 30, 2026
Tracker-state correction: restored this Issue to open. A closure was recorded at 2026-10-30 01:50:07 UTC, immediately after #259 merged, without a new acceptance record. That closure does not match the evidence-only scope; its precise mechanism was not established by this check.
Delivery is complete for the retained measurement/tooling slices in #256 and #259, not for both tracker objectives. The first runtime candidate failed its frozen tail-latency guard. The whole-token candidate increased development Hit@5 from 4/6 to 5/6 but reduced MRR@5 from 7/12 to 13/24, failing its prospective gate; heldout was not evaluated. Production ranking remains unchanged. See the scoped review #259 (review) and report https://github.com/InferMatrixLab/InferRSI/blob/dabd18492b5afa2b57b912e774e75f418645a1de/evidence/indexer-255-token-v2-20261030/results/report.md .
No accuracy improvement or runtime promotion is accepted by these merges. Further implementation requires a separately frozen hypothesis and evaluation; the existing failed observations must remain unchanged.
evidence(indexer): archive negative accuracy and cue studies (#265)