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_path 和 snapshot_list 到目标位置
  5. 通过全局路由,跳转到目标节点重新执行

5、关键总结

  1. 快照是列表结构,全程只追加不覆写
  2. 进节点才存快照,正常流程不碰历史数据
  3. 节点路径和快照列表下标一一绑定
  4. 回退靠列表下标取历史快照,复原状态
  5. 靠全局路由实现自动跳回目标节点,无需每个节点单独配置
相关推荐
啥都鼓捣的小yao1 天前
Vision Transformer(ViT)深入浅出
人工智能·深度学习·transformer
Jsundoku2 天前
第七章 深度学习 -- Transformer 架构
人工智能·深度学习·transformer·1024程序员节
陈 洪 伟3 天前
Transformer彻底剖析(9):归一化演进——BatchNorm、LayerNorm、RMSNorm、Post-LN / Pre-LN、DeepNorm
人工智能·深度学习·transformer
布吉岛的石头3 天前
Java 程序员第 50 阶段3:数据工程:预训练语料清洗与去重
java·开发语言·人工智能·深度学习·transformer
爱听歌的周童鞋3 天前
MIT 6.5940 | TinyML 与高效 AI 计算 | Fall 2026 | 笔记 | Lecture 12:Transformer and LLM
transformer·大语言模型·tinyml·mit 6.5940·高效 ai 计算
EDPJ3 天前
(2026|中科院自动化所,路由冗余,动态分配的价值在激进剪枝,多模态更脆弱)你只需要选定专家的 2/3:细粒度 MoE LLM 中的动态专家剪枝
transformer·剪枝·moe·混合专家模型
前端.火鸡4 天前
参数量、上下文窗口与模型规格怎么看
人工智能·深度学习·transformer
一只废狗狗狗狗狗狗狗狗狗4 天前
Transformer——一个sequence-to-sequence的model
人工智能·自然语言处理·transformer
QN1幻化引擎5 天前
信号场注意力(SFA):把 KV Cache 变成 O(1) 的双通道注意力——0.1B/0.3B 受控 A/B 精度反升 15.5% / 24.3%
pytorch·深度学习·大模型·transformer·注意力机制·推理优化
奋进小青5 天前
2026年CNN与Transformer融合的创新点思路
人工智能·cnn·transformer