workflow is all you need?探讨乐高式流程编排能否实现任意Multi-Agent模式

简介: 阿里集团安全部探索利用AI工作流(workflow)构建多智能体系统(MAS),以提升网络安全领域的创造性协作能力。文章围绕“Workflow is All You Need”这一核心观点,分析当前主流AI Workflow产品是否具备支持多种MAS协作模式的能力。通过Dify等工具演示了单Agent、路由、顺序执行、主从控制、反思、辩论、群聊等多种典型协作模式的实现方式,并指出现有平台在异步交互、动态扩展及并行化MOA模式上的局限性。最终强调,尽管目前尚存挑战,但AI Workflow仍是快速搭建多智能体系统的有效路径。

阿里集团安全部正在积极探索如何打造由多智能体组成的虚拟网络安全专家,以在工作中发挥创造性的积极作用。作为算法团队的一员,首先需要调研多种不同的MAS(多智能体系统)的协作方式,并验证其能否快速实现。在这个过程中发现,现有的AI workflow类型产品的功能比预想的更加广泛,因此希望通过这篇文章记录并分享一些思考的内容。“xxxx is all you need” 是我很喜欢的一个标题格式,它能够很旗帜鲜明地表达个人观点。这里的workflow不是指固定编排的系统设计模式,而是AI workflow产品(甚至特指有图形化画布编排的产品),例如百炼应用、Dify、扣子等等。


本文想借助“workflow is all you need”这个标题,探讨现有的AI workflow产品的能力范围,能否支持任意的MAS(多智能体系统)设计模式,不涉及具体业务相关的实现细节。将以Dify(https://github.com/langgenius/dify)作为workflow的示例平台,仅使用下列组件,探讨如何完成不同的多智能体协作模式,而这些组件在目前市面上的绝大部分AI workflow产品上,都是必备的:

  • LLM:大模型组件,一切的基础,无须多言。
  • 循环:实现多智能体协作最重要的组件,有了它就能够实现多智能体之间无固定顺序无固定次数的交互。并且循环组件里的循环变量能够作为记忆管理的载体,循环内的组件通过更新循环变量、读取循环变量实现对momery的管理和使用。
  • 代码执行:重要的胶水组件,一切LLM无法精确实现的都可以交给它。
  • 条件分支:实现AGENT自主决策的必备组件,不论是决定使用哪个工具,还是指定下一个由谁发言。
  • 工具:AGENT的手和脚,泛指一切的行动方式,包括外部的MCP工具、自定义代码、其他的workflow(这个是实现乐高积木式组合的必备条件)。


文章主要以个人主观观点描述,下列的所有示例中,因为精力有限的原因,不会将prompt,代码等具体描述出来,更多地是以框架图例加文字描述的形式。


one Agent

大家可能看出来了,在使用workflow实现MAS时,上面列出的核心组件中没有单独的AGENT组件。如果workflow连单个agent都实现不了的话,all you need这个标题也就根本无从谈起了。我们可以用如下图所示的框架实现出一个ReACT AGENT:

我们在一开始的全局变量初始化组件里,初始化两个变量,分别是AGENT的行动列表(所有的行动都被工具化),以及历史行动结果(初始化为空)。那么在进入循环后,核心LLM组件根据任务输入,行动列表和历史行动的结果,思考并选择下一步行动。在行动结束后,向循环变量的历史行动结果增加最新的行动结果。通过这样不断的循环,直到达到循环次数上限或者LLM选择了退出循环这个action,整个工作流结束。


这是一个标准的ReACT AGENT的工作模式,咋一看可能会觉得做这样的编排有种脱裤子放屁的嫌疑,明明一个AGENT组件就可以搞定的事情需要弄这么多的组件。但展示这样编排的目的有两个:一方面这种编排形态稍加修改就演变成绝大部分的多智能体协作模式,它是一个模板,我们在后续的MAS搭建过程中单个AGENT不一定要采用这种方式而是直接使用AGENT组件;另一方面它也有现实意义,能够解决我们目前在业务上遇到的当前AGENT组件无法解决的两个需求:


1.工具输出结果的后处理。对于一些标准化工具来说,它的不同使用方,可能会有不同的后处理需求,例如不同的格式化/过滤方式、对不同字段的关注程度不同。因此这个后处理过程不适合放在工具侧,最好是放在调用方。


2.定制化输出中间过程。现在的AGENT的智能化水平被用户能有深切感受的方式,就是需要在交互过程中将AGENT中间过程暴露出来,不同的场景可能需要暴露不同的(工具输出、思考内容)。现有的AI workflow产品实现AGENT时,基本没有能够定制化输出中间过程的设计。


路由模式

非常简单的一种协作形式,甚至不需要用到循环组件。

在接受到用户输入后,由一个LLM负责识别意图,并且决定将原输入分配给哪个执行单元来解决,执行单元可以是任意有处理能力的组件,包括LLM、AGENT、代码、工具。这里LLM还可以做一些额外的工作,例如对用户输入进行改写以便更符合执行单元的能力需求。

这里之所以没有放置循环组件,是认为循环多次任务派发其实就跟下面的主从模式没有区别了。这一点在后面的主从模式章节可以看到。


简单顺序模式以及升级版狼人杀模式

一个团队内部多个Agent会被分配确定的子任务(Task),按照固定的顺序调度执行,并把子任务结果传递给下一个Agent,直到流程结束。这在我们的很多简单的或者有固定SOP的任务中,是最直接有效的方式。

这种顺序执行的复杂度可以进一步提升,例如我们模拟玩狼人杀游戏,这是一个不固定轮次但固定AGENT发言顺序的游戏模式,流程编排可以如下图搭建:

循环变量中需要设置保存历史发言的循环变量,在每个玩家发言后,将发言内容添加到循环变量中。以此做到每个LLM组件在发言前得到前面全部的发言记录(这里不讨论上下文是否过长的问题,可以添加缩短上下文的组件或者靠基模解决,也不是本文的重点)。


主从层次模式(类manus模式)

manus模式是主从模式的一种应用表现形式,总结来说就是用户输入任务后,由PLANNER先制定完整的任务解决计划,然后按照计划一步步调用对应的子AGENT完成。并且过程中可以根据任务进行情况,调整计划书,包括更新计划书中的子任务完成情况,增删改还未进行的后续子任务等。

PLANNER的prompt中使用循环变量如图:

需要的重要组件依然是循环,我们需要将计划书和行动结果放置在循环变量中,随着循环进行不断更新任务的进展。整个流程编排示例如下:

PLANNER和选择下一步行动两个组件也可以合并。大家可以发现去掉循环组件的话,这也和前面的路由模式区别不大了。


反思模式(二人转)

这是一种双Agent协作的典型模式:

  • 执行AGENT接受输入任务,进行输出;
  • 反思AGENT对执行AGENT的输出进行反思或审核并反馈给执行AGENT;
  • 重复,直到达到最大迭代次数或反思AGENT审核通过;

角色只有两个,是比较简单的一种协作模式,编排示例如下:

这种模式也不一定是一人执行,依然反思,它可以泛化为两人对话的协作模式。


辩论模式/stacking模式

在这种模式中,AGENT分类为多个有不同特长的解决问题的AGENT,以及一个负责聚合其他AGENT结果,做投票汇总的AGENT,工作模式为:

  • 用户输入问题,发给所有的求解AGENT;
  • 求解AGENT处理任务,并将结果发送给其他的求解AGENT;
  • 每个求解AGENT利用他人的信息,优化调整自己的结果;
  • 重复多轮,直到所有的求解AGENT都任务自己的结果不需要再更新;
  • 聚合AGENT使用决策机制(投票、加权投票等),绝对最后输出给用户的结果;

这种模式有些类似集成学习中的stacking模式,每个求解器可以设计为关注问题不同侧面(弱分类器),最后有聚合AGENT决策出结果。

利用dify实现的编排示例如下:

通过循环变量更新,使得每个求解AGENT能够获取到上一轮他人的分析结果。


群聊模式(非顺序多人转)

多个AGENT作为一个小组成员,通过群聊的方式解决用户输入。工作模式为:

  • 用户输入问题到群组,约定或者随机挑选一个AGENT开始发言;
  • 每个AGENT在发完言后,负责决定下一个发言的AGENT是谁;
  • 如此循环发言多轮;
  • 可以由任意AGENT负责决定是否结束群聊,或者由单独的角色来判断;

流程编排示意:

采用了循环入口一个单独的角色控制是否结束群聊,它指定下一个发言AGENT的依据仅来自上一个发言者的决定。

这里还加入了一个实现细节,就是每个AGENT可以有消息订阅机制,它可以选择性接受包含某些关键字,或者某些AGENT说的话作为自己的context,从而避免过长的上下文。


嵌套模式

这种模式也就是上述多种模式的任意组合,核心需要平台允许将工作流发布为工具,那么在上述任意的流程编排中,都可以将一种模式嵌入其中,实现多种模式的嵌套。相信大家看到这里也自然能想到如何嵌套,这也就是标题所说的”乐高“式的意思。

如果在模式嵌套之前都加上一个由大模型选择模式的过程,那么这也一定程度上实现了由AI自主决定协作模式。


无法支持的MAS模式

前面描述了多种多智能体协作模式,基本涵盖了目前主流的各种方式。现在回到标题,这里的问号是需要回答。目前看来我认为这个问题还不能得到肯定的回答,依然有多智能体协作模式是目前的主流AI workflow产品无法支持。

完全异步的多智能体群聊

这是前面提到的群聊模式的更加复杂化的设计,它的目的是完全模拟人类在群聊过程中的发言状态。我们人类聊天时,是完全异步的,我们说话与否,合适开始输出内容并不严格受限于他人的发言结果。不会因为没有人@你说话你就不说了。而这就需要底层框架支持完全异步的AGENT调用机制,每个AGENT可以在任意时间发起输出,AGENT的发言结果实时地添加到每一个AGENT的memory中。

动态智能体添加

上面列举的所有编排方式,都是提前将全部AGENT添加到了画布中。但如果需要动态添加一个新的AGENT是无法实现的。

这里多提一句,如果要实现已有AGENT的动态修改是可以的,因为它的prompt可以被作为变量修改。

并行化的MOA仿神经网络模式

MOA是形似神经网络计算的模式,在将任务分层后,每一层由多个数量不等的AGENT并行执行完成。如果每一层每次执行的AGENT都不相同,那么现有的AI workflow产品是很难做到的。它需要一个“多选”的组件(目前的条件分支组件每次只能选择一个分支),而“多选”组件需要支持每次选择不同的数量大于一的选项,用于单层的任务派发和并行执行。

(图片来自网络)


总结

本文的目的是为了讨论现在AI workflow产品在对多智能体支持的能力范围,上述的编排方式不代表就是实现该MAS模式的最佳实践,仅表示当我们需要快速实现demo时利用现有的资源可以做到什么程度。其实可以很容易看出来,当一个MAS涉及到的工具、AGENT数量非常庞大时,这种编排方式光是在画布上手动添加节点都是一件让人崩溃的事情,整个画布的可读性也会很差。目前业界对AGENT的实践和探索很广泛,每天都有新的项目/框架/产品诞生。希望未来能够非常优雅、高效、全能的多智能体研发产品出现。


来源  |  阿里云开发者公众号

作者  |  译淇

相关文章
|
12天前
|
人工智能 自然语言处理 关系型数据库
如何构建和调优高可用性的Agent?浅谈阿里云服务领域Agent构建的方法论
本文深入探讨了Agent智能体的概念、技术挑战及实际落地方法,涵盖了从狭义到广义的Agent定义、构建过程中的四大挑战(效果不稳定、规划权衡、领域知识集成、响应速度),并提出了相应的解决方案。文章结合阿里云服务领域的实践经验,总结了Agent构建与调优的完整路径,为推动Agent在To B领域的应用提供了有价值的参考。
172 18
如何构建和调优高可用性的Agent?浅谈阿里云服务领域Agent构建的方法论
|
8天前
|
人工智能 Kubernetes 调度
基于 AI 网关和 llmaz,提升 vLLM 推理服务可用性和部署易用性的实践
本文介绍了如何使用 llmaz 快速部署基于 vLLM 的大语言模型推理服务,并结合 Higress AI 网关实现流量控制、可观测性、故障转移等能力,构建稳定、高可用的大模型服务平台。
133 16
|
1月前
|
机器学习/深度学习 人工智能 搜索推荐
Deep Search 如何理解业务仓库代码?
本文系统地介绍了 Deep Search 和 Deep Research 的概念、与传统 RAG 的区别、当前主流的商业产品与开源方案、在代码领域的应用(如 Deep Search for 仓库问答)以及未来的发展规划。
211 20
Deep Search 如何理解业务仓库代码?
|
12天前
|
人工智能 监控 中间件
深入解析|Cursor编程实践经验分享
本文是近两个月的实践总结,结合在实际工作中的实践聊一聊Cursor的表现。记录在该过程中遇到的问题以及一些解法。问题概览(for 服务端): 不如我写的快?写的不符合预期? Cursor能完成哪些需求?这个需求可以用Cursor,那个需求不能用Cursor? 历史代码分析浅显,不够深入理解? 技术方案设计做的不够好,细节缺失,生成代码的可用性不够满意?
深入解析|Cursor编程实践经验分享
|
19天前
|
人工智能 安全 Java
AI Agent 的工程化被低估了
本文探讨了AI应用工程化的关键作用与实现路径,将其分为产品工程和技术工程两大部分。产品工程关注用户体验与交互设计,包括需求建模、UI/UX设计、系统提示词优化及反馈闭环构建,确保AI“能用、好用”。技术工程则聚焦系统稳定性与扩展性,涵盖架构模块化、工具调用机制、流量控制、数据管理及可观测性建设,保障AI应用“快、稳、强”。两者协同决定了AI Agent的实用性与规模化潜力,为行业提供了落地参考。
374 30
AI Agent 的工程化被低估了
|
5天前
|
人工智能 大数据 开发者
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
阿里云推出基于场景的解决方案免费试用活动,新老用户均可领取100点试用点,完成部署还可再领最高100点,相当于一年可获得最高200元云资源。覆盖AI、大数据、互联网应用开发等多个领域,支持热门场景如DeepSeek部署、模型微调等,助力企业和开发者快速验证方案并上云。
199 15
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
|
19天前
|
机器学习/深度学习 人工智能 前端开发
AI+Code驱动的M站首页重构实践:从技术债务到智能化开发
本文分享了阿里巴巴找品M站首页重构项目中AI+Code提效的实践经验。面对M站技术栈陈旧、开发效率低下的挑战,我们通过楼层动态化架构重构和AI智能脚手架,实现了70%首页场景的标准化覆盖 + 30%的非标场景的研发提速,开发效率分别提升90%+与40%+。文章详细介绍了楼层模板沉淀、AI辅助代码生成、智能组件复用评估等核心实践,为团队AI工程能力升级提供了可复制的方法论。
164 15
AI+Code驱动的M站首页重构实践:从技术债务到智能化开发
|
弹性计算 安全 API
大模型终于能“听懂”云操作了?
本文通过 MCP Server 和大模型的结合,实现云产品管理的自然语言操作,极大提升开发者的操作效率和用户体验。