写在前面:
致谢Datawhale社区提供的开源学习资料,以及每一位社区共建者
本次学习链接:coze-ai-assistant-课程详情 | Datawhale
什么是工作流?
我们直接来看一个已经完善的关于金融知识问答的工作流 :
摘取自《从ChatGPT到Manus》
由此可以看出工作流具有以下几个特点:
- 结构化流程:工作流将复杂任务拆解成多个明确步骤,按顺序执行。
- 条件分支:根据不同条件来选择不同路径,提高处理的灵活性和针对性。
- 模块化设计:每一步(如意图识别、改写问题、搜索资料)是独立模块,便于维护和复用。
- 自动化执行:整个过程自动运行,减少人工干预,提高效率。
- 多任务协作:结合不同模型和工具(如基础模型、检索系统)协同完成任务。
- 反馈输出:最终生成结果反馈给用户,形成闭环
- 可预测性:说白了就是我能知道他后面会干什么
“工作流是指一系列按照预定义规则和顺序执行的任务或步骤,通常用于描述业务流程或操作的结构化执行路径。它强调的是过程的标准化和自动化,确保任务按部就班地完成。”码事漫谈
Agent和工作流?
那么问题来了,反过来思考,一看工作流这三个字就能想到单一的劳动(也确实如此),为什么不用这个听起来就很智能的智能体?工作流有什么智能体的不可替代性?他们分别用来做什么?首先我们需要知道智能体的定义:
什么是Agent智能体?
老样子,直接上原理图:
由此可以看出Agent具有以下几个特点:
- 感知能力:智能体能够感知或观察环境状态(流程图中的“观察”步骤),并获取任务完成的反馈信息。
- 自主决策:智能体具备自主规划能力(“计划”步骤),能够根据当前环境和任务要求制定执行方案。
- 执行能力:智能体能够根据计划执行相应动作(“执行”和“工具调用”步骤),并实际影响环境或完成任务。
- 反馈循环:智能体具有闭环反馈机制,会根据观察结果不断调整计划和执行,直到任务完成。
- 目标导向:智能体所有行为都是围绕完成特定的“任务输入”目标设计,体现出目的性和智能性。
综上,智能体的核心特点是感知-决策-执行-反馈循环的自主智能行为体系。
根据上述实例以及总结的内容,我们可以从这几个方面来看Agent和工作流的区别:
Agent和工作流各自的特点和区别
摘取自公众号:把自己产品化
方面 | 智能体 | 工作流 |
---|---|---|
目标导向 | 以自主完成特定任务为目标 | 以执行预定义的业务流程为目标 |
执行方式 | 自主感知、决策并执行,具备反馈调整能力 | 按预设步骤和条件自动执行,决策较为固定 |
灵活性 | 具有动态调整计划和行为的能力 | 结构化且流程固定,依赖条件分支实现有限灵活性 |
模块职责 | 模块常围绕感知、计划、行动和反馈设计 | 模块倾向于业务功能分块,如信息处理、调用工具等 |
反馈机制 | 闭环反馈影响下一步决策和行为 | 反馈主要用于流程控制或结果输出,反馈环节较简单 |
适用范围 | 适合需要自主决策和动态应对的复杂场景 | 适合规则明确、步骤固定的业务处理场景 |
重点强调 | 智能自主性、适应性和任务完成能力 | 自动化执行、流程管理和多模块协同 |
简单说, 工作流是全局的,智能体是局部的。
在业务中,通常需要的是工作流而非单个智能体,因为整个业务流程设计至关重要。例如,在烹饪中,关键不在于使用多贵的锅,而是按步骤完成每道工序。
因此,工作流才是解决问题的关键,它帮助优化思路、提升效率。设计好工作流才能大幅提升整体业务效率。
因此我们需要辨别,有什么业务适合工作流?
适合工作流的业务
除了一开始的金融知识问答之外,再举几个例子:
实例:
电商数据处理
- 特点:涉及从数据库抽取用户行为数据→数据清洗与转换→加载到数据仓库→生成业务报表等多个环节。
- 任务流程复杂,有严格的顺序依赖,适合通过工作流调度系统保证任务的有序和自动执行。
制造业供应链分析
- 特点:供应链数据涉及多个来源,需要先进行数据整合、质量检查、分析处理,再输出决策报告。
- 数据处理流程多且需要实时或周期性调度。
现在便可以总结这些业务的特点了:
这些业务的共同特点
- 任务多、环节复杂:业务流程被拆分成多个子任务,且存在明确的执行顺序和依赖关系。
- 需要自动化调度:多个任务需按照预设策略自动执行,减少人工干预,提高效率。
- 依赖管理严格:后续任务依赖前置任务的成功完成,任何中间环节异常都需及时发现和处理。
- 多系统、多技术结合:往往涉及调用脚本、SQL查询、数据计算任务,以及跨环境执行。
- 实时性和准确性要求高:例如流批一体、实时事件触发等场景,需快速反馈和调整。
- 可视化和监控需求强烈:通过工作流可视化界面展示任务链路,实时监控任务执行状态,保障业务稳定运行。