上一篇讲了为什么 Agent 需要图。这一篇落到图的具体结构——StateGraph 的五要素。
StateGraph 是 LangGraph 里「一张图」的正式名称。它由五个要素构成:State、Node、Edge、Reducer、Super-step。把这五个认全,你看任何一张 LangGraph 图都不会懵。后面几篇会逐个深入,这一篇先给你一张全景图。
五要素全景
| 要素 | 一句话 | 类比 |
|---|---|---|
| State | 在节点间流转的数据 | 请求上下文 |
| Node | 一个处理步骤 | 处理器/函数 |
| Edge | 节点间的连线,决定下一步 | 路由 |
| Reducer | 定义 state 字段怎么合并 | merge 策略 |
| Super-step | 图的推进节奏(一步步走) | 循环的每一轮 |
下面逐个快速过一遍,建立初步认识。后面几篇每个都会单独深讲。
State:图的血液
State 是在节点间流转的数据。一个 Agent 跑起来,它的「记忆」和「上下文」都装在 state 里。
典型的 state 长这样:一个消息列表(对话历史)加上一些业务字段(比如当前任务、已检索到的资料)。
State 是图的「血液」——每个节点读它、改它,改完传给下一个节点。下一篇(10)会专门讲 state 怎么定义、有哪些字段。
Node:图的骨架
Node 是一个处理步骤,本质是一个函数:接收当前 state,做点事,返回 state 的更新。
每个 node 干一件事:调模型、检索文档、执行工具、做判断。Agent 的所有「思考」和「动作」,都发生在 node 里。
一个图通常有多个 node,每个 node 职责单一——这和写函数一样,一个 node 干一件事,好维护。
Edge:图的路
Edge 是节点间的连线,决定「下一步去哪个节点」。上一篇讲过,连线有三种:无条件、条件、循环。
Edge 是图区别于直线的核心——因为连线灵活,才能表达分支和循环。第 12 篇会专门讲条件 edge 怎么做动态路由。
Reducer:合并的规则
Reducer 是最容易被忽略、却最关键的要素。它定义「一个 state 字段,多个节点都改它时,怎么合并」。
典型例子是消息列表:多个节点都会往里加消息。是覆盖(后写的顶掉前写的)还是追加(累加进去)?这由 reducer 决定。消息列表默认是追加,所以多个节点都能往里加而不互相覆盖。
Reducer 不搞清楚,多 Agent 协作时会出现「消息莫名丢失」「状态被意外覆盖」的诡异 bug。第 13 篇专门讲它。
Super-step:图的节拍
Super-step 是图的推进节奏。LangGraph 不是「一口气跑完」,而是按步推进:每个 super-step 里,该执行的节点执行,执行完把 state 存一下,再进下一个 super-step。
这个「逐步推进 + 每步存档」的设计,是后面 checkpoint(持久化)和 interrupt(中断)能成立的基础——第 14、15 篇会展开。
五要素怎么协作
跑起来时,五要素是这样协作的:
- State 装着当前数据
- 进入一个 Super-step
- 当前该跑的 Node 执行,读取 state、产出更新
- 更新按 Reducer 规则合并进 state
- Edge 决定下一个 super-step 去哪个 node
- 重复,直到没有下一个 node(结束)
记住这个循环,整个 LangGraph 的运转机制就通了。
收束:五要素是 Phase 2 的地图
这一篇给了 StateGraph 五要素的全景:
- State 流转的数据
- Node 处理步骤
- Edge 节点间连线
- Reducer 合并规则
- Super-step 推进节拍
接下来几篇会逐个深入:10 讲 State,11 讲 Node 与 Edge,12 讲条件 Edge,13 讲 Reducer,14 讲 Super-step 与 Checkpoint。把它们一个个吃透,你就真正掌握了 LangGraph。
关于十三Tech
我是十三,All in AI Agent 方向的架构师,专注 AI 工程实践。我相信 AI 是程序员的最佳搭档。
如果你想跟完这套「图解 LangChain」,欢迎关注公众号 「十三Tech」。全系列 42 篇,会按认识基础、LangGraph 状态机、Agent 与 middleware、RAG 检索、Tools/MCP/记忆、生产化收束这条线更新。

