Workflows vs Agents:如何选择你的 LLM 应用架构?

本文是基于 LangGraph 官方文档的深度解释

随着大模型能力快速增强,开发者在构建 LLM 应用时面临一个核心选择:

到底要使用 Workflows(工作流)还是 Agents(智能体)?

这两种架构经常被混用,但在 LangChain / LangGraph 的框架中,它们有非常清晰的边界、应用场景和设计哲学。理解它们的区别,有助于你选择更稳定、更智能、也更容易维护的系统设计。

本文主题

  • LLM 功能如何被增强
  • 各类 Workflows 的模式
  • 什么是 Agents
  • Workflows 与 Agents 的核心区别
  • 真实项目中如何选择

1. LLM 与增强机制:所有系统的基石

不论是 Workflows 还是 Agents,本质上都建立在 LLM 的核心能力之上。 LangChain 文档强调:

Workflows and agentic systems are based on LLMs and the various augmentations you add to them.

也就是说,LLM 是核心,开发者通过"增强(augmentations)"让它更可靠、更易控。

官方列出了三类关键增强能力:

① 结构化输出(Structured outputs)

强制 LLM 输出 JSON / Pydantic 模式,从而保证可控性与一致性。

② 工具调用(Tool calling)

LLM 不再只生成文本,而能调用外部函数、API、数据库访问、搜索工具等。

例如:

python 复制代码
@tool
def search(query: str):
    ...

model = model.bind_tools([search])

③ 短期记忆(Short-term memory)

让 LLM 在一个工作流/智能体循环中拥有"状态",能够记住上一步行动的结果。

这些能力为 Workflows 与 Agents 打下共同的基础。


2. Workflows:可控、稳定、可预测的系统架构

Workflows 是 预定义路径的 LLM 编排方式,它强调:

  • 流程由代码控制
  • 每一步的执行顺序固定
  • 适用于确定性任务

LangGraph 官方文档将 Workflows 分成几类典型模式:


2.1 Prompt Chaining(提示链)

最经典的工作流,每次 LLM 调用处理上一步输出。

常用于:

  • 翻译 + 校对
  • 内容生成 + 审核
  • 多步加工过程

特点: 顺序固定、非常可控。


2.2 Parallelization(并行化)

多个 LLM 调用同时进行。

适用于:

  • 大文件分段处理
  • 多维度评估
  • 多路径探索(如多种风格输出)

优点: 大幅提升吞吐量和速度。


2.3 Routing(路由)

LLM 用一次调用决定"把输入送往哪个分支"。

如:

  • 多语言客服
  • 意图识别
  • 分类处理

本质是: LLM 做路由决策,但流程结构仍由开发者定义。


2.4 Orchestrator--Worker(协调者--工人模型)

一个 orchestrator(协调者)拆解任务,多个 worker 并行处理,最后 synthesize(合成)。

例如:

  • 生成长篇文章
  • 拆解大任务并行执行
  • 代码多文件重构

这种模式非常适合:需要规模化、结构化的大型生成任务。


2.5 Evaluator--Optimizer(评估者--优化器)

生成 → 评估 → 优化 → 循环。

用于:

  • 提升文本质量
  • 自动校对
  • 反思与改进(self-reflection)
  • 多次迭代直到满足标准

特点: 引入反馈环,但流程依然固定,循环范围受控。


2.6 Workflows 的本质总结

官方定义的关键总结如下:

Workflows have predetermined code paths and are designed to operate in a certain order.

通俗讲:

🌟 Workflows 是"你写规则,LLM 执行规则"。 流程完全可控,几乎不会"乱跑"。

适用于:

  • 高稳定要求
  • 对结果质量可控性强
  • 数据处理类任务
  • 生产环境

3. Agents:具有自主性的智能体系统

与 Workflows 相反,Agents 扮演一个"可以自己决定下一步做什么"的角色。

LangChain 文档给出了清晰定义:

Agents are implemented as an LLM performing actions using tools. They operate in continuous feedback loops and have more autonomy.

一句话总结:

🌟 Agents 是让 LLM 自主行动的系统:它决定要做什么,而不是你写死流程。

Agent 的核心机制包含:

① LLM 决策行动(Action Selection)

LLM 观察当前对话状态,决定下一步调用哪个工具。

② 调用外部工具(Tool Calling)

如搜索、数据库、计算器、文件读取等。

③ 根据环境反馈做下一步动作(Feedback Loop)

环境可能返回:

  • 工具执行结果
  • 用户反馈
  • 系统状态

LLM 再根据反馈生成下一步计划。

④ 自动循环直到任务完成

Agent 的流程是 动态生成的,不写死在代码里


4. Workflows vs Agents:核心区别

项目 Workflows(工作流) Agents(代理)
谁控制流程? 开发者 LLM
流程是否固定? 固定顺序 动态决定
适用任务 结构化、可控任务 探索性、复杂任务
可预测性 较低
智能灵活性 限制较多
安全性稳定性 需更多约束
典型用法 数据处理、文档生成、链式推理 工具调度、搜索、规划、多步骤决策

一句话:

Workflows 注重"可靠完成任务" ✨ Agents 注重"自主探索并找到解决方式"


5. 如何选择:真实项目中的实践建议

根据 LangChain 文档,建议如下:

如果你的任务是......

✔ 可预测、有明确步骤 ✔ 对稳定性和性能要求高 ✔ 生产环境在线服务

👉 优先使用 Workflows


如果你的任务是......

✔ 不确定性高 ✔ 需要工具调度 ✔ 需要多步骤探索 ✔ 结果方式不固定

👉 适合使用 Agents


也可以混合使用

一个常见的最佳实践:

  • 用 Workflows 负责主流程(保证稳定)
  • 在关键节点用 Agent 做自主决策(提升智能性)

例如:

  • "内容生成流程+自动校对" 用 Workflow
  • "自动检索相关知识" 用 Agent
  • "复杂任务规划" 用 Agent
  • "执行步骤" 用 Workflow

这种混合结构在 LangGraph 中非常容易实现。


6. 结语:从可控到智能,选择最适合的架构

随着大模型能力增强,我们有越来越多的方式构建智能系统。 Workflows 和 Agents 并非对立,而是解决不同类型问题的工具。

Workflows 给你稳定性与可控性;Agents 给予灵活性与自主性。

在实际开发中:

  • 先用 Workflows 保证稳定
  • 需要"智能探索"时再加 Agent
  • 用 LLM 增强工具(结构化输出、工具调用、短期记忆)提升两者可靠性

最终目标不是选择其中一方,而是 ✨ 构建一个既可靠又智能的系统。

相关推荐
玲小珑5 小时前
LangChain.js 完全开发手册(十九)前端 AI 开发进阶技巧
前端·langchain·ai编程
大模型真好玩6 小时前
LangChain1.0实战之多模态RAG系统(一)——多模态RAG系统核心架构及智能问答功能开发
人工智能·langchain·agent
zhangbaolin15 小时前
深度智能体-长短期记忆
langchain·大模型·长期记忆·深度智能体·短期记忆
Geo_V21 小时前
LangChain Memory 使用示例
人工智能·python·chatgpt·langchain·openai·大模型应用·llm 开发
小程故事多_801 天前
LangChain1.0系列:中间件深度解析,让 AI智能体上下文控制不失控
人工智能·中间件·langchain
汗流浃背了吧,老弟!1 天前
采用Langchain调用LLM完成简单翻译任务
langchain
Miku161 天前
LangGraph+BrightData+PaperSearch的研究助理
爬虫·langchain·mcp
汗流浃背了吧,老弟!2 天前
基于 LangChain 和 Hugging Face 的 RAG 问答系统实现
langchain
wshzd2 天前
LLM之Agent(二十九)|LangChain 1.0核心组件介绍
前端·javascript·langchain