惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
量子位
美团技术团队
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
博客园 - 司徒正美
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
C
Check Point Blog
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
月光博客
月光博客

博客园 - 若-飞

电商订单为什么要存「交易快照」 Git Submodule Sync 完整技术文档 企业AI Agent落地的核心逻辑与路径 基于langchain,Function Call的成功率怎么解决? RAG 设计:Embedding 如何切分 AI 客服系统设计:RAG 知识库设计 Go 百万连接服务器设计:从网卡到业务的全链路解析 深度解析 sync.Pool:从设计哲学到生产实践 Goroutine 泄漏:原因、检测与防范 Go Channel 关闭与超时机制完全指南 Go Map 无限增长问题解决方案 LangChain 聊天记录压缩:原理、机制与实战 揭开 sklearn 文本分类的核心原理:从词袋到逻辑回归 大模型“胡说八道”怎么办?一张图读懂检测、评估与修复全方案 企业级AI知识库权限隔离设计:让AI“懂规矩”比“懂知识”更重要 RAG系统设计全解析:从架构到多模态的核心知识图谱 RAG召回率提升全攻略:7大核心方法让检索更精准 RAG召回率提升秘籍:Metadata过滤的底层原理与实践 构建更好的RAG系统:深入理解混合搜索 一文搞懂 RAG 中 Retriever 和 Reranker 的区别 一文搞懂 RAG 的召回率(Recall)是什么? LangChain / LangGraph、MCP、Harness Engineer 与 Claude Code 的对应关系 Agent Harness 技术笔记:从 Trajectory 到 Function Calling Loop BLEU 是什么?——从原理到工程实践 一文讲清:Approve / Permit / Permit2 的本质区别 分库分表后跨分页查询的完整方案 ai如何处理私有数据 ai幻觉是啥,以及如何解决 别再让大模型“凭空瞎猜”了!带你认识AI最强外挂:ChromaDB 用 useQuery 管请求:TanStack React Query 入门小结
LangChain Checkpoint(检查点)是什么?—— Agent 的"存档机制"
若-飞 · 2026-07-13 · via 博客园 - 若-飞

很多人在学习 LangChain 或 LangGraph 时,都会看到 Checkpoint(检查点)

第一次看到,很容易理解成:

"是不是就是保存聊天记录?"

实际上,并不是。

Checkpoint 保存的不是简单的聊天内容,而是:

Agent 在某一时刻的完整运行状态(State)。

可以把它理解成:

游戏存档(Save Game)

而不是聊天记录。


一、为什么需要 Checkpoint?

假设一个 AI Agent 正在执行一个复杂任务。

例如:

用户:

帮我分析今年销售数据,
然后生成 PPT,
最后发邮件给老板。

Agent 开始执行:

Step1

读取数据库

√

-----------------

Step2

分析数据

√

-----------------

Step3

生成图表

√

-----------------

Step4

生成PPT

√

-----------------

Step5

发送邮件

×(失败)

如果没有 Checkpoint。

下一次只能:

重新开始

整个流程全部执行。

而有了 Checkpoint。

可以:

恢复到

Step4

继续执行。

这就是 Checkpoint 最大的作用。


二、Checkpoint 保存什么?

很多人误认为:

Checkpoint 就是:

聊天记录

实际上远不止这些。

一般会保存:

State

├── Messages
├── Tool Calls
├── Tool Results
├── Variables
├── Next Node
├── Graph State
├── Context
└── Metadata

例如:

Agent

↓

调用Tool

↓

Tool返回

↓

LLM继续思考

Checkpoint 会记录:

Tool 已经调用过

不用重复调用

三、Checkpoint 更像什么?

更准确来说:

Checkpoint 更像:

CPU

↓

寄存器

+

内存快照

或者:

游戏存档

而不是:

聊天历史

聊天记录只是其中一部分。


四、一个 Checkpoint 示例

假设:

用户:

帮我查询订单123456,
如果未发货就申请退款。

Agent:

Step1

Query Order

↓

返回

未发货

Checkpoint:

可能类似:

{
    "messages":[...],

    "current_node":"refund",

    "tool_calls":[
        "query_order"
    ],

    "tool_result":{
        "status":"未发货"
    }
}

然后继续:

Refund Tool

如果程序崩了。

恢复:

不用重新查订单。

直接:

Refund

五、LangGraph 中 Checkpoint 的作用

LangGraph 本质就是:

Graph

Node

↓

Node

↓

Node

Checkpoint 保存:

Graph 当前执行到哪。

例如:

Node1

↓

Node2

↓

Node3

↓

Node4

Checkpoint:

current_node

Node3

恢复:

直接:

Node3

↓

Node4

六、Checkpoint 保存的是"Agent State"

LangGraph 官方一直强调:

Checkpoint 保存的是:

State

例如:

State

{

messages,

documents,

summary,

tool_results,

user_profile,

current_step

}

不是:

聊天内容

而是:

整个 Agent 的状态。


七、人能看懂吗?

答案:

能看,但通常不建议直接阅读。

Checkpoint 本质通常是:

{
    "messages":[...],
    "tool_calls":[...],
    "graph_state":{...},
    "next":"agent",
    "metadata":{...}
}

虽然是 JSON。

但是:

几百KB

甚至几MB

里面:

  • Message

  • Tool

  • State

  • Context

全部混在一起。

开发人员可以调试。

普通人基本不会直接阅读。

所以:

Checkpoint 更适合程序恢复,而不是人工查看。


八、Checkpoint 与 Memory 的区别

很多人容易混淆:

Memory

Checkpoint

实际上完全不是一个东西。

Memory Checkpoint
长期记忆 当前状态
保存用户信息 保存 Agent 状态
可以跨很多天 一次任务生命周期
用户画像 Graph 执行状态
AI 知识 AI 运行现场

举例:

Memory:

用户:

我喜欢苹果手机。

保存:

Preference

以后还能用。

Checkpoint:

当前执行到了:

Tool3

任务结束。

Checkpoint 可以删除。


九、什么时候需要 Checkpoint?

适用于:

长流程Agent

Workflow

审批系统

Research Agent

Coding Agent

客服工单

自动化流程

多Agent协作

例如:

AI招聘

↓

读取简历

↓

评分

↓

生成报告

↓

发送邮件

如果:

发送邮件失败

恢复:

不用重新评分。


十、Checkpoint 存在哪里?

LangGraph 已经支持多种 Checkpointer。

例如:

MemorySaver

开发环境:

内存

生产环境:

SQLite

Redis

Postgres

MongoDB

都可以。

本质就是:

保存:

State Snapshot

十一、Checkpoint 生命周期

开始任务

      │

      ▼

Checkpoint1

      │

      ▼

Checkpoint2

      │

      ▼

Checkpoint3

      │

      ▼

任务完成

      │

      ▼

删除(可选)

也可以一直保存。

方便:

Replay。


十二、总结

LangChain / LangGraph 中的 Checkpoint,本质上是一种 Agent 状态快照(State Snapshot),而不是聊天记录。

它记录的是 Agent 在某一时刻的执行现场,包括消息、工具调用结果、当前节点、变量、上下文等信息,使 Agent 能够在程序中断、任务暂停或人工介入后,从之前的位置继续执行,而无需重新开始。

概念 作用
Chat History 保存聊天内容
Memory 保存长期记忆、用户画像、历史偏好
Checkpoint 保存 Agent 当前执行状态
State Agent 当前所有运行数据
Snapshot 某一时刻 State 的完整快照

可以用一句话概括:

Memory 解决的是"AI 记住了什么",Checkpoint 解决的是"AI 当前执行到了哪里"。

因此,可以把 Checkpoint 理解为 Agent 能读懂的运行状态快照。它主要服务于程序恢复、任务续跑、工作流调试和多 Agent 协作,而不是为了让人阅读或理解。

补充一点容易混淆的概念,也是很多面试会问的:

  • State(状态):当前内存中的运行状态,是"活的"。

  • Checkpoint(检查点):某一时刻 State 的持久化快照(Snapshot)。

  • Memory(记忆):跨多个任务长期保留的信息,如用户画像、偏好、历史摘要等。

三者关系可以理解为:

Agent Running
      │
      ▼
Current State(运行中的状态)
      │
      ├── 写入 Checkpoint(保存现场,可恢复)
      │
      └── 提炼部分信息写入 Memory(长期记忆,可跨任务)

这个区别是理解 LangGraph 状态管理体系的关键。