news 2026/6/10 2:22:23

Durable-Workflow-Temporal与Agent控制面分工

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Durable-Workflow-Temporal与Agent控制面分工

Durable Workflow · Temporal 与 Agent 控制面分工

🏠 返回 04-README | ⬅️ 03-Java-Agent编排 | ➡️ 02-Buy领域智能体

定位:回答 Staff 白板「LangGraph checkpoint 够了为什么还要 Temporal?」——Agent 环内状态vs跨天业务流程的分工。Java 编排选型见 03;LangGraph interrupt 见 04-Agent框架;checkpoint 语义见 96 §2.0、13 §9.4。


L1 · 是什么

1.1 一句话定义

Temporal(或同类 durable execution 引擎)管理长寿命、多角色、强审计的业务流程;Agent Runtime(Spring AI loop / LangGraph)管理秒–分钟级的推理–工具循环。二者通过Activity 边界衔接:Workflow 定「何时、谁批、是否可重试」;Agent 定「这一步怎么推理、调哪些 tool」。

1.2 选型决策树

秒–分钟

小时–天

任务时长?

Agent Runtime
LangGraph / Spring AI

需要人工审批链?

Temporal / Camunda

仅进程续跑?

LangGraph Checkpoint
Postgres/Redis

每步 Activity 内调 Agent

场景推荐反例
客服单轮 RAGSpring AI loop上 Temporal 过重
退款 3 天多级审批Temporal + Agent Activity纯 checkpoint 难审计 SLA
99% 完成 OOMLangGraphcheckpoint 续跑Temporal 不替代步内状态
大促批处理补发Temporal批 Workflow同步 HTTP Agent

1.3 与 Spring Statemachine 对照(03)

方案甜区与 Temporal
Spring Statemachine单 JVM、表单式状态无跨进程 durability
Plan-Execute 自研中等复杂度自研持久化 ≈ 半套 Temporal
Temporal分布式、重试、定时器、审计生产首选(长流程)

L2 · 架构分工

2.1 两平面模型

存储内容续跑问题
Workflow History活动完成记录、定时器、信号「审批到了吗」
Agent Checkpointmessages、plan[]、tool 轨迹「这一步 LLM 跑到哪」
向量库知识「政策文本是什么」——不用于续跑

2.2 Activity 设计原则

  1. Activity 要幂等executeRefund(orderId, idempotencyKey)
  2. Activity 粒度 = 业务原子步,不是「一次 LLM call」。
  3. LLM 环放在 Activity 内,Activity 超时 > LLM P99 + 工具链。
  4. HITL 用Workflow.awaitCondition/ Signal,不要阻塞 HTTP 线程。

2.3 Java 示意(Temporal Java SDK · L1)

API 以 Temporal Java SDK 为准;以下为面试示意结构。

@WorkflowInterfacepublicinterfaceRefundWorkflow{@WorkflowMethodRefundResultrun(RefundRequestreq);}publicclassRefundWorkflowImplimplementsRefundWorkflow{privatefinalRefundActivitiesacts=Workflow.newActivityStub(RefundActivities.class,ActivityOptions.newBuilder().setStartToCloseTimeout(Duration.ofMinutes(5)).setRetryOptions(RetryOptions.newBuilder().setMaximumAttempts(3).build()).build());@OverridepublicRefundResultrun(RefundRequestreq){SlotBundleslots=acts.collectSlots(req);AgentPlanplan=acts.runAgentPlan(req,slots);// 内部 Spring AI + checkpointacts.waitHumanApproval(req.orderId(),plan.riskSummary());returnacts.executeRefund(req.orderId(),req.idempotencyKey());}}

Agent Activity 内部仍可用 03 Plan-Execute + Redis checkpoint;Temporal 只保证Activity 级至少一次执行与超时重试。

2.4 LangGraph interrupt vs Temporal Signal

机制层次典型用法
LangGraphinterrupt()Agent 图内人审单会话暂停/恢复
TemporalSignal业务流程经理手机点「批准」恢复 Workflow
TemporalQuery只读状态工单系统展示进度

组合:客服 Agent 图内interrupt收集材料 → Workflow 进入waitHumanApproval→ Signalapproved→ 下一 Activity 调写工具。


L3 · 生产要点

3.1 版本与部署

对象策略
Workflow 代码Workflow.getVersion()做兼容迁移(Temporal L1)
Agent 四维Activity 入参带release_id(11-Registry)
Worker 部署Agent Worker 与 Temporal Worker可同 Pod 可拆;拆则 gRPC 调 Agent 服务

3.2 失败模式

ID现象分工
RUN_99P_CRASH最后一步 OOMCheckpoint续跑步内;Workflow 不重放已完成 Activity
RUN_99P_DUPLICATE_WRITE重试双写Activity幂等键+ 业务去重表
RUN_RESUME_FULL_REPLAN恢复后计划漂移Checkpoint 存plan[]状态,禁止全量重规划(96 §4)
ACTIVITY_TIMEOUTLLM 太慢调超时 / 环内降级小模型

3.3 观测

3.4 与 Camunda / Step Functions

引擎何时口述
Temporal云原生、代码即流程、强重试语义
Camunda已有 BPMN 资产、业务分析师改图
AWS Step Functions全 AWS、Agent 在 Lambda 内

Staff 原则:选已落地引擎,不为了面试换栈。


L4 · Staff 答辩

4.1 STAR-M-P:退款审批 3 天超时

要素内容
S退款需 L1/L2 审批,平均 2.8 天;纯 Redis session 丢状态
T可审计、可恢复、不重复退款
ATemporal Workflow;runAgentPlanActivity 内 Spring AI;审批 Signal;executeRefund幂等键
M会话丢失因无 durable workflow
P重复退款 0;审计 100% 关联workflow_id

4.2 大厂追问答

Q1 · 全用 LangGraph 行不行?

步内可以跨天审批、定时器、多系统回调应用 Workflow 引擎。否则自研调度 ≈ 重写 Temporal。

Q2 · Activity 里 LLM 调用 90s 怎么办?

startToCloseTimeout> P99;环内 streaming;超长则拆 Activity或异步回调 Pattern。

Q3 · Temporal 与 Kafka?

:Kafka事件通知;Temporal状态机与重试。Agent 侧「任务完成」可发 Kafka,编排不交给 Kafka 消费组随意重试

Q4 · Python Agent + Java Workflow?

:常见:Java Temporal Worker+Python Agent gRPC Activity(见 05-python-agent §集成)。契约:protobuf +release_id

Q5 · 何时用 Spring Statemachine 代替 Temporal?

单服务、无跨天、团队无 Temporal 运维时 Statemachine 够用;多服务、审计、定时器选 Temporal。

4.3 与03 Supervisor 组合

模式TemporalSupervisor
跨服务退款审批Workflow 主Activity 内单次runAgentPlan
同 JVM 多 Worker 争用不推荐EventBus + Supervisor
定时催办Workflow Timer

原则Supervisor 不解跨天;跨天用 Workflow 等 Signal。

4.4 部署拓扑(白板)

4.5 测试策略

测什么
WorkflowTemporal Test Workflow Environment(时间跳跃)
ActivityMock Agent;断言幂等键
AgentGolden trajectory(10)

4.6 容量与 SLO

指标建议
Workflow 并发按审批人数量与峰值单量估算;与 Agent GPU 分开扩容
Activity 超时LLM P99 × 1.5 + tool 链
History 保留合规域 ≥1 年;与审计系统对接
Worker 版本release_id联动;Workflow.getVersion做兼容

4.7 常见追问速答


§8 决策速查表(面试翻牌)

症状首选
用户等 3 天审批Temporal + Signal
单会话 20 步工具环LangGraph checkpoint
每晚批处理 10 万单Temporal + 队列
仅 JVM 内 2h 流程Spring Statemachine 03
跨服务补偿Temporal Saga

§9 与 Registry / Eval 联动

Activity 入参必须带release_id(11)。Workflow 升级用Workflow.getVersion()禁止Activity 内隐式读「最新 prompt」。

发布前:Golden 含长流程用例(审批超时、Signal 恢复)→ eval/golden 扩展。


§10 白板 45min 脚本

画/说
决策树§1.2
两平面Workflow History vs Checkpoint
退款序列§2.3 Java 示意
Signal HITL§2.4
STAR§4.1

5. 面试前 Checklist


6. 导航

关联路径
Java 编排03-Java-Agent编排
LangGraph04-Agent框架
Playbook 可靠性13 §9.4
Registry11-Registry
参考架构27
96 Catalog96 §2.5 RUN_*

官方文档与源码(一级依据)

写作规范:docs/official-sources-registry.md §0

L1 · 官方文档

L2 · 官方源码

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 2:20:17

【人工智能】Gemini回复:“Cherry studio跟Monica 选一个,你选谁?理由是?”

我会毫不犹豫地选择 Cherry Studio,主要理由是它在本地化运行、模型自由度、数据隐私以及多Agent工作流上有着压倒性的优势,特别适合追求高生产力、硬核且注重隐私的重度AI用户。 以下是它们的核心对比与详细选择理由: 1. 为什么选 Cherry Studio?(高生产力、重隐私) 模…

作者头像 李华
网站建设 2026/6/10 2:19:11

B站API开发实战指南:如何快速构建个性化B站应用

B站API开发实战指南:如何快速构建个性化B站应用 【免费下载链接】bilibili-api B站API收集整理及开发,不再维护 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-api 想要开发基于B站平台的个性化应用?这个开源项目为你提供了…

作者头像 李华
网站建设 2026/6/10 2:17:01

Windows系统dxdiagn.dll文件丢失找不到问题解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/6/10 2:15:24

全面解析 VidDown:一个免费、本地化的在线工具站

全面解析 VidDown:一个免费、本地化的在线工具站 从去年开始业余维护 VidDown,最初只是为了方便自己下载公开视频和格式化 JSON。随着功能越加越多,就做成了一个公开的工具站。本文客观介绍 VidDown 目前提供哪些功能、如何保护隐私&#xff…

作者头像 李华