论文标题
WorkTeam: Constructing Workflows from Natural Language with Multi-Agents
论文地址
https://arxiv.org/pdf/2503.22473
作者背景
华为,北京大学
动机
当下AI-agent产品百花齐放,尽管有ReAct、MCP等框架帮助大模型调用工具,可以初步实现【需求】->【任务规划】,但在实践中我们或多或少还是往会去编排工作流——单纯依靠大模型本身的任务理解与规划能力,难以生成满足复杂业务需要的执行计划;
于是本文设计了一种新的工作流生成框架,旨在提高大模型理解任务并调用工具的准确性
本文方法
本文提出WorkTeam框架,对原本由一个LLM规划器承担的职责进行了拆分:
一、监督agent
理解并拆分用户问题,生成解决问题的子步骤(高层计划),委派另外两个agent生成工具编排结果与可执行的工作流,并检查它们是否满足用户意图、步骤是否完整正确。如果发现问题,监督者可以要求返工,或者尝试其他解决思路
二、协调agent
基于监督agent委派的子任务,生成工具编排结果。具体地,协调agent会规划调用两个工具:
组件筛选工具: 基于SentenceBERT嵌入模型,从组件库中检索出与当前指令最相关的一组候选组件
组件编排工具: 基于一个尺寸小一些的大模型,根据用户指令和筛选出来的候选组件,生成符合逻辑的组件调用序列
三、填充agent
专注于填充工具调用序列的参数,它也会调用两个工具:
模板查找工具: 根据编排流程中的每个组件,从工具库中提取该组件的参数说明以及一个空白参数模板(列出了该组件所需参数和上默认值,目的是降低参数填充任务的复杂度)
参数填充工具: 根据模板查找的结果,利用LLM分析用户query和监督agent的指示,从中提取出所需要的具体信息并填入对应的参数模板,最终得到一个可执行的工作流
整个流程如下图所示:
这样的拆分看起来十分简单,但它其实抓住了当前单一大模型难以生成准确工作流的痛点。考虑我们在多agent系统中对大模型规划器的期望:
- 理解用户问题并规划解决思路;
- 理解工具并编排工具调用过程;
- 填充符合工具协议的参数;
- 处理不符合预期的结果
这些任务都有一定难度,并且在执行过程中一般会产生极长的上下文,揉在一起交给大模型的是一个难度很大的任务,于是导致实践中不得不像打补丁一样,添加各种人工书写的业务逻辑以解决大模型的纰漏。
这时候将上述职能拆分到多个agent中,便可以大大降低每个大模型处理任务的难度
实验结果
一、测试数据
由于目前没有公开可用的NL2Workflow基准数据集,作者构建了HW-NL2Workflow,包含3695个真实的企业工作流样本,用于训练和评估(也是此工作的贡献之一)
二、测试对象
实验组: 三个agent都基于Qwen2.5-72B-Instruct构建;组件编排工具和参数填充工具使用LLaMA3-8B-Instruct实现,并在上述数据集上进行了微调;组件过滤工具则使用了微调后的SentenceBERT
对照组: GPT-4o、Qwen2.5-72B-Instruct、Qwen2.5-7B-Instruct、LLaMA3-8B-Instruct(单规划器),以及一个针对NL2Workflow场景的RAG
三、测试指标
精确匹配率(EMR): 模型生成的整个工作流与参考答案完全一致的比例,包括组件的种类、顺序以及所有参数值都要匹配。这是一个严格的“全对”指标,只有工作流毫无差错地重现参考方案才算成功
流程编排准确率(AA): 只关注组件序列的正确性,忽略参数填充是否正确。如果模型选用了正确的组件并按正确顺序排列,即视为该样本在编排上是正确的,即使某些参数值有误也不影响此指标。该指标反映模型理解用户指令中逻辑步骤的能力。
参数填充准确率(PA): 评价参数层面的正确性。它统计生成的所有组件参数中,有多少比例的参数值与参考答案一致。计算方式为匹配的参数数量除以测试集中参数总数,不关心流程是否正确
四、测试结果
单Agent模型在复杂任务上表现不佳——即便是最强的GPT-4,其EMR也仅有18.1%,Qwen-72B为12.7%,而较小模型(Qwen-7B、LLaMA-8B)几乎完全失败;
检索增强的基线(引用现有工作的RAG-NL2Workflow方法)后,性能有所改善,而本文提出的WorkTeam效果大幅领先
总结
本文提出的workTeam方法,尽管有更大的计算开销(需要3个大尺寸LLM),但从效果上来看极大提升了LLM生成复杂工作流的准确性;
agent的拆分简单易实现,实际上就是对大模型规划器职责进行分治,不让一个LLM去负责多个高难度的长上下文任务