checkpoint state node 这几个是 langchain的什么概念?
생성일: 2025년 11월 25일
생성일: 2025년 11월 25일
checkpoint state node 这几个是 langchain的什么概念?
下面我给你用 清晰直观 的方式解释 “checkpoint / state / node” 在 LangChain(尤其是 LangGraph 框架中)分别对应的概念,并给你举例说明它们如何协同工作。
在 LangGraph(LangChain 的图式工作流系统) 中,
Node 是工作流中一个“步骤(函数)”。
你可以把它理解为:
一个独立可执行的处理单元
(例如:调用LLM、查询数据库、解析用户输入、工具调用等)
pythondef generate_answer(state): response = llm.invoke(state["question"]) return {"answer": response}
这里 generate_answer 就是一个 Node。
📌 Node 的特点:
LangGraph 使用一个 全局共享的 “State 对象” 来记录对话和流程的所有数据。
你可以理解为:
在多个节点之间流动的一份字典(dict)
每个 Node 可以读取和修改它
python{ "question": "今天北京天气如何?", "analysis": "...", "answer": "今天天气晴朗..." }
📌 State 的特点:
TypedDict / StateGraph )LangGraph 允许你设置 Checkpoint(状态检查点),它会:
自动保存某个节点执行后的 State,
方便你之后恢复、回滚、继续运行流程。
类似游戏里的“存档”。
Agent 在执行到 tool call 时暂停,此时保存 checkpoint:
pythoncheckpoint = { "state": {...}, # 完整 state "node": "tool_call" }
| 名称 | 在 LangGraph 中的作用 | 类比 |
|---|---|---|
| Node | 一个具体的可执行步骤 | 函数 |
| State | 在所有节点之间流动的数据 | 全局上下文 |
| Checkpoint | 将某一步的 state 保存起来以便继续执行 | 游戏存档点 |
一个 LangGraph Agent 可能有 4 个节点:
textUser Input → 解析问题(Node A) → 思考(Node B) → 工具调用(Node C) → 生成回答(Node D)
运行时:
✅ 示例代码(StateGraph + Nodes + Checkpoints)
✅ 图解工作流(带 image_group)
✅ 如何在 LangChain 0.2+ 正确使用这些概念
✅ 如何开发自己的 Agent Graph
如果你愿意,我可以继续给你总结:
“这 3 个概念如何在 LangGraph 中组合成完整的 Agent 设计模式”?