AI Agent编排范式

范式主要整理自Eino框架,文中有些概念仅属于Eino框架

引言

AI应用的核心任务极为简单:

  1. 接收指令
  2. 调用大模型
  3. 安全地执行工具(运行命令、操作文件、控制浏览器)
  4. 之后将结果反馈给你

三个关键原则,是解决一切花哨问题的基础:

  • 执行是能控制的
  • 状态是能追溯的
  • 失败是能复盘的

AI应用的核心任务,即ReAct模式,通过让 ChatModel 进行显式的、一步一步的"思考"来解决复杂问题,在Eino ADK中将其直接抽象为ChatModelAgent了。在不同的领域、不同的场景下有各种各样的模型,也有各种各样的Agent来处理专有领域的任务,如Coding模型、视觉模型等。一个复杂的任务通常需要调用各种能力的模型和各种工具来完成任务,这就需要把这些拥有专有能力的Agent编排起来组成一个功能完善、强大的应用。

AI Agent编排范式分类

AI Agent编排范式大概分为以下几类:

    mindmap
  root((AI Agent编排范式))
    Eino框架原生范式
      基础编排层
        Chain链式编排: Graph的封装,除了 "环" 之外,Chain 暴露了几乎所有 Graph 的能力。线性单向流/简单任务
        Graph图编排: 支持pregel和dag模式/分支/并行/循环/复杂逻辑
        Workflow工作流编排: DAG模式,字段级别映射,控制流/数据流分离
        图嵌套:Eino中的chain、graph、workflow都可以嵌套进图
      Agent编排
        ChatModelAgent: 智能决策大脑,实现ReAct模式,LLM交互核心
        Workflow Agents: 流程协调
          Sequential Agent: 串行执行按顺序流转,如CI/CD流水线,数据ETL
          Parallel Agent: 并行执行/共享输入/结果聚合,如多源数据采集、多渠道推送
          Loop Agent: 循环执行/结果积累/条件退出,数据同步、压力测试
        Custom Agent: 可高度定制
      预构建Multi-Agent
        Plan-Execute Agent: 规划-执行-重规划,结构化解决复杂任务,如复杂任务研究,智能助理任务执行
        Supervisor Agent: 监督者统筹/子Agent分工/汇总决策
        DeepAgents: 规划驱动集中协作,强化拆解与上下文隔离
        
    通用行业主流范式
      经典协作模式
        Master-Slave(主从): 主Agent分配任务/从Agent执行/无自主决策
        Swarm(蜂群): 无中心/Agent自主协作/去中心化/高容错
        Hierarchical(层级): 多层级Agent/上层决策/下层执行/复杂系统
        Peer-to-Peer(对等): 平级Agent/自主协商/资源共享/无核心节点

详细编排范式解析

1. 基础编排层

Chain(链式编排)

  • 定义: Graph的封装,除了"环"之外,Chain暴露了几乎所有Graph的能力,适用于线性单向流/简单任务
  • 使用场景:
    • 数据处理流水线(如ETL过程)
    • 顺序执行的任务链
    • 简单的工作流程

Graph(图编排)

  • 定义: 支持Pregel和DAG模式,能够处理分支、并行、循环等复杂逻辑
  • 使用场景:
    • 复杂业务逻辑处理
    • 需要条件分支和循环的任务
    • 并行计算任务

Workflow(工作流编排)

  • 定义: DAG模式,不支持环,支持字段级别映射,强调控制流和数据流分离
  • 使用场景:
    • 数据集成和转换
    • 需要精确字段映射的场景
    • 复杂的数据处理管道

2. Agent编排层

ChatModelAgent

  • 定义: 智能决策大脑,实现ReAct模式,是LLM交互核心
  • 使用场景:
    • 需要推理和决策的场景
    • 自然语言交互
    • 复杂问题分解

Workflow Agents

Sequential Agent
  • 定义: 串行执行按顺序流转
  • 使用场景:
    • 研究报告撰写流程
    • CI/CD流水线
    • 数据提取、转换和加载(ETL)
    flowchart LR
  subgraph one[Sequential Agent]
    PlanAgent[Plan Agent<br/>制定研究计划] --> WriteAgent[Write Agent<br/>撰写学术报告]
  end
    Start[开始研究主题] --> one
    one --> End[结束]
Parallel Agent
  • 定义: 并行执行/共享输入/结果聚合
  • 使用场景:
    • 多源数据采集
    • 并行数据分析
    • 多渠道信息收集
    flowchart LR
  subgraph p[彼此之间无需交互,功能边界清晰]
    a[Stock Data Collection Agent<br/>股票数据采集]
    b[News Data Collection Agent<br/>新闻数据采集]
    c[Social Media Info Collection Agent<br/>社媒信息采集]
    d[聚合]
  end
    Start[开始] --> a
    Start --> b
    Start --> c
    a --> d
    b --> d
    c --> d
    d --> End[结束]
Loop Agent
  • 定义: 循环执行/结果积累/条件退出
  • 使用场景:
    • 解决方案优化迭代
    • 数据同步、压力测试
    • 反馈循环改进
    flowchart LR
  subgraph loop[反思迭代]
    a[Main Agent<br/>生成初步解决方案] --> b[Critique Agent<br/>质量审查/反馈改进]
    b -->|结果不满意<br/>MaxIteration=5| a
  end
    Start[开始] --> loop
    loop -->|结果满足| End[结束]

3. 预构建Multi-Agent范式

Plan-Execute Agent

  • 定义: 规划-执行-重规划,适合需要多步骤推理、动态调整和工具集成的复杂任务场景
  • 使用场景:
    • 复杂研究任务
    • 需要多步规划的项目
    • 动态任务调整
    flowchart TD
    A[1. UserInput] --> B[Planner]
    B -->|2. 生成具体的计划步骤| C[Plan Steps<br/>1. ...<br/>2. ...<br/>3. ...]
    C -->|3. 执行计划的第一步| D[Executor]
    D -->|4. 传达当前的计划和第一步运行的结果| E[Replanner]
    E -->|5a. 评估并生成已调整的新计划<br/>交给Executor执行新计划的第一步| D
    E -->|5b. 评估任务执行的完成情况<br/>或达到最大迭代次数| F[End]

Supervisor Agent

  • 定义: 监督者统筹/子Agent分工/汇总决策
  • 使用场景:
    • 多Agent任务分配和管理
    • 动态任务路由
    • Agent间的协调
    flowchart LR
        subgraph subagents
                a[Agent1]
                b[Agent2]
                c[Agent3]
        end

        s[Supervisor Agent] <--> |dispatch mission</br>return result| a
        s <--> |dispatch mission</br>return result| b
        s <--> |dispatch mission</br>return result| c
        s --> Exit

Layered-Supervisor

  • 使用场景: 多层级任务管理和动态路由
    flowchart LR
    TopSupervisor[Supervisor Agent<br/>顶层监督者-动态路由] --> Research[Research Agent<br/>信息检索]
    TopSupervisor --> MathSuper[Math Agent<br/>中层监督者-数学运算]
    MathSuper --> Subtract[Subtract Agent<br/>减法运算]
    MathSuper --> Multiply[Multiply Agent<br/>乘法运算]
    MathSuper --> Divide[Divide Agent<br/>除法运算]

DeepAgents

  • 定义:规划驱动的集中式协作,Main Agent 统一协调下的 Multi-Agent 模式
  • 流程
    1. 通过 WriteTodos 将用户目标拆解为结构化待办并记录进度
    2. 通过统一入口 TaskTool 选择并调用对应的 SubAgent 执行子任务;主/子代理上下文隔离,避免中间步骤污染主流程。
    3. 汇总各子代理返回的结果;必要时再次调用 WriteTodos 更新进度或进行重规划,直至完成。
  • 适用场景
    • 多角色协作的复杂业务流程,集中委派子任务并统一汇总
    • 严格上下文隔离的执行环境
    flowchart TD
    subgraph MainAgent
        ChatModel[ChatModel]
        subgraph Tools
            WriteTodos[WriteTodos]
            TaskTool[TaskTool]
            CustomTools[CustomTools]
        end
    end
    subgraph SubAgents
            GeneralPurpose[GeneralPurpose]
            CustomSubAgents[CustomSubAgents]
        end

    ChatModel -->|Reasoning & Action| Tools
    Tools --> ChatModel

    TaskTool -->|Delegate Tasks| SubAgents
    SubAgents -->|Return Results| TaskTool

4. 其他主流范式

Master-Slave(主从模式)

  • 定义: 主Agent分配任务/从Agent执行/无自主决策
  • 使用场景:
    • 任务分配明确的系统
    • 标准化执行任务
    • 控制权集中的场景

Swarm(蜂群模式)

  • 定义: 无中心/Agent自主协作/去中心化/高容错
  • 使用场景:
    • 去中心化系统
    • 高容错需求
    • 自适应环境

Hierarchical(层级模式)

  • 定义: 多层级Agent/上层决策/下层执行/复杂系统
  • 使用场景:
    • 大型复杂系统
    • 分层决策机制
    • 组织化任务分配

Peer-to-Peer(对等模式)

  • 定义: 平级Agent/自主协商/资源共享/无核心节点
  • 使用场景:
    • 平等协作环境
    • 资源共享
    • 无单点故障需求

选择编排范式

任务复杂度

  • 简单 → Chain/Sequential
  • 中等 → Graph/Workflow
  • 复杂 → Plan-Execute/Supervisor

执行模式

  • 顺序 → Chain/Sequential
  • 并行 → Parallel
  • 迭代 → Loop
  • 动态调整 → Plan-Execute

总结

AI Agent编排范式的选择需要根据具体的应用场景、任务复杂度和系统需求进行综合考虑。无论选择哪种范式,都需要遵循"执行可控、状态可追溯、失败可复盘"的原则,确保系统的稳定性和可维护性。

在实际开发过程中,可能需要结合多种范式,例如使用Supervisor Agent管理多个不同类型的子Agent,或者在Workflow中嵌入Loop逻辑进行迭代处理。方便的是,在Eino中chain、graph、workflow编译为Runnable后可以简单封装为lambda节点并嵌套进其他图,或者编译前直接AddGraph方法嵌套,使得高度定制场景下轻松搭配组合。