1. 核心概念定义
在构建基于大语言模型(LLM)的应用时,我们常听到以下五个术语,它们分别代表了不同的技术维度:
- DAG (Directed Acyclic Graph):数据结构。有向无环图,定义任务的依赖关系和执行顺序,不允许循环。它是工作流编排的底层基础。
- Workflow (工作流):执行模式。预定义的、确定性的任务链路。优势在于可控、可审计、易调试;劣势是灵活性低,难以处理开放域问题。
- Agentic (智能体):行为主体。以 LLM 为核心,具备“感知-规划-行动-反思”能力的系统。公式:Agent = LLM + Planning + Memory + Tools。优势是灵活自主;劣势是不可控、成本高。
- Multi-Agent (多智能体):协作架构。多个具有不同角色(Role)的 Agent 通过消息传递协同工作,解决单一大模型无法处理的复杂任务。
- Graph (图):通用编排结构。通常指有向图(允许有环)。相比 DAG,Graph 支持循环(Loop)和状态回溯,是实现复杂 Agent 逻辑(如自我修正、人机协同)的关键底层架构。
2. 核心区别与联系
2.1 维度对比
| 特性 | DAG | Workflow | Agentic (Single) | Multi-Agent | Graph |
|---|---|---|---|---|---|
| 本质属性 | 数据结构 (无环) | 确定性执行流 | 自主决策单元 | 分布式协作系统 | 通用编排结构 (可含环) |
| 自主性 | 无 | 低 (预定义) | 高 (动态规划) | 极高 (协同决策) | 中 (取决于节点逻辑) |
| 可控性 | 极高 | 高 | 低 | 中 (受编排约束) | 高 (状态可追踪) |
| 是否支持循环 | ❌ 否 | 通常否 | ✅ 是 (内部循环) | ✅ 是 | ✅ 是 (核心优势) |
| 典型场景 | 数据管道、简单链 | ToB 业务流程、固定问答 | 开放探索、代码生成 | 复杂项目、角色扮演 | 自我修正、人机在环 |
2.2 相互关系
- Graph 是 DAG 的超集:DAG 是 Graph 的一种特殊形式(无环)。现代 Agent 系统需要“反思-重试”机制,因此必须使用支持环的 Graph,而非单纯的 DAG。
- Workflow 是表象,Graph/Agent 是内核:现代的“Agentic Workflow”本质上是一个基于 Graph 编排的、嵌入了 Agent 节点的执行流。
- Multi-Agent 是 Agentic 的高级形态:当单个 Agent 能力不足时,通过 Graph 将多个 Agent 连接起来,形成多智能体系统。
3. 技术演进路径
AI 应用架构的发展并非简单的替代,而是结构化(可控)与自主化(灵活)的螺旋式融合:
- 基础层:DAG
- 传统软件工程已有的技术,用于处理线性依赖任务。
- 起步期:Workflow (Chain)
- LLM 应用早期,通过 LangChain 等框架将调用串联成固定链条。强调确定性,牺牲灵活性以换取稳定。
- 探索期:Agentic (Pure Agent)
- 引入 ReAct 模式,让 LLM 自主规划路径。强调灵活性,但面临死循环、不可控和高成本问题。
- 成熟期:Agentic Workflow (Graph-based)
- 当前主流范式。结合两者优点:
- 用 Graph/DAG 提供顶层骨架和约束(可控)。
- 用 Agent 填充节点内部逻辑(灵活)。
- 支持循环(自我修正)和状态管理。
- 当前主流范式。结合两者优点:
- 复杂期:Multi-Agent System
- 在 Agentic Workflow 基础上,引入角色分工(如: planner, executor, reviewer),通过 Graph 管理复杂的协作流转。
4. 关键洞察:为什么现在强调 "Graph"?
从 Chain (DAG) 转向 Graph 的核心驱动力是 Cycle(循环) 和 State(状态):
- 自我修正 (Self-Correction):Agent 生成 -> 报错 -> 回到生成节点修改。这需要结构中的环。
- 人类在环 (Human-in-the-loop):流程暂停 -> 人工审批 -> 根据结果跳转。这需要图结构的状态保持和条件边。
- 动态路由 (Dynamic Routing):Router Agent 判断意图 -> 跳转到不同专家节点。这需要图结构的灵活性。
比喻:
- Graph 是城市的道路网(规定哪里能走、哪里能掉头)。
- Agent 是司机(根据路况决定怎么开)。
- Workflow 是导航路线(预设或动态规划的路径)。
- Multi-Agent 是车队协作(多辆车配合完成运输)。
5. 选型建议
- 简单、固定、需审计的任务(如:提取简历信息并存入数据库):使用基于 DAG 的 Workflow。
- 开放、探索、需推理的任务(如:根据模糊需求写代码):使用 Agentic 模式。
- 复杂、长链条、需容错的任务(如:全自动研发流程):使用基于 Graph 的 Agentic Workflow,必要时引入 Multi-Agent 进行分工。
结论:不要将二者对立。最佳实践是 “以 Graph 为骨架,以 Agent 为灵魂”,在可控的编排结构中注入自主的智能决策能力。
评论区