流程编排功能,主要指的是提供低码拖拽流程编排页面,能够支持工作流创建和应用的平台。从实现逻辑上,可以将它们分为Agent逻辑和工作流逻辑:前者一般都基于Agent开发框架,编排的是资源和属性值,要求使用者对底层框架有一定了解;后者则是类似BPMN的逻辑,定义了节点类型,编排的是节点的执行顺序,较为直观。
这里将对比的产品如下,同时按照上面的逻辑进行了分类:
- 工作流逻辑:
- Agent逻辑:
Notice:以上列出的流程编排都偏文本加工的逻辑流程,AI原生还有半壁江山是图片、影像生成的工作流,例如comfyUI等等,但由于硬件设备限制,暂时没有条件本地上手体验,后面有机会再讨论。
介绍
coze



coze中有两个功能模块涉及流程编排,一是bot设计,一是工作流设计。bot设计时,选择多Agent模式,即可切换到流程配置页面,此时流程的每个节点都是一个Agent,通过明确适用场景,处于上游的Agent自行决定对话应该分发至哪一个下游Agent,此外还可以添加全局的跳转条件,用于切换应答节点。而工作流设计则是独立于Agent设计之外的模块。coze的工作流分为两种,文本工作流和图像加工流,除节点类型有区别外,编排逻辑相同。
功能特性:
- 支持并行分支
- 支持变量传递和异常情况默认值设定
- 单一节点内支持迭代批量处理
- 支持嵌套文本工作流及图像工作流
- 支持包括代码执行器、知识库检索、读写数据库、文本拼接、选择器等常用的结构化节点
- 定义完成的工作流可被Agent使用
dify




dify作为(我心目中的)开源Agent搭建平台扛把子,工作流编排虽然相较于coze欠缺一些,但整体可用性还是较高。
功能特性:
- 工作流可被Agent调用,也可通过API单独调用
- 提供工作流调用统计及log查看,可查看具体节点的输入及输出
- 支持分类器、代码执行器、参数抽取转换等常用结构化节点
- 支持将tool或http请求添加为节点
- 不支持并行分支(单一加工节点不支持多个子节点)
thunderbit



thunderbit是这次对比的产品中唯一一个浏览器插件。它的主要功能是自动化指令和模型对话,而流程编排功能是其自动化指令中的组成部分。thunderbit的自动化指令多数用于数据采集和转换。
功能特性:
- 自带多种常用平台的节点配置集,支持快速定义写入、读取操作
- AI能力节点提供多种场景化的AI配置,例如翻译、总结、转写、文字语音互转等
- 支持条件分支和循环分支
flowise




flowise与后面即将介绍的几个产品一样,它的配置逻辑,并非常见的工作流编排逻辑,而是Agent设计逻辑:每一个配置卡片更与其说是节点不如说是组件,不同的组件有自己的输入和输出接口,多个组件相互连接组成一个可执行单元(Runnable),在多个可执行单元之间,通过设定转移条件,构建出流程。如果说工作流逻辑下的流程编排是由业务流程决定的,Agent逻辑下的流程编排则是由Agent或者LLM应用开发框架决定的。
功能特性:
- 适配llamaindex、langchain、babyGPT、AutoAGI等LLM应用设计框架
- 支持设定条件分支、JS function以及过程变量
- 支持将编排结果(对话界面透出)嵌入网页,或通过API调用
langflow




langflow是一个面向多智能体和RAG开发的可视化框架,内置多类组件,基于python开发,完全可定制。很适合有一定代码能力的用户用来快速验证想法。
功能特性:
- 内置多种组件,包括retriever、文件加载、分词器、代码执行等等,并且支持自定义扩展
- 支持代码导入导出
- 支持变量引用和传递
百度文心智能体平台


与flowise类似,百度文心智能体平台,是基于百度自己的智能体构建框架实现的低码工具。
阿里AgentScope

相比与前面的平台,AgentScope则显得粗糙很多。但它的设计逻辑和langflow相似,都是面向开发者的LLM应用平台,更准确地说,它是一个面向开发者的多智能体设计平台。官方对于其workflow模块的介绍是:workflow表示智能体执行和智能体之间的消息交换的有序序列,类似于TensorFlow中的计算图, 但其并不一定是DAG结构。
对比
| 名称 | 适宜对象 | 适宜场景 | 原因 |
|---|---|---|---|
| coze | 个人、小型企业 | Agent应用设计、LLM应用想法验证 | coze在产品设计逻辑和功能健全性方面,无论相比与开源还是闭源产品,都是非常亮眼的,易用性极高,设计功能较为健全,这就使得它非常适合用来做一些精巧的LLM应用。但目前为止,它所开放的接口和监控内容都较为欠缺,除了对话API外,没有面向开发者提供合适的资源和运行监控工具或页面。 |
| dify | 小型企业 | 单Agent设计及服务搭建 | dify作为开源社区一款明星Agent设计平台产品,无论Agent设计、工作流编排、RAG等产品能力的健全度,还是从程序接口、用量监控等开发场景支持度,都相当不错。在Agent场景下,dify能够比较好的落地支持。 |
| thunderbit | 个人 | 日常工作辅助 | thunderbit是自动化和模型对话的结合体,其流程编排更多时候是将多个人工操作合并为一次点击,而因为其插件属性,即使它能够被bot唤起,用户也依然会倾向自己点击。 |
| flowise | 产品经理、开发 | LLM应用设计想法验证 | flowise将多个LLM应用开发框架封装起来,整合到低码页面,某种程度上拉低了使用成本。但在实际生产环境中,任何开发框架的使用都是要认真考虑的,相比于框架带来的有限的易用性,灵活性和能够观测到底层组件的状态,对开发者来说更加重要。这就决定了flowise这样的产品多数时候适合用来做prototype。 |
| langflow | 产品经理、开发 | LLm应用设计想法验证 | langflow虽然与flowise类似,整合了多种框架,但其逻辑是“组件化”,也就是说,用户可以灵活地组件化地使用不同框架封装的逻辑节点,而非需要了解并遵从某一框架。此外,用户还可以自行定义组件。这样的产品逻辑就比较适合在创新组织内部使用,用来快速验证想法,也可以另外进行优化,使得搭建结果可以直接应用于生产环境。 |
| 百度文心智能体平台 | 业务简单的企业 | 单Agent设计 | 相比于同样闭源的coze以及前面一众开源Agent设计平台,百度的智能体平台提供的能力着实少得可怜,只有基础的知识检索、逻辑分流和搜索插件,这些能力对应业务简单的场景可能是够用的。 |
| 阿里AgentScope | 开发 | LLM应用设计想法验证 | 国内开源的多智能体设计平台并不多,而阿里的agentscope在设计逻辑上更偏代码逻辑(例如全局模型config,或是flow图),而阿里的Agent设计框架也在同步开源,可以使用它来验证想法。 |
思考
流程编排本质上是图和模块化代码的应用,其目的是为了按照一定预设的逻辑对数据进行加工和转换。至于图本身是否需要支持复杂循环、并联,则是基于业务场景和技术积累进行选择的。
同时作为产品经理和一般用户的我,对流程编排模块关注的问题是相似的:它能够应用于哪些使用场景?这些场景下,它支撑得如何?
我们可以灵活地看待流程使用方式,它可以孤立存在和执行,例如传统的实时或离线定时任务;也可以被用户直接使用,像是手机里的shortcut;也可以被agent使用,等等。如果使用场景丰富而多变,设计流程编排功能时,我们在设计时就需要足够聚焦,也即关注流程本身——它的输入、输出、加工节点和过程控制:
- 输入:初始状态下,流程可以或者需要怎样的输入内容。开始节点需要能够对不同类型的输入有有效的解析和处理。
- 输出:输出时,流程可以或必须输出怎样的内容,这里包括信息内容和信息格式。结束节点需要能够面向后序应用地进行输出。
- 加工节点:接收输入之后,进行输出之前,需要对数据进行的解析、转换、计算等操作,都在加工节点内进行,包括LLM在内的所有数据处理方法,都可以模块化为加工节点。
- 过程控制:这里的过程控制,主要指的是条件分支、循环执行和异常处理。
而在以上四点之外,进行对整个流程状态的监控,监控内容应当包括各个节点的输入、输出、状态,整体的输入、输出、状态,以及消耗。
产品化的流程编排,就是对这五个方面进行定向优化:
- 注重易用性,则可以针对一些常用场景定义专门的加工或解析节点,就像coze、dify中的http请求节点、jsonfy节点等
- 注重高并发,则可以允许节点间并联,并针对并联场景进行底层优化
- 注重灵活性,则可以不对节点进行过度封装
相关链接
https://top.aibase.com/tool/scade-pro
https://www.mlblocks.com/