Agent 应用开发会员账号
知识目录选择核心方向与细分内容
知识单元 02进阶场景设计约 15 分钟

理解 → 实现 → 排错 → 取舍

确定流程与局部探索的组合

围绕确定流程、动态探索、检查点和人工审批,选择可恢复的编排结构。

LangGraph状态机工作流检查点

知识内容核对 2026-10-03 · 原题来源核对 2026-10-02

这个知识点,你想学到哪一步?

按当前基础选择起点,也可以依次深入。遇到不熟悉的概念,先回到核心原理;完成后用知识练习检查理解。

先理解

刚接触这个知识点

补齐先备概念,读原理与反例,再用自己的话解释为什么。

从核心原理开始 →

再实现

准备把原理写进代码

理解实现步骤与边界,完成小任务,对照验收要求检查结果。

阅读实现与取舍 →

会排错

需要处理故障与条件变化

沿连续追问定位失效前提,再比较迁移案例,说明方案应如何调整。

沿问题继续深入 →

能取舍

需要设计或评审方案

结合工程推演与资深自评标准,解释方案的适用条件、代价和替代选择。

分析工程场景 →
知识单元目录

LEARN · PRACTICE · REFLECT

知识学习与个人记录

我的笔记与复习 ↗

先沿着原理、问答和迁移案例阅读。需要检查理解时,再切换巩固练习或展开个人记录。

作答与个人记录

每次修改后的提交会保留为独立历史。掌握程度由你对照标准自评。

核心知识 · 确定流程与局部探索的组合

先理解核心原理

先备概念:状态机、数据契约、幂等执行

已知业务规则应决定允许走哪些路径,模型只在允许的范围中探索未知步骤。图提高流程可观察性,循环提供局部适应性;二者都不能替代外部写操作的幂等和版本验收。

先问“不确定发生在哪里”

订单退款的资格校验、批准和执行顺序由业务决定,排查一份资料为何矛盾则常要根据新证据继续查。前者适合明确状态迁移,后者适合受控循环。把所有不确定性都交模型,会把必须完成的校验变成可选建议;把每个搜索动作都画成图,则会把本来需要探索的任务锁死。

混合的接口需要稳定

外层图可以规定“取证—草稿—审核—发布”,取证节点内部允许多轮只读搜索。节点结束时交出证据 ID、覆盖缺口和输入版本,分支根据这些字段走,不能猜一段自然语言是否算通过。模型探索失败可以返回缺口,不应绕过外层审核。

图不是事务

检查点保存图状态,无法与邮件服务的发送原子提交。恢复可能再次进入节点,节点内副作用仍要去重。LangGraph 中断恢复从所在节点开头重跑,正是这个边界的具体例子。选型时画恢复点和外部动作位置,比比较框架名字更有用。

用一个问题检查理解

什么时候用状态图,什么时候用自主 Agent 循环?可以混合吗?

流程步骤和验收规则确定时,我优先用状态图;路径必须根据运行结果探索时,在受控节点里使用 Agent 循环。两者可以混合,例如外层固定执行检索、草稿、审核、发布,草稿节点允许模型多轮调用只读工具。图结构不自动提供业务幂等,持久化也不等于外部操作只执行一次。恢复时必须知道从哪里重放,并把写操作、审批和状态版本设计清楚。

实现与取舍

先分析变化来自哪里

如果步骤顺序由业务决定,例如资料入库、权限检查、生成草稿、人工审核,控制流程应显式建模。若下一步由证据决定,例如定位未知故障、搜索多种资料,模型需要探索空间。LangGraph 官方区分预定路径的工作流与动态决定动作的 Agent;工程上不必二选一。外层工作流承载合规和生命周期,节点内循环处理可变的研究过程,节点输出必须经过稳定的数据契约进入下一阶段。

图负责状态,循环负责局部决策

状态不要只是消息数组。至少包含任务标识、输入版本、当前阶段、证据引用、产物引用、预算与审批记录。节点读状态并返回变更,分支依据结构化值,避免从自然语言中猜“通过”还是“失败”。并行分支写同一字段时需要明确合并规则,例如按文档标识去重,而不是依赖到达顺序。对于确定的权限拒绝和预算耗尽,直接走明确终态;不让模型反复争取被禁止的动作。

恢复与审批的关键取舍

持久化检查点记录线程的运行状态,长期存储保存跨线程知识,二者用途不同。生产恢复使用持久化存储和稳定 thread_id;内存检查点只适合演示。LangGraph interrupt 会暂停并等待恢复输入,恢复时所在节点会重新执行,所以审批前的操作必须能安全重放,或拆到独立节点。审批应绑定产物版本或摘要,恢复后重新校验权限和数据版本,不能让旧审批批准随后变化的内容。外部写操作仍需要业务幂等键和结果查询。

如何证明选型正确

设计三类演练:一个节点异常后重启进程、审批等待期间修改产物、两个分支同时完成。检查已完成证据是否保留、审批是否失效、聚合结果是否稳定、外部副作用是否重复。再比较图节点数、调试成本和模型轮次。简单问答没必要拆成几十个节点;长期任务也不能只靠把对话存到数据库。能说清恢复点与故障边界,才是选型的依据。

工程推演

场景
假设工程场景:文章生产包含研究、撰写、核验、审核和发布,研究步骤可能反复搜索。
设计决策
采用外层状态图;研究节点允许有限循环,审核和发布是独立节点,并绑定草稿版本。
验证目标
预期行为:重启后继续等待审核;修改草稿会要求重新审核;研究失败保留已找到的来源。
适用边界
图框架只管理状态和调度;内容质量、审批有效性与发布幂等仍由业务实现。

连续追问与解答

沿着问题的前提和约束继续向下读。先理解参考解答,再尝试收起答案,用自己的话解释因果和取舍。

举一反三:条件变了,怎样推导?

先找出改变的条件,再判断原方案中哪些前提仍成立。下面的案例是教学推演,便于将原理迁移到新问题。

探索式故障定位

改变的条件:任务路径事先未知,下一步依赖观测

延伸问题:还需要外层图吗?

推导与参考解答

可以用很小的外层状态机管理运行、等待权限、结束与预算,内部 Agent 自主选择只读诊断工具。每次观测保存版本,写修复动作退出探索并进入明确批准与验收步骤。没必要为每种错误写固定路径,但仍要固定哪些动作能改变生产状态。

保持不变的原理:不确定的是探索路径,执行边界和终态仍可确定。

严格结算流程

改变的条件:路径基本固定,模型只负责解释

延伸问题:是否还要循环规划结算步骤?

推导与参考解答

不必。资格、金额与事务提交由确定程序完成,模型把已核验结果翻译成用户说明;信息缺失时返回固定状态。允许模型重排结算顺序会增加风险却无探索收益,只在无法结构化的材料解释处加入受限模型节点。

保持不变的原理:将模型放在真实需要判断的地方,业务规则留在可审查的控制流程中。

易错点

  • 认为采用状态图就获得 exactly-once 副作用
  • 用内存检查点声称支持生产进程恢复
  • 在分支条件里解析模型一句“已通过”

参考资料

依据公开技术资料设计;参考资料支持技术机制,场景与评分标准为本站设计,不代表某公司面试原题。 新增问答与迁移案例用于原理讲解,来源核查与案例运行验证分别记录。

检查自己理解到哪一步

读完后可以对照这些标准解释原理、边界和取舍。掌握程度由你自评;需要进一步验证时,再完成下方小任务。

基础达标
区分固定业务流程与开放探索任务。
中高级信号
能给出确定性状态图与局部自主循环混合的边界。
资深信号
按失败代价、可观测性和维护成本解释选型与退出条件。

动手验证 按需完成 · 建议 15 分钟

给报告生成流程选择固定步骤与自主探索步骤,并说明理由。

展开验收要求与检查点
  • 关键写动作有确定性控制
  • 探索有预算
  • 选择依据来自任务约束

重点检查

  • 按业务不确定性选择编排而非按框架热度选择
  • 能解释检查点、线程状态和长期记忆的区别
  • 识别节点恢复重跑与副作用重复的风险