AgentDepthAgent 工程学习指南
输入概念或问题,检索正文和待编写目录。
第一次学习?从 L0 总览开始 →

L4 总览:组织能暂停、恢复的工作流

我的学习 →

正在读取学习记录…

工作流是一组有顺序、有条件的操作。例如客服处理退款:读取订单,核对退款条件,等待主管确认,再执行退款。每一步都有输入和结果,下一步根据结果继续。把步骤明确写进程序,就能回答“现在到哪一步了”“接下来做什么”。

L3 已经让 Agent 根据观察决定下一步。L4 把一整个任务组织起来:同时查两份资料时如何汇总,进程退出后如何继续,工具超时后怎样处理,以及等待人工确认时把状态保存到哪里。模型可以生成建议,程序安排步骤、保存进度。

用一次退款区分这两层:L3关注“读到订单后,下一步该查退货记录还是询问客户”;L4关注“订单和退货记录都查完后再生成草稿,草稿批准后才能提交退款,明天回来还能从等待审批的位置继续”。前者决定下一步动作,后者把这些动作放进一条有顺序、能保存进度的流程。

只有一项查询时,一个函数就很直观。步骤增加后,程序需要记住已完成什么、哪些结果还没回来、是否正在等人。工作流把这些安排集中写清楚,客服查看任务时就能知道它卡在哪一步。

用一份退款流程认识各个角色

假设客户留言:“订单已退货,请帮我退款。”程序先读取订单与退货记录,整理成退款草稿,再交给主管确认。主管批准后,退款服务接收一个稳定的业务编号,完成操作并返回退款单号。

订单与退货记录并行读取后汇总,草稿保存为检查点,等待主管确认,批准后提交退款并核对结果;取消进入结束状态
先看两条查询如何汇合,再看“等待确认”这段暂停。恢复时读取保存的草稿和批准内容,继续同一笔操作。
名词白话含义流程中的例子
节点做一项具体工作的函数读取订单、生成草稿
状态程序现在掌握的数据和进度草稿金额、是否批准、下一步位置
事件已经发生的一次变化“草稿已保存”“主管已批准”
检查点保存下来的某一时刻的状态金额已核对,接下来等待批准

可以把状态想成办事进度卡,把事件想成盖章记录。进度卡方便知道现在在哪里,记录方便追查怎样走到这里。内存里的变量随进程结束消失;写入文件或数据库后,另一进程才有机会取回它。

按这条路线学习十二个知识点

前四篇先把任务组织好,中间四篇处理执行与人工等待,最后四篇处理规模增加后的故障。

顺序与文章演示中会看到什么接着解决什么
1. 显式图、状态机与条件边流程根据状态走不同分支把下一步写明确
2. 并发、子图与结果汇聚两项工作各自产生结果,再统一收集同时做事时怎样合并
3. 检查点与持久状态前一个进程保存进度,后一个进程继续让任务跨越进程重启
4. 事件溯源与确定性重放从事件记录重新算出当前状态追查和恢复过程
5. 重试、退避与熔断暂时失败后重试,连续失败后暂停访问给恢复动作设置节奏
6. 幂等、补偿事务与重复投递重复请求复用已有结果,部分完成后撤销影响处理已经发生的操作
7. 人工审批、暂停与恢复保存待确认内容,批准同一份内容后继续把人接进流程
8. 任务队列与背压任务排队,队列满时返回忙碌,调用方稍后再提交控制进来的工作量
9. 异步任务、取消与断点续跑取消后清理资源,恢复已保存进度处理持续运行的任务
10. 乱序、部分失败与一致性识别旧版本结果,分别保存成功和失败接受多个执行者的结果
11. 数据库、缓存与对象存储不同数据有各自存放位置,缓存失效后重建保存结果与大文件
12. 降级与故障恢复主服务失败时使用有来源的替代结果尽量保持服务可用

每篇先照着文件和命令运行,再对照结果读代码。演示使用固定输入,分支已经安排好;先感受数据怎样变化,再展开文末习题。

顺着一次超时看懂恢复

退款服务已经收到操作,但回复在路上丢失了。程序先用业务编号查询原操作:查到退款单就保存结果;服务支持同一编号去重时,可以按契约再次提交;需要额外核实的情况保存为待核对,交给人工。

机制保存或控制什么本例中的作用
检查点执行进度和中间数据记住已经获得批准、正在提交退款
幂等编号一次业务操作的身份让重复提交对应同一笔退款
重试预算尝试次数和等待时间临时故障后再试,达到上限停止
人工核对暂时无法自动确认的结果查清是否已退款,再决定后续动作

恢复时,先读取状态,再处理尚未确认的操作。这样能具体定位从哪里继续,也便于向客服说明进度。LangGraph 持久化文档介绍了检查点与长期存储的不同用途;Temporal 工作流文档可以帮助继续了解持久工作流的执行方式。

把这些机制用在自己的 Agent 中

简单的查天气通常一两步就结束。生成日报、批量处理资料、经过主管审批的退款,持续时间更长:工作会积压,部分查询会失败,用户也可能中途取消。先画出正常步骤,再为等待、失败和取消加出口;每增加一个出口,写清保存的数据与继续条件。

卡住的位置查看哪些记录如何继续
等待审批待确认内容、版本与审批人确认批准是否匹配当前内容
查询超时请求编号、已确认结果、尝试次数查状态或按服务契约有限重试
恢复后重复执行下一步位置、已完成记录从尚未完成的步骤继续
队列持续增长入队速度、执行速度、容量限制接收量并处理积压
课后练习展开习题收起习题
  1. 用自己的话说明节点、状态、事件和检查点的区别。
  2. 一笔退款回复丢失时,哪些记录可以帮助确认结果?
  3. 将正常退款步骤画出来,再加入取消出口。

从显式图、状态机与条件边开始。L4 保存执行过程;接下来的L5继续组织任务所用的资料、上下文和记忆。

图片查看器
100%

文章配图 · 按 Esc 关闭