阿里AI新框架大幅降低令牌消耗,智能体工具选择效率提升

随着企业AI系统扩展以处理复杂工作流程,从业者面临着将子任务路由到正确工具和专业技能的挑战。智能体可能拥有数百种工具和技能,但在工作流程的每个步骤上会困惑于选择哪一个。
为应对这一挑战,阿里巴巴的研究人员开发了SkillWeaver框架,该框架为给定任务创建执行图,并为每个节点选择合适的技能。他们还引入了技能感知分解(SAD)技术,这是一种利用反馈循环使智能体能够迭代获取和验证相关工具候选的创新方法。这种组合方法和反馈循环机制使SkillWeaver区别于其他一次性选择工具的工具路由框架。
SkillWeaver与真实世界的AI应用相关,在这些应用中,智能体自主编排多工具生态系统(如模型上下文协议(MCP))来执行多步业务操作,如下载数据集、转换信息和创建可视化报告。
实践中,研究人员对SkillWeaver的实验表明,与简单地将智能体暴露于整个工具库相比,实施这种检索和路由方法显著提高了准确性,同时减少了99%以上的令牌消耗。
对于构建AI智能体的从业者而言,主要结论是:任务分解的粒度是准确工具检索的最大瓶颈。
技能路由的挑战
技能是现代LLM智能体架构中的关键模式。技能是一种模块化、可重用的工具规范,使用结构化的自然语言文档。
当企业智能体与大型工具生态系统集成时,将用户查询准确路由到正确的技能变得困难。将整个库提供给LLM以找到合适的工具效率极低,很快就会超出上下文限制,并消耗数十万令牌。
大多数当前的工具使用框架试图通过API检索、文档匹配或分层结构来解决这一问题,这些方法将路由严格视为单技能选择或每步问题。
然而,这种单技能范式对于企业环境是不够的,因为现实世界的查询本质上是组合式的。一个标准的业务请求,如”下载数据集,转换它,并创建可视化报告”,无法由单一工具完成。它需要将提示分解,并将API客户端、数据处理器和可视化工具组合成一个连贯的多步执行计划。
SkillWeaver和SAD的工作原理
为了解决这一问题,研究人员将处理需要多种技能的复杂任务的问题框架化为”组合技能路由”。给定一个复杂的用户提示和庞大的工具库,智能体必须同时找出如何将请求分解为原子子任务的序列,如何将每个子任务映射到最佳可用技能,以及如何将这些技能组合成一个可执行的计划。
SkillWeaver通过三个不同的阶段来协调这一过程:分解(Decompose)、检索(Retrieve)和组合(Compose)。在第一阶段,LLM充当任务分解器,将用户的复杂查询分解为一系列每个技能只需处理一次的子任务。一旦子任务被明确定义,系统就会使用嵌入模型将每个子任务与技能库进行比较,为每个步骤提取顶级候选工具的短名单。
在最后阶段,规划器根据技能之间的协同工作能力评估检索到的候选工具。它检查技能间的兼容性,确保一个工具的输出自然地流入下一个工具的输入。然后,它创建一个最终的执行计划,作为一个有向无环图(DAG),映射出依赖关系,以便独立任务可以并行执行。
例如,考虑一个用户要求AI智能体”下载数据集,转换它,并创建可视化报告”。在分解阶段,分解器LLM将此分解为三个不同的子任务:下载数据集、转换数据和创建报告。在检索阶段,系统搜索库并找到任务一的候选工具,如”api-client”或”http-fetch”,任务二的”csv-parser”或”etl-pipeline”,等等。最后,在组合阶段,系统评估这些选项,选择最兼容的”api-client”、”csv-parser”和”chart-gen”组合,并将它们连接成一个最终的、准备执行的 workflow。
此流程的一个关键挑战是,LLM通常产生通用的步骤描述,无法与库中实际技能的具体技术词汇匹配。为解决这一问题,SkillWeaver引入了迭代技能感知分解(SAD),这是一种新的反馈循环。SAD的工作方式是让LLM起草初始计划,进行初步搜索以找到松散匹配的技能,然后将这些检索到的技能作为提示反馈给LLM。这使得LLM能够重写其分解,使粒度和词汇与实际存在的工具完美匹配。
SkillWeaver的实际应用
为了评估SkillWeaver在真实企业场景中的表现,研究人员创建了一个名为CompSkillBench的自定义基准。它包含300个不同难度级别的多步查询。为反映真实环境,他们使用了从公共MCP生态系统获取的2,209个真实世界技能库,涵盖了云基础设施、金融、数据库等24个功能类别。
对于核心引擎,研究人员主要使用轻量级的70亿参数模型(Qwen2.5-7B-Instruct)进行任务分解,并结合标准的语义检索器(MiniLM与FAISS索引)来查找工具。SkillWeaver与三种主要设置进行了比较:一种蛮力的”LLM-Direct”方法,他们将所有工具名称填充到大模型的提示中;一种没有SAD的普通LLM分解;以及一种ReAct风格的智能体循环。
实验表明,任务分解是主要瓶颈。当处理大型工具库时,标准LLM表现不佳,但SAD反馈循环显著提高了效果。在普通设置中,70亿模型仅实现了51.0%的分解准确率(即正确预测步骤数量)。通过激活SAD反馈循环,准确率跃升至67.7%(使用更大的Qwen-Max模型时,准确率达到92%)。在需要四到五种不同技能的”困难”任务上,SAD将准确率提高了50%。
一个有趣的发现是,在没有引导的情况下,更大的模型实际上可能表现更差。在普通设置中测试时,一个更大的140亿参数模型的准确率下降到低于70亿模型的准确率,因为它倾向于将任务过度分解为微观的、不必要的步骤。一旦引入SAD,检索到的工具提示将模型锚定回现实,提高了其准确率。这表明,将智能体与特定工具的词汇对齐,通常比购买更大、更昂贵的LLM影响更大。
另一个重要启示是令牌节省。使用超大Qwen-Max模型的LLM-Direct基线显示,将所有工具提供给大模型的提示是行不通的。尽管具有近乎完美的任务分解能力,但当被大量工具选项淹没时,该大模型仅21.1%的时间检索到正确的工具类别。SkillWeaver的针对性检索和路由方法在准确性方面远胜于此,同时将上下文窗口消耗从估计的884,000令牌降至每个查询约1,160令牌,减少了99.9%。
关注微信号:智享开源 ,及时了解更新信息。


公众号:智享开源
还没有任何评论,你来说两句吧!