Skip to content

[Tracking] Skill Indexer: retrieval efficiency and accuracy #255

Open

Description

@Dong1017

当前状态与决策(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 检查已通过。冻结 baseline f93df054 上一次 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 的两项独立目标:

  1. 高效检索:减少用户实际使用路径的等待和重复工作。
  2. 检索准确度:更可靠地找到相关 skill/knowledge 和完整必要资源,减少错选、漏选和不恰当推荐。

本 Issue 是新一轮总跟踪,不重开已完成的 #128 或 #190。两项目标分别测量和验收,不能以提速代替准确度,也不能以增加知识条目代替检索改善。

已有交付与基线

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、独立评分平台或新的调度服务。

与其他事项的关系

所有权、顺序与关闭条件

  • 请求者:@Dong1017;当前授权为创建本总跟踪,明确两项目标。
  • 实施 owner、首个受控测量环境、具体阈值及 PR 切分:待确定。
  • 效率验证是近期优先候选;准确度列入跟踪,但不意味着本周必须同时展开全部实现。
  • 实现、付费模型实验和硬件资源使用仍按具体接受范围与权限执行;本 Issue 不新增预算或自动执行授权。
  • 两项分别记录证据与验收。仅性能部分交付时不得关闭整个 tracker;关闭须满足双方已接受的范围,或由 owner 显式调整范围并保留未完成事项。

Activity

  1. Dong1017 commented on Oct 29, 2026

    @Dong1017
    CollaboratorAuthor

    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.

  2. added
    area:knowledgeKnowledge line: packs, skill library, knowledge admission
    kind:trackingTracking umbrella that follows child work
    on Oct 29, 2026
  3. Dong1017 commented on Oct 29, 2026

    @Dong1017
    CollaboratorAuthor

    本轮实施范围与执行协调

    开始推进本 Issue 的小范围实现与验证,避免重复认领。

    • **效率线:**固定当前 main、语料和同范围调用基线,依据 profiling 选择一个热点做最小改进;在 candidate 调优前冻结主要指标、实际收益门槛和回归限制。没有足够收益就保留负结果,不制造提速结论。
    • **准确度线:**构造小规模、可审查的开发/留出用例,覆盖相关性、条件不兼容、无匹配、完整资源交付和预算边界,先做失败归因,再处理有证据的局部缺陷。保持默认行为和显式 ID 契约;不展开算法重写。
    • **最终交付:**仓库内一张效率与准确度对照表,附用例、逐例结果、固定版本、复现命令及覆盖边界。目录和数量依据现有仓库结构确定,协议中记录后再运行 candidate。
    • 不引入新模型、付费 reranker、向量服务或 GPU/NPU 实验,不把本轮检索指标写成下游 agent 效果。perf: reduce repeated knowledge bundle validation with reproducible retrieval evidence #190 历史结果保留,不作为本轮当前 baseline。
    • 实施与独立验证分开;先报告测量和问题,再按接受范围评估是否具备关闭条件。仅效率完成不会关闭双目标 tracker。

    当前处于源码/协议与用例准备阶段,尚无本轮性能或准确度改善结果。

  4. Dong1017 commented on Oct 29, 2026

    @Dong1017
    CollaboratorAuthor

    候选实现前冻结:#255 首轮测量协议 v1

    Baseline:ab03f3ffb8f2e5bc02c304828c5c41890eef673e。候选方向限于一次请求内重复资源校验复用,不改排序、内容和跨请求缓存。本条记录时尚未修改候选实现。

    协议文件将随交付进入 evidence/indexer-255-20261029/plan/protocol.json,当前 SHA-256:
    e8671850da526e9a0df6439a0f2ace0a20251830c1d7d7891d02b82eb72a0cf8。

    效率主路径与门槛

    • reused-reader relevance Collect API,repo=inferrsi,query为空,limit=5。
    • 固定 relevance 查询:cgroupv2 cpu quota、P2pNccl KV transfer completion、DLRover checkpoint replica recovery、weight loading mmap checkpoint peak memory。
    • 20 个配对组,偶数组 AB、奇数组 BA;同主机/Python,逐组逐侧顺序执行,禁止同时跑其他 benchmark。
    • 每个 mode/query 建 reader,先一次相同调用预热,再测一次;每组四查询的配对相对耗时下降取中位数,再取20组中位数。要求 ≥15%,以组为单位10000次 bootstrap(seed=255)95%区间下界 >0;每个主查询 p50 回归不得超过5%。
    • 六个次路径:fresh-reader relevance API、default Collect API、context API(262144 bytes)、catalog search API、完整 relevance CLI、完整 search CLI。使用 dev01 同一查询/过滤范围;default/search 使用 query=cgroupv2、无 relevance。分别报告,不混成 API/CLI 加速比。
    • 次路径 p50 回归≤10%、p95回归≤20%。p50用中位数,p95用 nearest-rank;20样本尾延迟噪声明示,不冒充生产SLO。
    • fresh-reader 包含构造和首次调用,不称作 cold OS cache。CLI 包括完整进程启动与输出捕获,解码耗时另列。
    • 保留全部样本;不裁剪慢样本,不混合重试。未完成为 INCONCLUSIVE,完整运行未达门槛为 FAIL,不事后放宽。前后核对输入/语料完整性,成对输出必须完全一致。

    准确度与资源交付

    • 12个语义案例:8开发、4独立留出;另有6个契约/边界案例。
    • 留出集在查询运行前独立按源码冻结,SHA-256:10e13080cfb4d27de40dc92166c261cf6ccf47776d08111f2e85d7c8edc2d19f。候选代码冻结前不向优化者提供其内容;不按留出结果调参。
    • 分开发/留出报告 partial-label Hit@5、MRR@5、已知不兼容命中、必要资源完整交付、预算遗漏及逐例失败。部分相关性标注不称完整 Recall/Precision。
    • 资源完整交付以“已检索到的相关条目”为条件单列,漏检、主动预算省略另列,避免掩盖检索失败。
    • 纯效率候选须保持所有案例序列化输出一致,契约检查通过;结果相同明确写“无准确度增益”。若发现值得修复的准确度问题,另冻结独立变体与目标,不能混入本性能对照或利用留出调优。

    用例位置:tests/fixtures/indexer/;通用复现入口:tools/evaluate_indexer.py;协议、原始结果和最终对照表:evidence/indexer-255-20261029/。实际 runner/验证器将在候选开发前另记录 hash。

    必须保留内容/metadata/dependency变更、同路径字节变化、unsafe path、revision不匹配、过期投影、两次调用间checkout更新、显式ID顺序/pin和context完整性检查。此协议不启动付费模型或设备实验,也不把检索结果解释为下游 agent 效果。

  5. Dong1017 commented on Oct 29, 2026

    @Dong1017
    CollaboratorAuthor

    协议实施前勘误,接冻结记录:核对 CLI 接口后,当前 Collect CLI 没有 repo filter。因此四个 timing query 及对应 API/CLI 路径统一不传 repo filter,避免把不同范围的工作混作对照;查询文本、limit、样本数和所有门槛不变。

    最新 plan/protocol.json SHA-256 为 e4964329a20e6752b8149ab270733c0bbb258d0f948bdca9e86da6fe8f028956,替代上一条的 e8671850。此修正在候选代码修改和正式配对测量之前完成,保留旧记录说明原因,不属于看结果后调整门槛。

  6. Dong1017 commented on Oct 29, 2026

    @Dong1017
    CollaboratorAuthor

    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:

    • 同一 baseline ab03f3ff、冻结候选 6da28494891b21cdc89f632d84d763bc997b7d15、同一语料与原 runner。
    • 完整 CLI 命令:python -m inferrsi knowledge search cgroupv2 --limit 5 --json。
    • 120配对样本,60AB/60BA,seed25502随机排列;保留完整启动/捕获耗时,解码另计。仍用原 p50≤10%、p95≤20% 回归上限,不裁剪。
    • 随后40组 baseline-baseline 负对照,仅用于环境诊断,不作候选验收替代。配对 bootstrap 区间描述不确定性,不事后创造新放行规则。
    • 完整保留所有原始时间、顺序、输出hash/大小、输入完整性;运行前后核对源码和语料。其他工作暂停重测试,避免已知 CPU 竞争。
    • 结果无论好坏只运行这一轮,结合所有证据作后续判断;该研究单独不授权接纳候选。

    协议 plan/confirmation-v2.json SHA-256:
    40de4eefba8712d3d07f2e48049b0899c831f94bfcfa252c1f8841525a337fa4。
    确认脚本 validator/confirm_cli_search.py SHA-256:
    b11b4cf08b6dceb43be447516d5abb740bb2de8c2fdfd7a9ee3f820a1174b55d。
    均位于 evidence/indexer-255-20261029/。CPU-only,无安装、模型或设备调用。

  7. Dong1017 commented on Oct 30, 2026

    @Dong1017
    CollaboratorAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:knowledgeKnowledge line: packs, skill library, knowledge admissionkind:trackingTracking umbrella that follows child work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions