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的实践和探索很广泛,每天都有新的项目/框架/产品诞生。希望未来能够非常优雅、高效、全能的多智能体研发产品出现。


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

作者  |  译淇

相关文章
|
3月前
|
人工智能 自然语言处理 关系型数据库
如何构建和调优高可用性的Agent?浅谈阿里云服务领域Agent构建的方法论
本文深入探讨了Agent智能体的概念、技术挑战及实际落地方法,涵盖了从狭义到广义的Agent定义、构建过程中的四大挑战(效果不稳定、规划权衡、领域知识集成、响应速度),并提出了相应的解决方案。文章结合阿里云服务领域的实践经验,总结了Agent构建与调优的完整路径,为推动Agent在To B领域的应用提供了有价值的参考。
1516 18
如何构建和调优高可用性的Agent?浅谈阿里云服务领域Agent构建的方法论
|
3月前
|
数据采集 人工智能 安全
揭秘大模型评测:如何用“说明书”式方法实现业务场景下的精准评估
本文旨在系统性地介绍如何在实际业务场景中开展大模型评测工作,帮助读者理解并掌握从需求分析、评测集设计与生成、评测维度设定、评测任务执行到评测报告输出的完整流程。
|
3月前
|
人工智能 监控 中间件
深入解析|Cursor编程实践经验分享
本文是近两个月的实践总结,结合在实际工作中的实践聊一聊Cursor的表现。记录在该过程中遇到的问题以及一些解法。问题概览(for 服务端): 不如我写的快?写的不符合预期? Cursor能完成哪些需求?这个需求可以用Cursor,那个需求不能用Cursor? 历史代码分析浅显,不够深入理解? 技术方案设计做的不够好,细节缺失,生成代码的可用性不够满意?
965 10
深入解析|Cursor编程实践经验分享
|
2月前
|
人工智能 自然语言处理 搜索推荐
从理论到应用:AI搜索MCP的最佳实践案例解析
本文深入探讨了如何通过 MCP 协议让大语言模型(LLM)高效调用外部工具,并结合多个实际场景展示了 MCP 在 AI 应用中的价值和未来潜力。
|
2月前
|
机器学习/深度学习 人工智能 缓存
万字综述,讲一讲这两年大模型这整个领域到底发展了哪些方面
本文深入探讨了自2023年GPT-4发布以来,大型语言模型(LLM)领域的发展趋势及其技术演进路径。
万字综述,讲一讲这两年大模型这整个领域到底发展了哪些方面
|
2月前
|
人工智能 自然语言处理 IDE
如何让 AI 成为你的编程搭档?一次真实重构告诉你答案
Cursor是一款面向开发者的智能代码编辑器,基于VS Code深度集成AI模型,支持自然语言编写代码、解释逻辑、重构和Bug查找。它提供Agent、Ask、Manual三种模式,具备模块级开发能力,能跨文件操作并主动学习代码库。但其效果依赖模型能力,对复杂跨应用任务仍有限。
如何让 AI 成为你的编程搭档?一次真实重构告诉你答案
|
3月前
|
人工智能 安全 API
Agent 工程师绕不开的必修课:API 网关 vs API 管理
本文探讨了“API管理”与“API网关”的起源、发展及差异,二者分别服务于API生命周期的不同阶段。API网关从流量网关演进至AI网关,承担运行时请求控制;API管理则从接口文档化发展到商业化平台,关注全生命周期治理。两者在实际应用中协同工作,通过分层架构和策略联动实现高效运营。未来,随着大模型应用的兴起,AI网关和MCP Server管理将成为新趋势,推动API技术迈入智能化和服务化的新阶段。
Agent 工程师绕不开的必修课:API 网关 vs API 管理
|
2月前
|
人工智能 缓存 自然语言处理
AI 编程如何在团队中真正落地?
如果你是技术负责人、团队推动者或希望在团队中引入 AI 编程工具的工程师,这篇文章将为你提供一条可借鉴、可落地、可优化的路径。
560 24
AI 编程如何在团队中真正落地?
|
2月前
|
人工智能 自然语言处理 安全
ChatBI,用AI自然语言与数据对话
在数字经济快速发展的2025年,企业数据量激增,市场对快速决策和深度分析提出更高要求。本方案介绍如何通过阿里云Quick BI工具,结合AI能力,帮助商业分析师高效应对数据洪流,实现智能化分析、快速决策,提升业务洞察力与决策效率。
ChatBI,用AI自然语言与数据对话
|
2月前
|
人工智能 Serverless 数据处理
AI练习场|如何从多模态文件中自动提取有效信息?
本文介绍了利用AI技术进行多模态文件信息抽取的实战教程,涵盖从文档、图像、音视频等多种数据中自动提取关键信息的技术方案。通过阿里云百炼模型与函数计算服务,实现高效数据处理,适用于信息提取、图片分类、音视频分析等场景,提升数据处理效率与准确性。
AI练习场|如何从多模态文件中自动提取有效信息?

热门文章

最新文章