阿里巴巴的研究人员开发了 SkillWeaver,这是一个旨在改进企业人工智能系统中子任务路由的框架。 SkillWeaver 为任务创建执行图并为每个节点选择适当的技能。该框架采用了技能感知分解(SAD),这是一种使用反馈循环进行迭代工具选择的技术,将其与一次性选择工具的框架区分开来。
SkillWeaver 专为现实世界的人工智能应用程序而设计,例如通过模型上下文协议 (MCP) 协调多个工具以进行各种业务操作,包括数据处理和报告。测试表明,与将代理暴露于整个工具库相比,SkillWeaver 的方法提高了准确性,同时减少了 99% 以上的令牌消耗。
人工智能系统面临的主要挑战是任务分解的粒度,因为实际查询通常涉及需要多种技能的组合请求。技能被定义为利用结构化自然语言文档的模块化、可重用的规范。当前的人工智能框架通常将工具路由视为单一技能选择任务,这对于复杂的工作流程来说是不够的。
SkillWeaver 的操作由三个阶段组成:Decompose、Retrieve 和 Compose。在分解阶段,LLM 将复杂的用户查询分解为可管理的子任务。接下来,检索阶段采用嵌入模型从技能库中识别每个子任务的候选工具。最后,Compose 阶段评估这些工具的兼容性,并制定一个概述执行计划的有向无环图 (DAG)。
SkillWeaver 还通过实施 SAD 反馈循环解决了法学硕士生成通用描述的问题。该机制让法学硕士起草初步计划,检索匹配技能,并根据检索到的工具细化其分解,确保与特定技术词汇保持一致。
为了评估有效性,研究人员创建了 CompSkillBench,这是一个基于 2,209 项现实技能的 300 个多步骤查询的基准。核心引擎采用70亿参数模型(Qwen2.5-7B-Instruct)进行分解过程和语义搜索检索器。测试表明,SAD 反馈回路将分解精度从 51.0% 提高到 67.7%,更高的模型达到 92% 的精度。
结果强调,较少的指导可能会导致较大模型的性能下降。由于不必要的任务故障,使用较大模型的普通设置比较小模型的性能更差。研究表明,与工具词汇的正确对齐通常比简单地使用更大的模型更具影响力。
值得注意的是,SkillWeaver 将上下文窗口消耗从每个查询的约 884,000 个令牌减少到约 1,160 个令牌,从而显着节省了令牌,从而降低了 API 成本并加快了响应时间。相比之下,LLM-Direct 方法在工具检索方面的准确率仅为 21.1%,而 ReAct 风格的代理则达到了 0% 的准确率。
尽管SkillWeaver的源代码尚未发布,但研究人员已经提供了提示模板,开发人员可以使用LangChain和LlamaIndex等现有库来实现。该框架需要对工具库进行初始矢量化并构建 FAISS 索引,这可以在短时间内完成,从而最大限度地减少检索期间的延迟。
SkillWeaver 的一个局限性是它缺乏多步骤工具链中的错误恢复。该研究表明,如果一个步骤失败,就会危及整个链条,这突出表明需要改进框架内的错误处理机制。
<小时/>





