Agent 回退机制

文章目录

一、什么时候触发回退

需要回退(逻辑/决策错误)

  • LLM 工具参数生成错误
  • 任务拆解不合理、顺序错乱
  • 理解用户意图跑偏、答非所问
  • 输出格式不合法(要求 JSON 乱输出)
  • 幻觉严重、结论明显错误
  • 分支路由选错、进错业务流程
  • 工具返回结果逻辑矛盾、无效数据
  • 用户明确否定结果,要求重新来

不需要回退(只做原地重试)

  • 接口超时、网络波动
  • 临时服务宕机
  • 简单调用异常
    这类只原地重试,不回退流程节点。

二、回退几步

  1. 回退 1 步(最常用)

    退到上一个决策节点,适合:参数错、选工具错、路由选错、格式错误。

  2. 回退到指定关键节点

    不一步步退,直接跳回:

  • 意图识别节点
  • 任务拆解节点
  • 流程分支入口节点
    适合:整体方向跑偏、任务走死胡同、完全理解错用户意图。
  1. 步数限制
    全局最多允许回退 2~3 次,防止死循环;超过次数直接终止流程。

三、回退干什么

  1. 回滚状态
    恢复上一步 State 快照,清空错误临时变量、脏数据。
  2. 重新思考
    退回决策节点,让 LLM 重新理解、重新拆任务、重新生成参数。
  3. 重新走流程
    用正确状态重新往下流转,抛弃错误路径。
  4. 不破坏记忆
    只回退流程临时状态不回退会话短期记忆、用户长期记忆,聊天上下文不丢失。

四、怎么实现回退(工程落地步骤)

1. State 增加回溯字段

在 LangGraph State 里固定加:

  • step_history:每一步节点 + 状态快照列表
  • current_step:当前步数
  • revert_step:要回退到第几步
  • retry_count:回退次数限制
  1. 采用两个平行列表,下标一一对应
  • node_path:记录走过的节点名称轨迹

  • snapshot_list:记录每一步对应 State 快照轨迹

    node_path = [节点A, 节点B, 节点C]
    snapshot_list = [快照A, 快照B, 快照C]

  1. 核心规则
  • 两个列表严格同步追加
  • 只末尾追加,不修改、不覆盖、不删除历史
  • 历史快照一旦存入,永久封存

2、快照保存时机

只在刚进入新节点瞬间保存一次

  1. 进入节点A → 追加节点A、追加快照A
  2. 进入节点B → 追加节点B、追加快照B
  3. 进入节点C → 追加节点C、追加快照C

正常流程往下执行时:

  • 只修改当前业务 State
  • 绝不改动 node_path、snapshot_list 历史数据

3、为什么不能更新/覆盖旧快照

如果正常流程里刷新、覆盖旧快照:

后续回退 2 步、3 步时,取出的已经不是当时原始状态 ,回退失效、逻辑错乱。

所以原则:历史快照只封存,不许覆写

4、回退怎么实现(完整流程)

  1. 节点执行出错/结果不合法
  2. 根据想回退步数,从列表按下标 取目标:
    • 回退1步:取倒数第2个节点 + 对应快照
    • 回退2步:取倒数第3个节点 + 对应快照
  3. 用历史原始快照覆盖当前 State
  4. 截断 node_pathsnapshot_list 到目标位置
  5. 通过全局路由,跳转到目标节点重新执行

5、关键总结

  1. 快照是列表结构,全程只追加不覆写
  2. 进节点才存快照,正常流程不碰历史数据
  3. 节点路径和快照列表下标一一绑定
  4. 回退靠列表下标取历史快照,复原状态
  5. 靠全局路由实现自动跳回目标节点,无需每个节点单独配置
相关推荐
Zentceh14 小时前
AI-ISP vs 传统ISP全面对比
人工智能·深度学习·计算机视觉·车载系统·transformer·无人机·智能硬件
tyler_download1 天前
揉扁搓圆transformer架构:NAG优化器算法详解
深度学习·算法·transformer
tiger8652 天前
深入理解状态空间模型 (SSM):RNN 与 Transformer 的优雅融合
人工智能·gpt·rnn·神经网络·自然语言处理·transformer·语音识别
大江东去浪淘尽千古风流人物2 天前
【Patch Policy】稠密视觉表示驱动的轻量级机器人策略深度解析
机器人·transformer·具身智能·机器人学习·视觉表示·patch policy
孙启超2 天前
【AI开发之Rust】第 3 课:字符串与复合类型 —— 数据怎么放
开发语言·人工智能·后端·rust·llm·transformer
June bug3 天前
【HCIA- AI(正课)】2.6.Transformer架构和Diffusion结构介绍
人工智能·深度学习·transformer
richard_first4 天前
Transformer与大语言模型:第18章 向量数据库
数据库·人工智能·自然语言处理·transformer·embedding
程序猿编码4 天前
LLM 技术迁移音频领域:基于 GGML 搭建 Roformer,端侧音乐人声分离实现详解
c++·llm·音视频·transformer·模型推理·ggml
程序猿编码5 天前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer