首页 › ai-agents › 智能体中断恢复与持久化横评

概述

当智能体从"演示"走向"生产",最致命的往往不是模型能力,而是它能不能在被打断后原样接上。一个跑了六小时、完成 47 次工具调用的研究智能体,一旦 API 超时就要从零重启——再烧六小时、再花一遍 token,这是 2026 年企业级 Agent 部署的头号故障源(数据显示 73% 的部署在第一年内发生可靠性故障)。本篇横评把"中断—恢复—人机接力"作为一把新尺子,量六栈智能体框架(LangGraph、Claude Agent SDK、OpenAI Agents SDK、Strands、CrewAI、AG2)在这条能力上的真实差距,并向下穿透到 Temporal、Restate、DBOS、Inngest、Hatchet 这层"持久化执行"引擎。核心结论一句话:框架的 checkpoint ≠ 持久化执行,前者挡得住应用级失败(错误分支、人机暂停),挡不住基础设施级失败(容器崩溃、宿主抢占),而动钱、发邮件这类不可逆副作用的智能体,必须在这两层之上都买保险。

中断—恢复能力对比表

维度 LangGraph Claude Agent SDK OpenAI Agents SDK Strands Agents CrewAI AG2
中断原语 原生 interrupt() 事件流中断 Harness resume 记账 自定义工具实现 human_input=True GroupChat 管理者
恢复机制 Command(resume=…) Session 自动续接 resume bookkeeping 手动 DynamoDB/S3 任务回放 MemoryStream 事件回放
持久化后端 MemorySaver/SQLite/Postgres/DynamoDB Session 存储内置 Session(2026 新增) 手动接入 文件式 Redis/文件
状态模型 类型化状态图+reducer 沙箱环境即状态 上下文变量+对话 对话历史 任务上下文+共享记忆 对话历史+MemoryStream
粒度 每个超步(super-step) 会话级 Harness 步级 无原生 任务级 事件级
人机接力 一等公民 事件流 审批回调 自定义 基础 GroupChat 控制
反序列化正确性 高(reducer 显式) 高(沙箱快照) 中 低(需手写) 中 中

深度分析

一、LangGraph:interrupt() 把人机接力变成语言级原语

LangGraph(月下载量超 4700 万)之所以在中断—恢复这条赛道上一骑绝尘,是因为它把"暂停等人类"做成了和 if/else 一样自然的语言原语。架构原理很直接:图在每个超步(super-step)结束时通过 checkpointer 把整个 State 对象写入后端,键是 thread_id;任意节点里调用 interrupt(payload),图就真正挂起,payload 通过返回值 result["__interrupt__"] 交给前端渲染;人类拍板后,用同一个 thread_id 再 invoke(Command(resume=…)),恢复值会直接回到那次 interrupt() 调用处继续往下走,没有轮询循环,没有手写异步。

from langgraph.types import interrupt, Command
from langgraph.checkpoint.memory import MemorySaver

def approval_node(state):
    decision = interrupt({"q": "批准这笔 500 美元转账吗?", "details": state["action"]})
    return Command(goto="proceed" if decision else "cancel")

graph = builder.compile(checkpointer=MemorySaver())   # 无 checkpointer 则无法恢复
config = {"configurable": {"thread_id": "approval-123"}}
graph.invoke({"action": "Transfer $500"}, config=config)            # 挂起
graph.invoke(Command(resume=True), config=config)                    # 同一 thread_id 续跑

最关键、最容易被忽略的一点:必须把 interrupt() 放在危险操作之前,而不是之后——很多人写成"先执行 DELETE 再 interrupt 问是否 OK",那就已经晚了。优缺点方面,原生支持、reducer 让并发写入可预测、LangGraph Studio 还能逐节点回放与"时间旅行",是六栈里最强的调试体验;代价是状态图样板代码重、曲线陡。变现评估:这是训练营里"生产级 Agent 工程"模块的最佳抓手——一个"转账审批"或"SQL 变更审批"的可交互 demo,能把课程客单价直接拉到企业级档位,因为买方真正担心的就是这一刀。

二、Claude Agent SDK:把 Agent 当成有状态沙箱运行时

Claude Agent SDK(前身 Claude Code SDK,2025 年底更名)走的是完全不同的路:它不把 Agent 当成一串轻量函数链,而是当成一个有状态、沙箱化的运行时。核心四概念是 Agent(封装模型、系统提示、工具、MCP、skills)、Environment(容器模板:包、网络、文件挂载)、Session(环境内一个常驻实例,跨轮保持状态)、Events(应用与 Agent 之间的消息流)。中断—恢复在这里几乎是"免费"的:状态不是存在某个抽象 State 字典里,而是就活在会话环境本身——写进磁盘的文件、设置的环境变量、建好的数据库,全部跨轮持久;Session 在失败后自动续接。

from claude_agent_sdk import Agent, Session
agent = Agent(model="claude-sonnet-4-20250514", tools=[read_csv, run_query],
              mcp_servers=["filesystem", "postgres"])
async with Session(agent, environment="data-analyst-env") as session:
    resp = await session.send("分析 Q1 营收趋势")     # 中途崩溃也能续
    async for event in resp: print(event)

这种"状态即环境"的模型,对编程智能体、数据分析智能体这类会持续产出产物的任务极其自然——工作目录里的中间文件就是断点,根本不需要你显式 checkpoint。缺点同样明显:深度耦合 Claude 模型,无法换 GPT/Llama;沙箱本身有运维成本(虽然 Claude Managed Agents 把容器编排托管了)。变现评估:最适合包装成"代码 Agent / 数据分析 Agent 训练营",卖点就是"沙箱里跑坏了也不污染宿主、断了能续",对要在客户真实数据上跑的 to-B 场景是硬通货。

三、OpenAI Agents SDK:Harness 接管 resume 账本

OpenAI Agents SDK 从实验性的 Swarm 进化而来,2026 年 4 月的 Harness 升级是它的转折点——这套脚手架(驱动 Codex 的同一套)把指令、工具、审批、追踪和resume bookkeeping全打包了,让长跑智能体能在中断后接续,并支持沙箱执行。它的心智模型是 handoff 中心:一个 Agent 可以通过产生 handoff 把控制权连同完整上下文转给另一个 Agent,天然映射客服分层、流水线这类场景。但 handoff 本质是顺序的,原生并不擅长并行 Agent 执行或图式路由。

真正让它在中断—恢复这条赛道上"弯道超车"的,是 OpenAI Agents SDK 与 Temporal Python SDK 的 GA 集成(2026 年 3 月 23 日):一个 TemporalRunner 把每次 Agent 调用包成 Temporal activity,activity_as_tool 把 Temporal activity 自动转成 OpenAI 兼容的 tool schema——崩溃防护几乎零成本白送。OpenAI 自己就在生产用 Temporal 跑 Codex。变现评估:这是 GPT 生态学员最快的"耐久化"上车路径,"一行配置让 Agent 抗崩溃"的标题极具传播力,适合做中等客单价的进阶课。

四、关键洞察:框架检查点 ≠ 持久化执行

把六栈放到一起看,最大的认知陷阱就在这里——框架的 checkpoint 和"持久化执行(durable execution)"是两种强度不同的保证。LangGraph 1.0 在每个超步把图状态快照到 Postgres/DynamoDB,按 thread_id 取回,这确实能让 Agent 在失败后恢复,是真的、是有用的。但"每个超步检查点"和"从日志做 exactly-once 步骤回放,跨任意崩溃"不是一回事。更精确的分工是:

生产部署往往两层都要。而且所有这些引擎能成立,都靠同一条铁律:LLM 调用、工具调用、外部副作用必须被推进"已记录的步骤"里,只跑一次,崩溃后从日志回放。哪个供应商对这条边界含糊其辞,就离它远点。变现评估:这条"两层保险"的认知差,本身就是企业内训的高价值内容——大量团队以为接了 LangGraph checkpointer 就万事大吉,实际在动钱场景下会出事,把"为什么你的 Agent 会在第 30 小时丢状态"讲透,是顾问式变现的金牌选题。

五、持久化执行三引擎:Temporal / Restate / DBOS

当框架检查点不够用,就该在框架下面垫一层引擎。三者实现机制各异,但都遵循"把每个已完成步骤在下一步运行前持久化,崩溃后回放而非重跑"这一核心:

变现评估:三家分别对应"大厂规模 / 边缘 Serverless / 极简 Postgres"三个故事,可拆成三条独立的"耐久化落地"实操课;其中 DBOS"无服务器、只加一个库"对中小团队最有吸引力,适合做入门级训练营的压轴模块。

六、失败数学与"建还是买"决策

最后回到一组冷硬的数字,它们解释了为什么中断—恢复在 2026 年从"锦上添花"变成了"生死线"。任务时长翻倍,失败率翻四倍;85% 的单步准确率在十步链条上会失败五分之四,二十步时存活在统计上几乎不可能;95% 的单步成功率在十步任务上整体完成率只剩 60%,五十步跌破 8%。生产数据更扎眼:连续执行超过 35 分钟后成功率显著下滑,GPT-4o 跑复杂办公任务、缺持久化基础设施时失败率超 91%,多会话任务缺外部状态管理时失败率高达 98%。

算一笔经济账:一个多日研究智能体在第四小时崩掉,无检查点=四小时计算重跑+token 双倍+上下文可能自相矛盾;有检查点(假设 5 分钟间隔)=只补 5 分钟。生产部署分析显示,检查点能把多步工作流的无效处理削减 60% 以上。据此可得到一张清晰的分层决策表:任务 10 分钟以内 → 自建轻量检查点即可;10 分钟到 4 小时、非确定性决策图复杂 → LangGraph + Postgres/DynamoDB;超过 4 小时、或多 Agent 编排依赖复杂、或涉及不可逆副作用 → 上 Temporal Cloud,OpenAI Agents SDK 的 GA 集成让 GPT 系几乎零成本接入。变现评估:这张"按任务时长分层选型"的决策表,是 to-B 咨询的黄金交付物——企业最怕的就是"选错了层、要么过度工程、要么上线即崩",把它做成选型工作坊,客单价和复购率都高。

系统架构图

flowchart TB
    subgraph APP["应用 / 人机接力层"]
        H[人类审批 UI]
    end

    subgraph FW["智能体框架层(中断原语)"]
        LG[LangGraph interrupt + checkpointer]
        CA[Claude Agent SDK Session/Environment]
        OA[OpenAI Agents SDK Harness resume]
        ST[Strands 模型驱动循环]
        CR[CrewAI human_input]
        AG[AG2 GroupChat/MemoryStream]
    end

    subgraph DE["持久化执行引擎层(exactly-once 回放)"]
        TP[Temporal 工作流回放]
        RS[Restate 单二进制 journal]
        DB[DBOS 库+Postgres]
        IN[Inngest 步级记忆化]
        HT[Hatchet 托管任务队列]
    end

    subgraph INFRA["基础设施失败域"]
        CB[容器崩溃 / 宿主抢占 / 网络分区 / API 限流]
    end

    H <-->|Command resume / interrupt payload| FW
    FW -->|状态/快照 checkpoint| DE
    FW -.挡得住.-> APPFAIL[应用级失败: 错误分支/推理漂移/人机暂停]
    DE -.挡得住.-> CB
    DE -->|回放日志| FW

    classDef app fill:#fef3c7,stroke:#d97706,color:#000
    classDef fw fill:#dbeafe,stroke:#2563eb,color:#000
    classDef de fill:#dcfce7,stroke:#16a34a,color:#000
    classDef infra fill:#fee2e2,stroke:#dc2626,color:#000
    class H,APPFAIL app
    class LG,CA,OA,ST,CR,AG fw
    class TP,RS,DB,IN,HT de
    class CB infra

推荐方案

参考来源

  1. 2026 AI Agent Framework Showdown: LangGraph vs CrewAI vs AG2 vs Claude SDK vs Strands vs OpenAI — QubitTool — 六大框架的状态管理、HITL、持久化对比矩阵与基准数据
  2. Durable Execution for AI Agents: Temporal vs Restate vs DBOS — Alatirok — 三大持久化引擎架构机制与非确定性铁律的深度横评
  3. Durable Agent Execution in Production 2026: Temporal, LangGraph — AgentMarketCap — 失败数学、checkpoint 与 durable 执行的本质差异、建还是买的分层决策
  4. How to Implement Human-in-the-Loop in LangGraph Using the interrupt() Pattern — BSWEN — interrupt/resume 三种模式代码与常见踩坑(含 checkpointer/thread_id)
  5. Interrupts — LangChain 官方文档 — interrupt() 与 Command(resume) 的权威语义说明
  6. Temporal reveals a serverless option for its Durable Execution platform — The New Stack — Temporal 50 亿美元融资、9.1 万亿终身 action、Serverless workers 披露

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入