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 / checkpointer を保持。libs/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 / subgraphs を持つ。libs/langgraph/langgraph/pregel/_read.py
ノード追加add_nodeStateGraph.add_node(name, action) がノード関数または Runnable を登録。内部で coerce_to_runnable を経由。libs/langgraph/langgraph/graph/state.py
条件エッジadd_conditional_edges条件関数の戻り値で次ノードへルーティング。Send リストを返して fan-out も可能。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 / interrupts を含む。libs/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 fan-out を実現。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 / AsyncBackgroundExecutorremote.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 を実行してください。