Workflow 与 Agent:一条流水线和一个思考者,AI 工程的两种范式

摘要: 拆解Workflow与Agent的本质差异。Workflow是确定性流水线,Agent是自主探索的思考者。从LangChain管道到ReAct框架,厘清两种范式各自的边界与交汇点。


都是 AI 在执行任务,为什么长得完全不一样?

如果你同时用过 Coze 工作流AutoGPT 这类 Agent,大概率产生过一种困惑:它们看起来都像在"让 AI 干活",但内部逻辑似乎完全不同。Coze 里你拖拽节点、连线、定义输入输出,流程一目了然;AutoGPT 里你只需要给一个目标,它就自己上网搜、自己写代码、自己纠错,中间发生了什么你并不完全清楚。

这种困惑的根源在于:Workflow 和 Agent 是 AI 工程中两种截然不同的范式。它们解决的问题不同,适合的场景不同,底层技术路线也完全不同。把它们混为一谈,就像把工厂流水线和自由职业者放在同一个坐标系里比较------它们确实都在"产出价值",但工作机制没有可比性。


Workflow:确定性的 AI 流水线

Workflow 的核心理念就一个词:预定义。它是一条设计好的 AI 工作链路,每一步都有明确的输入和输出,节点之间的流转逻辑是固定的。当条件满足,自动进入下一环节;当条件不满足,走预设的分支。整个过程可预测、可审计、可复现。

从 LangChain 的 pipe 说起

在代码层面,Workflow 的典型形态是 LangChain 的 pipe 管道

javascript 复制代码
const creativeChain = storyPrompt
  .pipe(creativeModel)
  .pipe(outputParser);

creativeChain.invoke("恭喜拿下offer");

三条 .pipe() 串联出一个完整的 AI 工作流:PromptTemplate 接收原始输入,ChatOpenAI 调用大模型生成内容,StringOutputParser 将输出解析为纯文本。数据在管道中单向流动,每个节点的职责清晰可辨,整条链的行为完全由代码定义。

这就是 Workflow 的核心特征:节点之间的流转关系在编码阶段就已经写死了。运行 100 次,数据走的路径完全相同,变化的只是每个节点内部的输出内容。

Coze 的可视化编排

Coze 把这种"固定流转"的思想做到了极致,提供了拖拽式的可视化编排界面。一个典型的 Coze 工作流包含以下节点类型:

  • 输入节点:接收用户传入的文本、图片等原始数据
  • LLM 节点:调用大模型进行文本生成或理解
  • 逻辑判断节点:if-else 分支,根据条件决定走哪条路径
  • 代码节点:执行自定义的 JavaScript/Python 逻辑
  • 图片生成节点:调用 DALL-E 或 Stable Diffusion 等模型
  • 输出节点:将最终结果返回给用户

一个典型的 AI 照相馆工作流在 Coze 上可能是这样的:用户上传照片 → 代码节点裁切尺寸 → LLM 节点分析画面风格 → 图片生成节点做风格迁移 → 输出节点返回结果。全程不需要写一行代码,但整条链路的行为是确定的------每一张照片走的都是同一条路径。

正因如此,Coze 上出现了大量付费工作流。用户购买的不是"智能",而是"将智能融入既定流程的稳定性"。一键生成、质量可控、结果可预期------这是 Workflow 的核心价值。

一个完整的 Workflow 案例:简历筛选

招聘场景天然适合 Workflow,因为筛选简历的流程本身就是标准化的。假设我们用 LangChain 搭建一条简历筛选流水线,大致包含以下节点:

第一步:解析 PDF。简历文件通常是 PDF 格式,需要先用文档加载器提取原始文本。这一步的输入是文件路径,输出是纯文本字符串。

第二步:信息提取。LLM 节点接收纯文本,按预定 schema 提取关键信息------技能描述、工作经历、教育背景、项目经验。输出一个结构化的 JSON 对象。

第三步:岗位匹配。将提取出的技能列表与岗位需求做 RAG 检索,计算语义相似度,生成匹配度评分。这一步可能调用向量数据库或知识库。

第四步:打分排序。代码节点根据匹配度评分、工作年限、学历等维度,按预设权重计算综合分数,按分数从高到低排序。

第五步:结果输出。最终节点将排序后的简历列表格式化为表格或 Markdown 报告,返回给 HR。

整条链路中,每一步的输入输出格式都是预先定义好的。即使某份简历的格式非常混乱,LLM 节点也会尽力提取信息,但流的走向不会变------它不会因为"这份简历看起来不太适合这个岗位"而跳过匹配环节直接拒绝。这就是 Workflow 的确定性:流程不变,结果可预测。


Agent:不确定性的自主探索

Agent 的逻辑和 Workflow 完全相反。它不走在一条预设的轨道上,而是站在一个开放的空间里,自己去探索怎么完成任务

三个核心能力

从技术角度拆解,一个 Agent 通常具备三个相互耦合的能力:

感知环境。Agent 通过输入文本、图像、数据来理解当前任务。它需要知道"我手上有哪些工具可以调用"、"当前情况如何"、"任务目标是什么"。这不是一次性完成的,而是持续进行的------每执行一个动作后,Agent 都会重新感知环境状态,判断下一步该做什么。

规划路径。Agent 的任务链不是在编码阶段写死的,而是在运行时动态生成的。它根据当前感知到的环境状态和可用工具列表,自主决定"先做什么、再做什么"。同一份任务,Agent 在不同时刻可能选择完全不同的执行路径。

执行行动。Agent 调用工具完成子任务,观察结果,并根据结果调整后续计划。如果发现某个工具调用失败,它会尝试替代方案;如果发现新的信息改变了任务目标,它会重新规划路径。

这三个能力构成了一个闭环:感知 → 规划 → 执行 → 再感知 。这个循环就是 Agent 领域最经典的 ReAct(Reasoning + Acting)框架------推理驱动行动,行动反馈环境,环境触发新一轮推理。

一个 Agent 案例:旅行规划

假设你给 Agent 一个任务:"帮我规划一趟 12 月去北海道的旅行,预算 1.5 万,5 天 4 晚。"

Agent 不会直接按固定流程输出结果。它可能会这样执行:

第一轮:搜索札幌和新千岁的机票价格,发现 12 月是旺季,直飞航班价格偏高。

第二轮:根据新发现的信息,调整策略------搜索经东京中转的航班,发现便宜 3000 元,但多花 4 小时。

第三轮:同时搜索酒店价格和天气预报,发现札幌市区酒店价格偏高但交通便利,郊区的温泉酒店性价比更高但需要租车。

第四轮:结合你的偏好(假设你之前提到过喜欢温泉),权衡后推荐郊区温泉酒店 + 租车的方案,并附上租车费用和驾照要求。

第五轮:生成完整行程,包含航班、酒店、每日景点安排、预算明细。

整个过程中,Agent 走的路径可能和你预期的完全不同。它可能在中途发现了你没考虑到的因素(比如 12 月札幌雪祭期间酒店翻倍),然后主动调整方案。这就是 Agent 的关键区别:自主性和适应性。它不会被一个固定的流程限制,而是像一个思考中的个体,根据环境变化不断调整策略。


本质差异:高速公路 vs 司机

把 Workflow 和 Agent 放在一起对比,核心差异可以浓缩为一句话:Workflow 是确定性的执行,Agent 是不确定性的探索。

Workflow 像一条高速公路。路线清晰、固定、高效,你能精确预测到达终点的时间,但不能偏离既定路线。即使前方堵车,它也不会主动绕行------绕行意味着"流程变了",而 Workflow 的流程是不变的。

Agent 像一个司机。他知道目的地,但随时可以根据路况改道。遇到修路,绕行;发现更美的风景,停下来;目的地变了,重新规划。他不需要预设路线,路线在他脑中动态生成。

从这个比喻出发,可以系统性地对比两者的差异:

维度 Workflow Agent
执行逻辑 预定义,固定流转 动态生成,自主规划
可预测性 高,每次运行路径一致 低,同一任务可能走不同路径
灵活性 低,无法应对流程外的情况 高,能根据环境变化调整策略
核心依赖 规则引擎、流程编排、条件判断 LLM 推理能力、记忆能力、工具调用
技术栈 LangChain、Coze、流程引擎 ReAct 框架、Function Calling、记忆模块
典型工具 拖拽式节点编排、pipe 管道 AutoGPT、MetaGPT、Agent SDK
适用场景 审批流程、数据清洗、客服 AI、简历筛选 复杂搜索、策略规划、开放域问答、旅行规划
错误处理 走预设的异常分支 自主尝试替代方案

Workflow 的稳定性来自"流程不变",Agent 的智能性来自"流程可变"。这决定了它们各自适合的场景完全不同。


什么时候用 Workflow,什么时候用 Agent

选型不是拍脑袋,而是看任务本身的特征。

Workflow 适合流程化、重复性的任务。这类任务有三个共同特征:步骤固定、边界清晰、结果可标准化。每一次执行的路径都是相同的,变化的只是输入数据。审批流程就是典型------每一步做什么、谁来审批、什么条件下通过或驳回,规则是明确的。AI 的作用是加速每个环节的处理速度,而不是改变流程本身。

Agent 适合动态、探索性的任务。这类任务的特征是:目标明确但路径不清晰,执行过程中可能需要根据新信息调整方向。复杂搜索是典型------你不知道答案在哪个页面上,需要先搜索、再阅读、再判断、再搜索,整个过程是动态试探的。Agent 的自主规划能力在这里是刚需,而不是锦上添花。

一个实用的判断标准:如果你能把任务画成一张确定的流程图,用 Workflow;如果你画不出来,或者画出来之后发现"这个分支太多了根本画不完",用 Agent。


双引擎架构:Workflow 做骨架,Agent 做大脑

把 Workflow 和 Agent 对立起来,是一种短视的二分法。在实际的 AI 工程中,两者不是替代关系,而是互补关系

一个成熟的 AI 系统,底层往往是 Workflow 提供的稳定性和可控性,上层是 Agent 提供的灵活性和智能性。Workflow 是骨架,确保系统的基座不会崩塌;Agent 是大脑,让系统在稳定的基座上做出聪明的决策。

以智能客服系统为例:

Workflow 层负责流程性事务:用户进线 → 意图识别 → 路由分配到对应技能组 → 生成工单 → 记录日志。这条链路是固定的,每个节点有明确的输入输出,出错时有预设的兜底逻辑。

Agent 层负责对话中的智能决策:用户问了一个复杂问题,Agent 判断需要先查知识库、再调用订单接口查历史记录、最后综合两种信息生成回复。这个过程中,Agent 动态决定调用哪些工具、以什么顺序调用、什么时候可以结束对话。Workflow 不关心 Agent 做了什么,它只管"对话结束后,生成工单、记录日志"。

这种"双引擎"架构正在成为 AI 工程的主流范式。Coze 本身也在朝这个方向演进------在可视化工作流中嵌入 Agent 节点,让工作流中的一个环节由 Agent 自主完成。Workflow 负责"把事做对",Agent 负责"把事做聪明"。


总结

Workflow 和 Agent 的本质差异不在于"谁更智能",而在于确定性与不确定性的取舍。Workflow 牺牲了灵活性,换来了稳定性和可复现性;Agent 牺牲了可控性,换来了自主性和适应性。

没有谁比谁高级。需要处理 1000 份简历时,你不会希望 Agent 对每份简历都"自主规划"一番------你只需要一条稳定的流水线,快速、准确、一致地完成筛选。需要规划一趟旅行时,你不会希望 Workflow 按固定模板输出一个千篇一律的行程------你需要一个能根据实时信息动态调整方案的智能体。

在 AI 工程的未来版图中,Workflow 和 Agent 将深度融合。底层的 Workflow 提供骨架,确保系统的稳定性和可预测性;上层的 Agent 提供大脑,在关键决策节点上释放智能。Workflow 没有创造力,Agent 不可控------两者结合,才能既高效又有智慧。

这正是 LangChain 这类框架的价值所在:它既能用 pipe 构建确定性的工作流,也能集成 Agent 的动态推理能力。同一个框架,两种范式,按需组合,适配不同场景。

相关推荐
码流怪侠5 小时前
GitHub 2026年7月热门项目全景盘点:Agent Skills 生态炸裂,开源世界正在重写规则
程序员·github·agent
Jackson__6 小时前
AI Agent 的能力从哪里来?一文讲清后训练、上下文学习和外部能力
前端·agent·ai编程
冬奇Lab6 小时前
AI 评测系列(05):Agent 评测——工具调用准确率与轨迹质量
人工智能·agent
DeepAgent6 小时前
AI Agent 工程实践(17):Agent 为什么需要可观测性(Observability)?
android·llm·agent
冬奇Lab6 小时前
开源项目第167期:Buzz — Block 开源的人机协作工作空间,Agent 是成员不是 Bot
人工智能·开源·agent
KaneLogger8 小时前
花了2天写了个全平台的技能管理工具
aigc·agent·ai编程
玉鸯9 小时前
Agent Harness 工程核心架构拆解与 300 行代码实现
python·agent
架构师Leon12 小时前
极简智能体(二):Web 流式输出
agent
FanetheDivine12 小时前
学习Agent开发8 高级Agent框架Mastra的基本用法
agent·ai编程