Workflow vs Agent:什么时候用确定性工作流,什么时候用自主 Agent?
难度:中级 分类:Agent 架构
简短回答
确定性工作流和自主 Agent 不是二选一,而是一个连续光谱。工作流适合结构明确、需要可预测性和合规性的场景;Agent 适合开放性、需要动态判断的场景。实际生产中,最常见的模式是混合架构——用确定性工作流保证核心流程的可靠性,在需要灵活判断的环节嵌入 Agent。
详细解析
核心区别
#BlNnOAyUbUfN text { white-space: pre; }#BlNnOAyUbUfN .fb0 { stroke: var(--N900-FG, 0.15); }#BlNnOAyUbUfN .fb0 {stroke: rgba(31,35,41, 0.15)}#BlNnOAyUbUfN .fx0 { stroke-miterlimit: 10; }#BlNnOAyUbUfN .fx0 {stroke-miterlimit: 10}#BlNnOAyUbUfN .fa1 { fill: rgb(187, 191, 196); }#BlNnOAyUbUfN .fa1 {fill: rgb(187, 191, 196)}#BlNnOAyUbUfN .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#BlNnOAyUbUfN .fx1 {font-style: normal}#BlNnOAyUbUfN .fx2 { text-anchor: middle; }#BlNnOAyUbUfN .fx2 {text-anchor: middle}#BlNnOAyUbUfN .fx3 { dominant-baseline: central; }#BlNnOAyUbUfN .fx3 {dominant-baseline: central}#BlNnOAyUbUfN .fx4 { stroke: none; }#BlNnOAyUbUfN .fx4 {stroke: none}#BlNnOAyUbUfN .fc0 { fill: var(--text-caption); }#BlNnOAyUbUfN .fc0 {fill: #646a73}#BlNnOAyUbUfN .fa2 { fill: var(--text-link-disabled); }#BlNnOAyUbUfN .fa2 {fill: rgb(187, 191, 196)}#BlNnOAyUbUfN .fx5 { font: 400 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#BlNnOAyUbUfN .fx5 {font-style: normal}#BlNnOAyUbUfN .fx6 { text-anchor: start; }#BlNnOAyUbUfN .fx6 {text-anchor: start}#BlNnOAyUbUfN .fx7 { dominant-baseline: alphabetic; }#BlNnOAyUbUfN .fx7 {dominant-baseline: alphabetic}#BlNnOAyUbUfN .fc1 { fill: rgb(0, 0, 0); }#BlNnOAyUbUfN .fc1 {fill: rgb(0, 0, 0)}#BlNnOAyUbUfN .fb1 { fill: var(--N900-FG, 0.15); }#BlNnOAyUbUfN .fb1 {fill: rgba(31,35,41, 0.15)}#BlNnOAyUbUfN .fb2 { fill: rgb(209, 217, 224); }#BlNnOAyUbUfN .fb2 {fill: rgb(209, 217, 224)}#BlNnOAyUbUfN .fa3 { fill: var(--bg-body); }#BlNnOAyUbUfN .fa3 {fill: #fff}ABC12345678维度控制方式执行路径适应性可审计性成本风险调试确定性工作流(Workflow)预定义代码路径固定、可预测低(按规则执行)高(每步可追踪)低(可控)低(行为可预测)简单自主 AgentLLM 自主决策动态、运行时涌现高(根据反馈调整)中(决策过程不透明)高(不确定的 LLM 调用次数)高(可能做出意外决策)困难
什么时候用确定性工作流
适合工作流的场景特征:
流程固定且已知:每次执行的步骤相同,只是输入数据不同
需要合规审计:如果流程必须能逐步解释(如金融、医疗),不适合 Agent
高可靠性要求:不容许意外行为的关键路径
简单任务:表单处理、数据 ETL、基础提取——Agent 是过度设计
代码块
Python
# 确定性工作流示例:文档处理流水线
def document_pipeline(doc: Document) -> Report:
text = extract_text(doc) # 步骤 1:提取文本
entities = extract_entities(text) # 步骤 2:实体识别
summary = summarize(text) # 步骤 3:生成摘要
report = format_report(entities, summary) # 步骤 4:格式化输出
return report
# 每次执行路径完全相同,可预测、可审计 吧
什么时候用自主 Agent
适合 Agent 的场景特征:
问题结构不确定:子任务的数量和类型取决于输入,无法预定义
需要动态判断:基于中间结果做决策,路径不可预知
开放域探索:如研究调查、自主诊断、个性化推荐
多步推理:需要跨多个工具、数据源进行综合推理
代码块
Plain Text
# 自主 Agent 示例:客户问题诊断
# 不知道要查几个系统、问几个问题,完全取决于具体情况
agent = DiagnosticAgent(tools=[
check_order_status,
query_payment_system,
search_knowledge_base,
escalate_to_human,
])
result = agent.run("客户说付款了但订单状态没更新")
# Agent 自主决定:先查订单 → 再查支付 → 发现不一致 → 触发修复
光谱模型:从确定性到自主性
deepset 提出的光谱模型清晰地展示了这个连续体:
代码块
Plain Text
完全确定性 ←──────────────────────────→ 完全自主
大多数生产系统处于光谱的中间位置(Level 3-4)。
混合架构:最佳实践
实际生产中最常见的模式是混合架构:
代码块
Python
# 混合架构:确定性工作流 + Agent 嵌入
class HybridPipeline:
def process_customer_request(self, request):
核心原则:确定性步骤处理可靠性关键的工作(验证、审计、合规),Agent 驱动的步骤处理需要判断、例外和个性化的工作。
决策框架
回答以下问题来选择方案:
四问定控制权归属:复杂度、简单方案可解性、不确定性、风险,逐级从确定性工作流升级到自主 Agent。
关键洞察
"区别不在于使用了多少 AI,而在于流程的治理方式和执行期间由谁做决策。"
工作流由开发者预先决定执行路径,Agent 在运行时自主决定。这个区别决定了可预测性、可审计性和风险水平。
常见误区 / 面试追问
误区:"Agent 比 Workflow 更先进,应该总用 Agent" — Agent 引入了不可预测性、高成本和调试困难。简单任务用 Agent 是过度设计,反而降低了可靠性。
误区:"用了 LLM 就是 Agent" — 在固定流水线中嵌入 LLM 调用(如用 LLM 做文本分类)仍然是工作流,不是 Agent。Agent 的标志是 LLM 自主决定执行路径。
追问:"如何让 Agent 在混合架构中保持可控?" — (1) 限制 Agent 的工具权限;(2) 设置 Human-in-the-Loop 审批关键操作;(3) 用 Guardrails 约束输出;(4) 设置最大步数和成本上限。
追问:"Anthropic 和 Google 对这个问题的观点是什么?" — 两家都建议从最简架构开始。Anthropic 建议"从 Prompt 开始,只在必要时才升级到 Agent"。Google Cloud 的架构指南提供了从简单到复杂的渐进式设计模式选择。
参考资料
•
AI Agents and Deterministic Workflows: A Spectrum, Not a Binary Choice (deepset)
•
Agentic Workflows vs AI Agents (Couchbase)
•
Agentic AI Explained: Workflows vs Agents (Orkes)
•
Deterministic Workflows vs Autonomous Agents vs Hybrid Models (Medium)
•