首页 › AI Agent › Agent100道面试题 › agent架构-agent-architecture › Workflow vs Agent:什么时候用确定性工作流,什么时候用自主 Agent?

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)​

•

What Are Agentic Workflows? (IBM)​