
Workflow-Orchestration 与 Durable Execution当面试官开始问 Workflow、Orchestration、Durable Execution说明他已经不满足于你只会做一个会调工具的聊天机器人了。他想看的是你是否能把一个 Agent 任务做成一个能跨步骤、跨时间、跨中断、可恢复、可审批、可观测的生产流程。这道题通常会围绕下面几个问题展开Workflow 和 Agent 是什么关系是替代还是组合为什么复杂 Agent 任务不能只靠一个 while-loop function call什么叫 durable execution它和失败后重试一下有什么本质区别LangGraph 这种图式工作流和 Temporal 这种 durable workflow 系统各自解决什么问题什么场景用图编排就够什么场景必须上真正的 durable workflow 引擎如果系统崩了、worker 挂了、用户半路审批、任务跑了三天你的流程还能不能接着走所以这一题本质上考察的是Agent 从交互程序走向业务流程系统时你有没有系统工程视角。在面试时你可以这么一句话表达:::color1Workflow Orchestration 解决的是多步骤任务如何按状态、依赖和策略被有序推进Durable Execution 解决的是这些推进过程如何在失败、重启、中断和长时间等待后仍然可以可靠继续而不是从头再来。前者强调流程控制后者强调执行可靠性。真正生产可用的 Agent 往往两者都需要。:::为什么 Agent 系统会自然走向工作流编排一个单次问答 Agent 可以靠大提示词 一轮模型调用 几个工具完成但只要任务复杂度上来系统就会出现以下特征需要多步推理与多步执行步骤之间有显式依赖某些步骤要等外部结果某些步骤要等待人工审批某些步骤失败可重试某些失败必须停止某些任务可能持续几分钟、几小时、几天某些步骤有副作用不能重复执行。这时如果你还用一个纯粹循环调用模型直到结束的框架就会出现状态难追踪中断难恢复审批难插入错误处理散落在各处日志难回放执行边界不清晰。这就是 Workflow Orchestration 需要登场的原因。一图看懂为什么 Workflow 和 Durable Execution 是两层问题这张图里的关键是编排器决定下一步是什么状态存储保证下一步还能继续。很多人只讲前者不讲后者就停留在流程图层面而不是运行时层面。Workflow、Agent、Orchestrator 三者关系怎么讲1. Agent 是能根据上下文决定行动的执行体Agent 具有一定自治性可能会选择工具决定下一步进行推理在模糊问题上做探索。2. Workflow 是步骤关系和状态转移的框架Workflow 更强调步骤有哪些依赖关系是什么什么条件下从 A 到 B什么条件下进入审批或结束哪些步骤能并行哪些步骤失败后怎么处理。3. Orchestrator 是把流程推进下去的控制层Orchestrator 的职责包括读取当前状态决定执行哪个节点调用节点持久化结果处理重试与超时接入人工中断记录 trace。所以Agent 和 Workflow 不是非此即彼的关系。一个非常成熟的回答是Agent 适合解决步骤内部的不确定性Workflow 适合解决步骤之间的确定性。Orchestrator 把这两者组织起来。这句话在面试里非常好用。Workflow vs Agent什么时候该让模型自己决定什么时候该由流程提前写死这是最经典的追问之一。更适合 Workflow 的场景流程有明确业务规则步骤顺序相对固定合规要求强需要可解释、可审计需要审批和回滚失败处理要非常稳定任务结果比探索空间更重要。例如报销审批工单分派数据同步测试发布流程采购申请流程。更适合 Agent 的场景问题空间开放需要探索和试错工具选择不固定用户需求模糊更强调推理与规划能力。例如开放式调研代码修复探索复杂问答任务分解与方案生成。最常见的生产组合方式最实际的答案不是二选一而是用 Workflow 决定阶段在某些节点里调用 Agent 做局部自治推理Agent 产出的结论再回到 Workflow 中继续执行。例如合同审查流程里整体阶段是固定的上传 → 解析 → 初审 → 风险项汇总 → 人审 → 出具意见但风险项提取这一步可以交给 Agent。什么是 Durable Execution这道题必须答得明确。Durable Execution 不是失败了自动重试那么简单它的核心在于系统能够在执行过程中把状态和进度以可恢复的方式保存下来因此即使进程崩溃、机器重启、任务等待很久、人工中断后再继续也不需要从头重新执行已经完成的步骤。这里有两个关键词1. 已完成工作不会白做假设一个 20 步任务跑到第 17 步worker 挂了。如果没有 durable execution你可能只能从头跑或者靠人工判断从哪接。如果有 durable execution系统应该知道前 16 步已经成功当前卡在第 17 步第 17 步是否产生副作用是否需要重放还是继续下次恢复时从哪里接。2. 状态恢复是系统级能力不是业务代码临时补丁很多同学会说我们把中间结果存数据库出错再读回来。这当然是思路的一部分但 durable execution 更强调运行时级别的恢复语义而不是每个业务节点各自随手存点东西。换句话说Durable Execution 是把恢复能力提升为平台能力。LangGraph图式编排与持久执行LangGraph 很适合用来解释Workflow 和 Agent 的结合。它的核心抽象是什么可以浓缩成三个词State共享状态Node执行节点Edge状态转移与流程连接。这种模型很适合 Agent 场景因为可以把规划、检索、工具调用、审批、结束等都做成节点可以在节点之间显式表达条件和分支可以让部分节点由 LLM 自治决定可以持久化每一步的 checkpoint。Persistence / Checkpoint 的价值图工作流如果没有 checkpoint很快就会出现两个问题失败后只能重跑人工中断后无法继续。有了 checkpoint每一步执行完都能把状态快照存下来。这样可以支持fault tolerancehuman-in-the-looptime travel / replay 调试多轮任务延续会话线程级状态管理。这是 LangGraph 与只有一个 agent loop的根本区别之一。LangGraph 更适合什么需要把 Agent 拆成显式节点希望保留一定自治能力想快速搭建可中断、可恢复、可调试的图式流程任务主要围绕 LLM 推理、工具调用和状态转移对工作流历史和调试可视化有需求。一句话记忆LangGraph 更像为 Agent 设计的状态图运行时。TemporalDurable Workflow 的经典代表Temporal 很适合解释 durable execution 的工程本质。Workflow Execution 是什么Temporal 把 workflow execution 当成主执行单元。它可以持续很久可以有本地状态可以接收 signals可以调用 activities可以在 worker 崩溃后通过事件历史恢复。这里最重要的认知是Workflow 不是普通进程它的进度由事件历史和运行时语义保护Worker 掉了可以换另一个继续不需要人工找回状态。Activities 是什么Activities 通常表示真正去做外部副作用或 IO 的工作例如调支付接口查数据库发消息调第三方服务写文件调 shell 或远端执行器。为什么 Temporal 强调 Activity 幂等因为 Activity 可能被重试。只要有重试就有重复执行风险只要有重复执行风险副作用就必须设计幂等。Signals、Queries、Updates 为什么重要复杂流程里Workflow 往往不是启动后静静跑到结束而是会在中途被外部交互影响例如用户补充资料管理员审批通过运营强制取消前端查询当前状态外部事件到达后继续。这些能力使得 Workflow 更像一个长期存活、可交互的业务流程实体。LangGraph 和 Temporal 怎么选这是非常高频的系统设计题。推荐你按下面思路回答更偏 LangGraph 的情况你关心的是 Agent 节点编排核心步骤大多是 LLM 推理、工具调用和对话状态推进你想快速构建图式 Agent需要 checkpoint、HITL、状态图调试工作流生命周期相对中等不一定跨很多天。更偏 Temporal 的情况你有很强的业务流程可靠性诉求任务可能持续很久需要强恢复语义需要严肃处理重试、超时、定时器、补偿、事件驱动需要把 workflow 当成生产级业务实体管理。实际工程里非常常见的组合方式外层用 Temporal 这种 durable workflow 管理业务流程阶段、重试、等待和补偿内层某些智能步骤用 LangGraph 或自定义 agent runtime 跑推理图。例如外层工作流接单 → 数据准备 → 调用代码修复 Agent → 等待人工 review → 发布内层 Agent分析报错 → 检索仓库 → 生成补丁 → 运行测试 → 形成建议。这样的分层往往比所有东西都交给一个 agent loop稳定得多。Durable Execution 和普通重试有什么区别很多候选人会把两者混。你可以这样区分普通重试重点是某个动作失败了再试一遍。它通常关注失败类型重试次数退避时间幂等保护。Durable Execution重点是整个流程即使被打断也能从正确位置继续。它关注已完成步骤的持久记录当前状态与转移点外部事件恢复多天任务等待worker 崩溃后的恢复人工中断后的继续执行。一句话记忆重试解决一个动作失败怎么办Durable Execution 解决整个过程断了怎么办。Agent 场景里最需要 Durable Execution 的地方1. 长时间工具或后台任务例如大规模代码库扫描多网页长链调研大文件解析报表生成批量自动化操作。2. 需要人工审批的步骤例如删除数据发外部通知合同提交批量执行脚本进入生产环境。这类流程会被人为暂停没有 durable execution 就很容易丢状态。3. 多 Agent 协作链一个 Agent 把子任务委托给另一个 Agent再等待返回。如果调用关系拉长没有可靠状态记录和恢复机制系统很容易变成只在 demo 里能跑通。4. 带副作用的多步流程例如创建工单更新数据库发邮件再同步第三方系统。中间任一步失败都需要知道前面做到了哪里以及后面是重试、补偿还是人工接管。工作流状态设计校招生最容易忽略什么1. 终止条件流程什么时候结束是模型说我觉得结束了就结束还是必须满足某个 artifact 已生成某个审批已通过某个状态已写回某个验收条件已满足没有显式终止条件Agent 很容易在工具循环里打转。2. 中断点流程在哪些位置允许暂停等用户等审批等外部事件等定时器等远端 Agent 返回。这些位置最好在设计时就是一等状态而不是临时 if-else。3. 幂等边界哪些节点可以重复执行哪些节点一旦重试就要特殊保护比如生成摘要可以重复发送通知就必须小心。4. 错误分级并不是所有错误都应导致整个 workflow fail。你应该区分可重试错误不可重试错误需要人工介入的错误可降级继续的错误。5. 观测与回放没有 trace、checkpoint 和事件历史出问题时你根本不知道是模型推理错工具挂了状态没存分支条件写错还是审批没回来。常见误区误区 1Workflow 就是写一串 if-else太浅。真正的编排系统要考虑状态转移、并行、超时、中断、恢复和可观测。误区 2Durable Execution 就是把结果存数据库不够。存数据库是手段之一Durable Execution 更强调运行时语义怎么 checkpoint、怎么 replay、怎么恢复、怎么等待事件、怎么保证步骤边界清晰。误区 3Agent 越自主越好不需要 Workflow错误。很多业务场景恰恰需要 Workflow 来限制 Agent 的自由度使过程可审计、可解释、可治理。误区 4上了 Workflow 就不需要 Agent也不对。Workflow 适合管理确定性流程Agent 适合处理不确定性探索。很多系统最优解是二者组合。误区 5只要能恢复就不需要幂等错误。恢复不等于重复执行安全。只要某步可能被重放或重试副作用节点仍然必须设计幂等。高频面试题与回答模板1. Workflow 和 Agent 是什么关系标准回答Workflow 管步骤之间的确定性与状态转移Agent 管步骤内部的不确定性与推理。生产系统里通常是 Workflow 包裹 Agent而不是二选一。2. 什么是 Durable Execution标准回答它让流程在崩溃、重启、长时间等待或人工中断后仍能从已知正确状态继续而不是从头执行。重点是持久化进度和恢复语义不只是失败重试。3. LangGraph 和 Temporal 的区别是什么标准回答LangGraph 更偏 Agent 状态图和节点编排适合 LLM / tool / HITL 场景Temporal 更偏生产级 durable workflow适合长生命周期、强恢复语义、复杂重试和补偿控制。很多系统会组合使用。4. 为什么复杂 Agent 任务不能只靠 agent loop标准回答因为一旦任务跨多步、有审批、有长等待、有副作用和失败恢复需求单纯 loop 很难显式管理状态、中断、重试和回放系统会非常脆弱。5. Durable Execution 和 Retry 的区别是什么标准回答Retry 关注某个动作失败后再试一次Durable Execution 关注整个过程断了以后还能否从正确位置继续。前者是局部容错后者是流程级可靠性。6. 什么时候一定要上真正的 workflow 引擎标准回答当任务持续时间长、业务影响大、步骤多且带副作用、需要审批和恢复、需要严肃观测和补偿时最好上专门的 workflow / durable execution 引擎而不是靠临时脚本。项目表达模板我们的 Agent 不是一轮模型调用就结束而是一个多阶段流程任务解析、资料准备、模型推理、工具执行、人工确认和结果交付。早期我们用简单 agent loop很快遇到状态难恢复、审批难插入、失败后容易重跑的问题。后来我们把系统改成工作流编排每一步都是显式节点节点之间通过共享状态流转关键节点后做 checkpoint长等待和审批用持久状态保存。对偏智能的步骤我们在节点内部调用 Agent对业务可靠性强的外层流程则交给 durable workflow 运行时管理。这样即使 worker 挂掉系统也能从已知步骤继续而且全链路有 trace 和回放。小结把这篇压缩成四句话Workflow Orchestration 管流程推进Durable Execution 管流程能否可靠继续Agent 适合步骤内部的不确定性Workflow 适合步骤之间的确定性LangGraph 更像 Agent 状态图运行时Temporal 更像生产级 durable workflow 系统真正上线的 Agent 任务一旦跨时间、跨步骤、跨审批、跨副作用就离不开编排与持久恢复。如果你能围绕这四句话讲清楚状态、checkpoint、replay、activity、审批和恢复这一题在系统设计面里就会很扎实。