📖标题:SkillRouter: Retrieve-and-Rerank Skill Selection for LLM Agents at Scale
🌐来源:arXiv, 2603.22455v1
🌟摘要
随着LLM代理生态系统的发展,可用技能的数量(工具,插件)已经达到数万个,这使得将所有技能注入到代理的上下文中变得不可行。这就需要进行技能路由-从给定用户任务的大型池中检索最相关的技能。社区技能库中普遍存在的功能重叠使问题更加复杂,其中许多技能具有相似的名称和目的,但在实现细节上有所不同。尽管其实际重要性,目前的代理体系结构采用渐进式公开设计-只向代理公开技能名称和描述,同时隐藏整个实现主体-隐式地将元数据视为足以进行选择。我们通过对2080 K技能和75个专家验证查询的基准进行系统的实证研究来挑战这一假设。我们的关键发现是,技能主体(全文执行)是决定性的信号:删除它会导致所有检索方法的29-44个百分点的下降,跨编码器注意力分析显示91.7%的注意力集中在身体领域。基于这一发现,我们提出了SKILLROUTER,两级检索和重新排序管道,总共只有1.2亿个参数(0.6B编码器+ 0.6B reranker). SKILLROUTER实现了74.0%的top-1路由精度,并在我们评估的紧凑和零拍摄基线中提供了最强的平均结果,同时保持可部署在消费者硬件上。
🛎️文章简介
🔸研究问题:在拥有数万个技能的大规模生态中,仅凭名称和描述是否足以让智能体准确检索到最相关的技能,还是必须依赖完整的代码实现正文?
🔸主要贡献:论文通过实证研究推翻了对元数据的传统依赖,证明技能正文是路由的关键信号,并提出了轻量级 SkillRouter 流水线实现高效精准检索。
📝重点思路
🔸构建了包含约 8 万个技能和 75 个专家验证查询的大规模基准测试,模拟真实社区技能库中功能高度重叠的挑战场景。
🔸设计了控制变量实验与注意力机制分析,对比仅使用名称描述与使用完整文本(含正文)在不同检索模型下的性能差异。
🔸提出了 SkillRouter 两阶段检索重排序架构,包含一个 0.6B 参数的双编码器检索器和一个 0.6B 参数的交叉编码器重排序器,均输入完整技能文本。
🔸引入三层假负例过滤机制去除功能重复的技能,并采用列表式交叉熵损失函数进行微调,以解决技能库同质化导致的排序难题。
🔎分析总结
🔸移除技能正文会导致所有检索方法的 Top-1 准确率下降 29 至 44 个百分点,BM25 甚至降至零,证明正文是决定性信号。
🔸交叉编码器的注意力分析显示,91.7% 的注意力集中在技能正文上,而名称和描述分别仅占 7.3% 和 1.0%。
🔸SkillRouter 紧凑版(共 1.2B 参数)实现了 74.0% 的 Top-1 路由准确率,优于参数量大得多的零样本基线模型,且可部署于消费级硬件。
🔸假负例过滤提升了 4.0% 的准确率,而列表式损失函数相比点式损失函数提升了 30.7%,表明在同质化池中比较排序至关重要。
💡个人观点
论文论证了路由系统必须访问完整代码正文才能做出正确判断,个人理解skill检索其实是对长上下文的一种妥协。