Skip to content

Glosario y materiales

源码版本1.2.9

Términos clave

TérminoInglésDescripción
Grafo de estadosStateGraphEntrada de construcción del usuario: add_node / add_edge / add_conditional_edges / compile. libs/langgraph/langgraph/graph/state.py
Grafo compiladoCompiledGraph / PregelProducto de StateGraph.compile(); implementa PregelProtocol y alberga las entradas stream / invoke / astream. libs/langgraph/langgraph/pregel/main.py
Ejecutable PregelPregelGrafo ejecutable compilado; hereda de PregelProtocol y mantiene nodes / channels / checkpointer. libs/langgraph/langgraph/pregel/main.py
SuperpasosuperstepUnidad de ejecución del modelo Pregel; dentro de un superpaso se ejecutan en paralelo todos los nodos disparados y en la frontera del paso se sincronizan las actualizaciones de los canales; tomado del modelo BSP del paper de Google Pregel.
CanalchannelPrimitiva de actualización de estado; cada canal tiene un número de versión y un reducer decide cómo se fusionan las escrituras. libs/langgraph/langgraph/channels/
Clase base de canalBaseChannelClase base abstracta de todos los canales; define las interfaces update / get / checkpoint etc. libs/langgraph/langgraph/channels/base.py
Canal LastValueLastValueCanal que solo retiene el valor más reciente, usado habitualmente para campos de estado; LastValueAfterFinish retrasa la actualización al final del paso. libs/langgraph/langgraph/channels/last_value.py
ReductorreducerFunción que fusiona escrituras en un canal, p. ej. operator.add para appending en listas; se declara en el state schema mediante Annotated[T, reducer].
Nodonode / PregelNodeUnidad de ejecución del grafo; mantiene bound / triggers / writers / subgraphs. libs/langgraph/langgraph/pregel/_read.py
Añadir nodoadd_nodeStateGraph.add_node(name, action) registra una función de nodo o Runnable, internamente pasa por coerce_to_runnable. libs/langgraph/langgraph/graph/state.py
Borde condicionaladd_conditional_edgesDirige al siguiente nodo según el valor devuelto por una función condicional; devolviendo una lista de Send se implementa fan-out. libs/langgraph/langgraph/graph/state.py
Punto de controlcheckpointInstantánea persistente a nivel de hilo; registra versiones de canal, pending writes y metadata; permite reanudar desde un punto de ruptura. libs/langgraph/langgraph/pregel/_checkpoint.py
Persistidor de puntos de controlBaseCheckpointSaverInterfaz de persistencia de checkpoints: put / get_tuple / list. libs/checkpoint/langgraph/checkpoint/base/__init__.py
Persistidor en memoriaInMemorySaver / MemorySaverImplementación en memoria de BaseCheckpointSaver, solo para depuración; MemorySaver es el alias antiguo de InMemorySaver. libs/checkpoint/langgraph/checkpoint/memory/__init__.py
Instantánea de estadoStateSnapshotVista del estado al inicio del paso; contiene values / next / tasks / interrupts. libs/langgraph/langgraph/types.py
Interrupcióninterrupt / Interruptinterrupt(value) dentro de un nodo lanza GraphInterrupt y pausa la ejecución del grafo; el cliente usa Command(resume=...) para reanudar. libs/langgraph/langgraph/types.py
ComandoCommandPrimitiva triple resume / goto / update; puede usarse tanto como valor de retorno de un nodo como como entrada de invoke. libs/langgraph/langgraph/types.py
EnvíoSendPrimitiva PUSH de tareas: entrega a un nodo una tarea con un arg específico, para fan-out map-reduce. libs/langgraph/langgraph/types.py
API funcional@entrypoint / @taskAPI funcional: @entrypoint envuelve una función en un Pregel, @task la envuelve en una subtarea programable. libs/langgraph/langgraph/func/__init__.py
Modo de streamstream_modeOpción de proyección de salida de Pregel.stream / astream: values / updates / messages / custom / checkpoints / tasks / debug. libs/langgraph/langgraph/pregel/main.py

Convenciones de directorios

  • El código fuente principal está en libs/langgraph/langgraph/, organizado por responsabilidades:
    • pregel/ — núcleo del motor de ejecución. main.py es la entrada de la clase Pregel; __init__.py exporta la interfaz pública; _loop.py es la máquina de estados PregelLoop; _runner.py es el ejecutor paralelo PregelRunner; _algo.py contiene las funciones algorítmicas apply_writes / prepare_next_tasks / should_interrupt; _io.py contiene map_command / map_input / map_output_*; _call.py contiene SyncAsyncFuture y el envoltorio Runnable de task; _read.py es PregelNode; _executor.py contiene BackgroundExecutor / AsyncBackgroundExecutor; remote.py es RemoteGraph.
    • graph/ — interfaz de usuario StateGraph / CompiledStateGraph; state.py es el núcleo, _node.py / _branch.py son helpers.
    • channels/ — implementaciones de canal BaseChannel / LastValue / Topic / Binop.
    • func/ — API funcional @entrypoint / @task (todo en un único archivo func/__init__.py).
    • types.py — tipos de datos públicos Command / Send / Interrupt / StateSnapshot / PregelExecutableTask etc.
    • stream/ — implementación de mux de streaming GraphRunStream / StreamMux.
    • managed/ — valores inyectados en tiempo de ejecución como IsLastStep.
  • Las implementaciones de checkpoint se desglosan en paquetes independientes: libs/checkpoint/ (base + memory), libs/checkpoint-sqlite/, libs/checkpoint-postgres/.
  • La entrada del motor Pregel está en libs/langgraph/langgraph/pregel/__init__.py; la clase principal Pregel está en pregel/main.py.

Materiales oficiales

Versión del código fuente

Este sitio fija la versión 1.2.9 del código fuente; los números de línea se refieren a ese tag. Todos los <SrcLink> apuntan a github.com/langchain-ai/langgraph/blob/1.2.9/<path>#Lxx-Lyy. Para subir de versión, cambia LANGGRAPH_TAG en docs/.vitepress/site.ts y ejecuta npm run check:refs.