Comparative Approaches to Agent Retrieval over Large Skill Libraries
Indivara Kolluru, Nathan Sportsman
cs.AI
2026-08-06
在 690 技能库上,给检索加 LLM 知识图谱反而低 11.2 分;98.6% 的边与向量近邻重合,图谱拓不开检索边界。
一个挂了大型技能库(skill library)的 agent,每接到一个任务都要决定加载哪些技能、按什么顺序执行。最省事的做法是把整库 690 个技能全塞进上下文,但那要花掉约 4.69 万 token,而且一堆无结构条目也让 agent 没法自己排出执行次序。两套常见解法各打各的:一套用检索器按需取出最相关的几条,另一套用知识图谱把技能之间的「先做 A 再做 B」「A 的输出喂给 B」这类关系编进去。
这篇要回答一个直接的问题:把图谱叠到检索之上,到底比纯检索强多少?以及更根本的,这套图谱是怎么搭起来的、它的边从哪来,会不会从一开始就决定了它帮不上忙。
研究者搭了两套系统在同一个 690 技能的语料上对比。
检索侧是一个混合排序器(hybrid ranker),把 BM25 关键词分和 all-MiniLM-L6-v2 的 384 维稠密向量相似度融合。BM25 擅长精确的标识符和稀有词,顺带当一道离题过滤;稠密向量管语义改写。生产默认走融合版。
图谱侧是一张类型化知识图(typed knowledge graph),边分三层:人工写的、从技能元数据派生的、以及 LLM 推断的。LLM 层用 claude-haiku-4-5 在强制工具调用下,先取每个技能的 top-8 向量近邻当候选,再让模型从 8 种关系(requires、feedsinto、precedes 等)里挑类型打边。整个 690 技能跑一遍产出 1421 条边,花了约 2.7 美元、15.5 分钟。
关键的实验设计是「同 token 预算」对照:不是把图谱结果免费叠上去,而是固定塞给 agent 的候选条数。比如预算是 6 条时,一条 arm 用「1 条检索加 5 条图谱邻居」,另一条用「6 条纯检索」,看谁更高。
在 117 条贴近真实、不照抄技能描述的查询上,混合检索器 hit@5 是 73.5% ± 8.0,也就是说仍有四分之一的查询在前五名里取不到对的技能。
| 方案 | hit@5 | 说明 |
| 纯图谱(无检索) | 0.9% | 约等于随机 |
| 检索 1 条加图谱 5 条 | 63.2% | 同预算 6 |
| 纯检索 6 条 | 74.4% | 同预算 6 |
同预算下图谱比纯检索低 11.2 个百分点(McNemar p=0.0007)。论文给的原因是一个「预过滤拓扑上界」:图谱的候选边本来就来自向量 top-K 邻域,所以它能连的技能,检索器早就一起捞上来了。具体到数字,1022 条不同的类型化边对里,1008 条(98.6%)同时也是向量近邻对,真正「图谱独家」的只有 14 条。结果是 1421 条边加进去后,图的连通性指标一个没动,没有新连上的节点、没有合并的连通分量。
另一记重锤是评估方法本身。用技能作者自己写的 37 条查询,hit@5 飙到 0.946,因为查询直接复用了技能描述里的词。换成 117 条不照抄的查询,关键词检索掉了 44.2 个百分点,混合检索掉了 21.1 个百分点。如果只看作者写的查询,上面这些「图谱没用」的结论根本看不出来。
这篇对做 agent 的人有两层直接的实用价值。
第一,别急着往检索上叠图谱。在一个强检索器已经覆盖的邻域里再加结构化关系,边际收益接近零,这篇给了一套可复现的「同预算对照」方法来证伪自己想加的东西。这比多数只报涨点的论文诚实。
第二,评估别用作者写的查询。它能造出高达 44 分的虚假水位,把真实差距全抹平。建评测集要刻意避免查询和描述共用词汇。
对那些已经在用向量检索的 agent 框架,这等于一张「暂不必上图谱」的免责单据,前提是你的场景和它一样是单跳、非饱和的检索。
论文自己列得很清楚:评测只有 117 条查询,一条就是 0.85 个百分点;精度审计只有 48 条边、单人判、只看描述;没测延迟;命中只看「金标技能在不在这批里」,没验证 agent 拿到这些技能是否真能跑完任务;单语料、单机构、单嵌入模型,换库不保证成立。
值得追问的是结论的外延。这篇用的是 all-MiniLM-L6-v2 这个相对小的嵌入模型,「拓扑上界」说的是图谱逃不出嵌入的近邻结构。换一个更强的检索基座,或者像 Graph-of-Skills 那样把边建在技能包自带的依赖关系(而非检索器的近邻)上,上界可能就松了。论文自己也承认 GoS 那种从依赖结构派生边的做法是另一条路。所以更稳的说法是:当图谱的边来源和检索器是同一套嵌入时,它帮不上忙,而不是图谱这条思路本身死了。