Skip to content

词汇表与资料

源码版本1.2.9

核心术语

术语英文说明
状态图StateGraph用户构建入口,add_node / add_edge / add_conditional_edges / compilelibs/langgraph/langgraph/graph/state.py
编译图CompiledGraph / PregelStateGraph.compile() 的产物,实现 PregelProtocol,承载 stream / invoke / astream 入口。libs/langgraph/langgraph/pregel/main.py
Pregel 执行体Pregel编译后的可执行图,继承 PregelProtocol,持有 nodes / channels / checkpointerlibs/langgraph/langgraph/pregel/main.py
超步superstepPregel 模型的执行单位,一个超步内并发执行被触发的所有节点,步边界同步通道更新;借鉴自 Google Pregel 论文的 BSP 模型。
通道channel状态更新原语,每个通道有版本号,reducer 决定如何合并写入。libs/langgraph/langgraph/channels/
通道基类BaseChannel所有通道的抽象基类,定义 update / get / checkpoint 等接口。libs/langgraph/langgraph/channels/base.py
LastValue 通道LastValue只保留最新值的通道,常用于状态字段;LastValueAfterFinish 延迟到步结束才更新。libs/langgraph/langgraph/channels/last_value.py
归约器reducer通道合并写入的函数,如 operator.add 用于列表追加;通过 Annotated[T, reducer] 在 state schema 里声明。
节点node / PregelNode图的执行单元,持 bound / triggers / writers / subgraphslibs/langgraph/langgraph/pregel/_read.py
加节点add_nodeStateGraph.add_node(name, action) 注册节点函数或 Runnable,内部走 coerce_to_runnablelibs/langgraph/langgraph/graph/state.py
条件边add_conditional_edges按条件函数返回值路由到下一节点,返回 Send 列表实现扇出。libs/langgraph/langgraph/graph/state.py
检查点checkpoint线程级持久化快照,记录通道版本、pending writes、metadata,支持断点续跑。libs/langgraph/langgraph/pregel/_checkpoint.py
检查点保存器BaseCheckpointSaver检查点持久化接口,put / get_tuple / listlibs/checkpoint/langgraph/checkpoint/base/__init__.py
内存保存器InMemorySaver / MemorySaverBaseCheckpointSaver 的内存实现,仅用于调试;MemorySaverInMemorySaver 的旧别名。libs/checkpoint/langgraph/checkpoint/memory/__init__.py
状态快照StateSnapshot步开始时的状态视图,含 values / next / tasks / interruptslibs/langgraph/langgraph/types.py
中断interrupt / Interrupt节点内 interrupt(value)GraphInterrupt 暂停图执行,客户端用 Command(resume=...) 恢复。libs/langgraph/langgraph/types.py
命令Commandresume / goto / update 三合一原语,既可作节点返回值也可作 invoke 输入。libs/langgraph/langgraph/types.py
投递SendPUSH 任务原语,向指定节点投递带特定 arg 的任务,实现 map-reduce 扇出。libs/langgraph/langgraph/types.py
功能 API@entrypoint / @task函数式 API,@entrypoint 把函数包成 Pregel,@task 包成可调度的子任务。libs/langgraph/langgraph/func/__init__.py
流模式stream_modePregel.stream / astream 的输出投影选项:values / updates / messages / custom / checkpoints / tasks / debuglibs/langgraph/langgraph/pregel/main.py

目录约定

  • 主源码在 libs/langgraph/langgraph/,按职责分目录:
    • pregel/ — 执行引擎内核。main.pyPregel 类入口,__init__.py 导出公共接口,_loop.pyPregelLoop 状态机,_runner.pyPregelRunner 并发执行器,_algo.pyapply_writes / prepare_next_tasks / should_interrupt 等算法函数,_io.pymap_command / map_input / map_output_*,_call.pySyncAsyncFuture 和 task 的 Runnable 包装,_read.pyPregelNode,_executor.pyBackgroundExecutor / AsyncBackgroundExecutor,remote.pyRemoteGraph
    • graph/StateGraph / CompiledStateGraph 用户接口,state.py 是核心,_node.py / _branch.py 是辅助。
    • channels/BaseChannel / LastValue / Topic / Binop 等通道实现。
    • func/@entrypoint / @task 函数式 API(实际全部在 func/__init__.py 一个文件)。
    • types.pyCommand / Send / Interrupt / StateSnapshot / PregelExecutableTask 等公共数据类型。
    • stream/GraphRunStream / StreamMux 等流式 mux 实现。
    • managed/IsLastStep 等运行时注入值。
  • 检查点实现拆成独立包:libs/checkpoint/(base + memory)、libs/checkpoint-sqlite/libs/checkpoint-postgres/
  • Pregel 引擎入口在 libs/langgraph/langgraph/pregel/__init__.py,主类 Pregelpregel/main.py

官方资料

源码版本

本站源码版本钉定 1.2.9,行号以该 tag 为准。所有 <SrcLink> 指向 github.com/langchain-ai/langgraph/blob/1.2.9/<path>#Lxx-Lyy。升版本改 docs/.vitepress/site.tsLANGGRAPH_TAG 再跑 npm run check:refs