工具菜单即执行先验:让Agent学会正确的工具调用顺序

State-Path框架将工具菜单从语义检索重构为执行路径规划,任务成功率从0.737跃升至0.898。
当Agent面对数千个可用工具时,如何在执行前筛选出合适的工具子集,直接决定任务成败。现有主流方法依赖按请求相关性排序,但这种静态语义匹配容易遗漏多步任务所需的前置工具。论文《The Menu Is an Execution Prior》提出State-Path工具菜单框架,将菜单重新定义为"执行先验":通过编码器建模工具依赖图谱、检索器覆盖完整调用链路、重排器将Producer置于Consumer之前,确保菜单本身承载了任务执行顺序的知识。在ToolBench基准上,该方法将在线任务成功率从0.737提升至0.898,且仅用32个工具就覆盖了128个工具才能达到的链路完整性,在不修改Agent本体的前提下实现了显著的性能与效率双重提升。
当Agent面对成千上万的工具,选择比能力更重要
大语言模型(LLM)通过调用工具来完成任务,这已经是当今智能体(Agent)系统的核心范式。然而现实中的Agent往往要面对包含数千个接口的庞大工具库。如何在执行前从这个庞大的库中筛选出真正有用的一小部分,直接决定了任务的成败。
近期一篇发表于arXiv的研究论文《The Menu Is an Execution Prior: State-Path Tool Menus for Online Agents》提出了一个颇具启发性的概念——工具菜单(Tool Menu),并将其重新定义为一种"执行先验(Execution Prior)"。研究结果显示,仅仅通过优化工具菜单的构建方式,就能在不改动Agent本身的情况下,将在线任务成功率从0.737显著提升至0.898。

工具菜单与传统相关性排序的致命盲区
什么是工具菜单
所谓工具菜单,是指在Agent执行任务之前,从全部可用工具中挑选出的一个简短、有序的子集。Agent只能调用出现在这份菜单中的工具。这就像给一位厨师提供一份精简的备料清单——清单上没有的食材,厨师就无法使用。
按请求相关性排序为什么不够
当前主流的菜单构建方式,普遍采用按请求相关性排序的策略。系统根据用户请求与工具描述的语义相似度,把最相关的工具排在前面。
这种做法有一个致命的盲区:多步任务不仅需要那个"最终动作"的工具,还需要一系列为其准备输入的前置工具,而且这些工具必须以可用的顺序排列。举例来说,如果要"预订某城市的酒店",最终动作是"下单预订",但在此之前必须先"查询城市ID"、"检索可用酒店列表"等。相关性排序往往能命中显眼的"预订"接口,却容易遗漏或延后那些不太显眼的输入生产者(Producer),导致执行链条断裂。
State-Path框架:从相关性匹配到执行路径规划
状态路径(State Path)的核心概念
论文提出了"状态路径"这一关键概念——它是一条在执行前就规划好的路线,从可观测的请求状态出发,抵达期望的最终结果。这条路径描述了从当前状态到目标状态需要经过哪些工具、以什么顺序经过。
基于此,研究者提出了**State-Path Tool Menu(状态路径工具菜单)**框架,其核心思想是:将菜单本身视为一种针对这些执行路线的"执行先验"。换句话说,菜单不再只是一个相关工具的集合,而是编码了任务如何被执行的先验知识。
框架的三大核心组件
State-Path框架由三个协同工作的模块构成:
编码器(Encoder):负责表征三类关键信息——哪些工具可以从当前状态直接运行、这些工具的输出如何满足后续工具的输入需求、以及在训练路径中哪些调用顺序会反复出现。这相当于让模型理解工具之间的"依赖图谱"。
检索器(Retriever):确保菜单覆盖三个要素——一个可执行的入口工具、缺失输入的生产者工具、以及最终动作工具。它不再只盯着最终目标,而是把整条链路的每个环节都纳入考量。
重排器(Reranker):负责将生产者(Producer)排在消费者(Consumer)之前。这一步至关重要,因为只有先生成输入、后消费输入,Agent才能顺利执行整条链条。
实验结果:32个工具胜过128个工具
任务成功率的显著提升
在广泛使用的ToolBench基准测试上,State-Path菜单取得了亮眼的成绩:
- 在线任务成功率从0.737提升至0.898
- 全面超越了检索、重排、生成、路由等多种基线方法
- 无需对Agent本身做任何改动,仅通过优化菜单即可实现
效率优势:更少的工具覆盖更完整的链条
更值得关注的是效率对比:State-Path菜单仅用32个工具覆盖的完整执行链条,比官方工具列表用128个工具覆盖的还要完整。这意味着该方法在大幅缩减菜单规模的同时,反而提供了更高质量的执行支撑——这对上下文窗口有限、调用成本敏感的Agent系统尤为重要。
跨模型泛化的鲁棒性
实验还表明,这一成功率增益在不同能力、不同规模的执行器模型家族上都能稳定保持。这说明State-Path并非依赖特定模型的"投机取巧",而是提供了一种普适的、可迁移的执行先验。
对Agent系统开发者的实践启示
这项研究的价值在于,它把"工具选择"这一常被视为检索问题的环节,重新定义为执行规划问题。传统的相关性排序本质上是静态的语义匹配,而State-Path引入了对工具依赖关系和执行顺序的建模,让菜单真正承载起"如何一步步完成任务"的知识。
对于正在构建复杂Agent系统的开发者而言,这一思路极具启发性:与其一味扩大工具检索的召回范围,不如更精细地建模工具之间的输入输出依赖关系。一个"更聪明"的精简菜单,往往胜过一个"更全面"的臃肿列表。
相关推荐

Treebar:Mac菜单栏管理Git工作树,一眼掌控所有AI编程Agent
Treebar是一款macOS菜单栏应用,专为AI编程多工作树场景设计。它将所有Git Worktree状态统一展示在MacBook刘海区域,让开发者实时监控Codex等AI Agent的工作进度,无需切换终端即可掌握全局。即将开源核心代码。

苹果确认Hide My Email域名永久保留,用户隐私获长期保障
苹果公司公开承诺iCloud+ Hide My Email功能使用的@icloud.com域名将永久保留,不会弃用或迁移。本文解析域名稳定性对邮箱转发隐私工具的关键意义,以及对用户账户安全的底层保障。

终端正在拖慢你:多任务时代的效率反思
终端是程序员的信仰工具,但在多任务并行的现代开发场景中,它的线性设计正在成为效率瓶颈。本文分析终端的心智负担模型为何在第六个任务时崩溃,以及开发者该如何重新评估工具选择。