2026 年,LangGraph、Temporal、Apache Airflow 三条编排路线在生产 Agent 项目中越来越频繁地正面相遇。一个常见问题是:它们都能让 Agent "按步骤跑下去",但底层的运行时模型、容错机制和状态表达截然不同。把这三者的真实差异拆清楚,比争论哪个更好用更重要。
核心差异:运行时模型是什么
LangGraph 把 Agent 抽象为有向图(StateGraph),节点是一次 LLM 调用或工具调用,边是状态转移条件。它假设状态可序列化进 checkpoint(内存或外部存储),节点函数纯函数化、幂等。图结构天然适合"主流程 + 分支决策 + 循环反思"的 Agent 范式。LangGraph 的核心抽象 Pregel 借鉴了 Google Pregel BSP 模型,节点按 super-step 同步推进,通过 channel 传递状态。
Temporal 把编排建模为代码优先的工作流(Workflow),用普通函数 + 装饰器声明步骤,引擎负责持久化执行(durable execution)。工作流可以是长时间运行(几个月),可以等待外部信号,可以定时唤醒。它的状态不在函数返回值里,而在引擎的事件历史中。每个 activity 执行结果都被持久化,崩溃后从最后一个完成的事件继续。
Airflow 把编排建模为有向无环图(DAG),节点是任务实例,边是依赖关系。它源自批处理 ETL 场景,核心假设是任务短时、调度驱动、依赖静态。Airflow 3.x(2025-2024)开始引入 TaskFlow API 和 DAG versioning 试图适配长任务,但调度器仍以 cron 为锚点。
Checkpoint 与状态存储:差异最大的地方
LangGraph 的 state 默认存在 checkpoint 里。MemorySaver 把状态放进程内存(开发用),PostgresSaver 或 SqliteSaver 存数据库(生产用)。每次节点执行后,channel 状态被序列化进 checkpoint,崩溃后 get_state(thread_id) 直接续跑。Checkpoint 是 LangGraph 的 "持久执行" 来源。
Temporal 不靠 checkpoint,靠事件溯源(event sourcing)。Workflow 函数代码本身被版本化地存储在引擎里,每次 activity 完成产生一个 event,事件历史就是状态。重启工作流 = 重新执行函数代码 + 重放事件历史。这种模型对"几个月才完成一次大工作流"特别友好,代价是事件历史会持续增长,需要 retention 策略。
Airflow 状态在 Airflow 元数据库(默认 SQLite/Postgres)里。TaskInstance 表记录每个任务实例的当前状态(queued/running/success/failed),调度器周期扫描并触发下游。崩溃 = 元数据库里的状态不变,调度器重试。Airflow 没有"续跑"概念,失败任务通常靠 retry policy 重跑整个 task。
调度语义:谁能长期跑、谁能等信号
LangGraph 适合单次会话型 Agent,一次 graph 编译、一次 invoke 或 stream,适合几分钟到几小时的交互式场景。跨多天的长任务不友好,因为 graph 实例通常和进程生命周期绑定。
Temporal 天然适合长时间运行的 workflow。一个 insurance claim workflow 可以等 3 周的客户回复,中间引擎不消耗资源,客户提交文件后 activity 唤醒。Temporal 还有 schedule workflow 用于定时触发。
Airflow 适合周期批处理。每日 ETL、每小时指标计算、cron 风格的批处理是 Airflow 的主场。Airflow 3 的 Asset 事件触发试图追赶"事件驱动",但生产上仍以时间驱动为主。
可观测性:调试体验差异
LangGraph 集成 LangSmith,提供 trace、节点级 token 用量、状态快照,适合 LLM 调试。astream_events 流式输出节点事件,可接入 OpenTelemetry。
Temporal 提供 tctl trace + Temporal UI,workflow replay 是核心调试手段:给定历史事件历史,本地重放函数,排查 "为什么这个 activity 跳过了"。Replay-only 调试对非 LLM 逻辑极友好,但 LLM 步骤通常需要额外 trace。
Airflow 集成 OpenLineage + Grafana,UI 强项是 DAG 可视化和 TaskInstance 时间线。Airflow UI 是三类里最成熟的,但 LLM 步骤调试需要自行加 langfuse 之类。
选型决策树

LangGraph 节点执行 + Temporal activity 互相通信的时序:

关键点
- LangGraph 的"持久执行"靠 checkpoint 序列化,Temporal 靠 事件溯源,Airflow 靠 元数据库状态机
- 三者都叫"编排",但 LangGraph 是 LLM-native 图模型,Temporal 是 代码优先长事务引擎,Airflow 是 DAG 调度器
- 选 LangGraph 当你的 Agent 主流程在单次会话内,Temporal 当你的工作流跨天跨月等待外部信号,Airflow 当你做周期 ETL
- 混合是常态:LangGraph 节点里调 Temporal client 启动 long workflow,Temporal activity 回调注入 LangGraph state
- 不要把 LLM 多步推理塞进 Airflow —— 调度器粒度太粗、调试链断裂,会非常痛
行业影响
到 2026 年 7 月,GitHub 上 LangGraph 累计 37,014 颗星、最新 commit 在 2026-07-10,Temporal 累计 21,557 颗星、最新 commit 在 2026-07-11。两条路线都仍在快速增长,选择的关键不是"谁更强",而是"谁匹配你的运行时模型"。Airflow 在 ETL 场景仍不可替代,但 Agent 编排场景正在被前两者蚕食。
结语
把 LangGraph / Temporal / Airflow 看作三个不同问题域的工具,比看作"候选 A/B/C"更有生产力。下次技术选型时,先问自己:这个工作流的运行时模型是图、事件溯源、还是 DAG?状态存哪?谁能等信号?答案会直接告诉你该选谁。
参考资料
官方文档
- LangGraph 官方文档 - Building resilient agents [200] - 2026
- Temporal 官方文档 - Durable Execution [200] - 持续更新
- Apache Airflow 官方文档 [200] - 持续更新
开源项目
- langchain-ai/langgraph 仓库元数据 [200] - 2026-07-11, 37,014 stars, Python, "Build resilient agents"
- temporalio/temporal 仓库元数据 [200] - 2026-07-11, 21,557 stars, Go, "Temporal service"
- apache/airflow 仓库主页 - 2026-07, GitHub api 速率限制未直接获取
行业报道
- Indeed Workflow Framework on Temporal [200] - 2026, Indeed 工程团队在 Temporal 上构建 Agent 框架的实战
- Temporal Visual Authoring Layer [200] - 2026, Temporal 缺少可视化编辑器的第三方解读
社区讨论
- HN: Ask HN - How are you scaling AI agents reliably in production? - 持续讨论
- HN: Show HN - Representing Agents as MCP Servers [200] - 58 points, MCP-as-Agent 思路
- HN Algolia: agent orchestration 聚合搜索 [200] - 持续更新
对比基准
- LangGraph Performance Benchmarks (LangChain 团队) - LangGraph 项目内置 checkpoint 性能测试
- Temporal Scalability Whitepaper [200] - Temporal 工程博客,生产环境可扩展性论述
本文由 AI 生成。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。
