IA Y AUTOMATIZACIÓN PRÁCTICA
LangGraph para flujos prácticos: estado, aprobación y recuperación
Crea un flujo ejecutable con LangGraph, estado explícito, aprobación humana, rutas y verificación; después añade recuperación duradera.

Crea un flujo ejecutable con LangGraph, estado explícito, aprobación humana, rutas y verificación; después añade recuperación duradera.
Paso 1: Decide si necesitas un grafo
Un script basta para tareas lineales. LangGraph sirve cuando hay estado, ramas, pausas y reanudación. Preparar, revisar, escribir y comprobar un informe exige controlar la ruta además de la respuesta del modelo.
Construiremos primero sin LLM, para inspeccionar el control sin coste de API. Después puedes sustituir preparación por un adaptador de Ollama o Codex, manteniendo revisión y comprobación.
La guía de Graph API explica estado, nodos y conexiones.
Paso 2: Crea un entorno Python aislado
Instala python3-venv si hace falta y activa un entorno en una carpeta nueva. Instala LangGraph, comprueba versión y conserva dependencias cuando funcione.
Consulta el quickstart oficial. Este informe no requiere LangSmith ni clave de proveedor.
Abre el ejemplo completo para copiar — example-01.txt
# Open full code above.Paso 3: Define estado y aprobación
El estado contiene nota, informe propuesto, aprobación y verificación. Ruta: START → prepare → approve → write → verify → END. Rechazo termina sin llegar a escritura.
interrupt pausa el grafo. Reanuda con Command(resume=...) y el mismo thread_id. Las escrituras van después de aprobación porque el nodo interrumpido puede ejecutarse de nuevo. Consulta interrupciones.
La ruta de salida es fija y reemplaza el informe anterior al aprobar. Usa la carpeta del laboratorio sin archivos importantes.
Paso 4: Ejecuta el flujo completo
Guarda como flow.py y ejecuta python flow.py. Responde primero n y en otra ejecución y. La primera termina sin escribir; la segunda guarda output/report.txt y compara su contenido exacto.
El checkpoint en memoria permite pausa y reanudación dentro del proceso. No sobrevive al salir. Es un ejemplo completo de enseñanza local.
Abre el ejemplo completo para copiar — flow.py
# Open full code above.Paso 5: Verifica ramas y añade el modelo
En carpeta nueva, rechazo no debe crear salida; aprobación debe coincidir con propuesta; nota vacía debe fallar antes de aprobación. Si había informe, rechazo lo conserva: comprobar solo existencia sería incorrecto.
Al añadir LLM, prepare devuelve el mismo campo tras validar tipo, tamaño y contenido. Mantén escritura determinista y documentos como datos. La afirmación del modelo no sustituye lectura de verificación.
En KVM puedes organizar observar → proponer → aprobar → operar → observar. Necesitas un adaptador probado: LangGraph no incluye driver GL-RM10 ni arregla coordenadas. Limita acciones y detén pantallas inesperadas.
Paso 6: Añade recuperación duradera y reintentos limitados
Para un servicio, sustituye InMemorySaver por almacenamiento duradero compatible y usa thread ID por tarea. Protege estado y define retención. Un checkpoint no garantiza efectos externos exactamente una vez. Consulta persistencia.
Reintenta lecturas transitorias con límite y espera. Antes de repetir escritura o acción, comprueba si ya ocurrió y usa idempotencia cuando exista. Un bucle sin parada puede duplicar mensajes o clics.
Registra ID, fuente, propuesta aprobada, paso, verificación y error. Empieza con un flujo que puedas explicar, rechazar y recuperar.
Observa el verbo japonés de aprobación y la partícula を que marca su objeto.
Continúa la serie
LangGraphで実用フロー:状態、承認、回復
手順1:グラフが必要か判断する
直線的な作業にはスクリプトで十分な場合があります。LangGraphは状態、分岐、一時停止、再開が必要な処理に役立ちます。レポートの準備、確認、保存、検証では、回答だけでなく経路が重要です。
まずLLMなしで作り、API費用をかけず制御を確認します。後で準備ノードをOllamaやCodexのアダプターへ置き換え、確認と検証の境界を維持できます。
Graph API概要では、状態、ノード、エッジを説明しています。ノードは処理、エッジは次の経路、状態は共有する情報です。
手順2:専用Python環境を作る
必要ならpython3-venvを入れ、新しいラボで仮想環境を作ります。LangGraphを導入して版を確認し、動作後に依存関係を保存します。
基本構成は公式クイックスタートを参照します。この例はLangSmithやモデル用APIキーを必要としません。
コピー可能な完全なコードを開く — example-01.txt
# Open full code above.手順3:状態と承認境界を決める
状態には入力メモ、提案レポート、承認、検証フラグを入れます。経路はSTART → prepare → approve → write → verify → ENDです。拒否は保存ノードへ行かずENDへ進みます。
interruptで停止し、同じthread_idのCommand(resume=...)で再開します。停止したノードは再開時に再実行される場合があるため、保存は承認後に置きます。中断と再開の仕様を確認してください。
出力先は固定のラボ用パスで、承認すると以前のレポートを置き換えます。大切なファイルがない専用フォルダーで試します。
手順4:確認と保存のフローを実行する
flow.pyとして保存し、python flow.pyを実行します。最初はn、次の実行ではyと答えます。拒否では保存せず、承認ではoutput/report.txtへ保存して内容を照合します。
メモリー内チェックポイントは同一プロセスでの停止と再開に使えます。終了後は残りません。これはローカル学習用の実装です。
# Open full code above.手順5:分岐を検証してモデルを追加する
新しいフォルダーで拒否時に出力がないこと、承認時に提案と一致すること、空メモが承認前に失敗することを確認します。既存レポートがある場合、拒否は変更しません。存在だけを検査するのは不十分です。
LLMを加えるならprepareから同じ状態フィールドへ提案を返し、型、長さ、内容を検査します。資料はデータとして扱い、保存は決定的な処理にします。モデルの成功宣言で検証ノードの読み取りを置き換えません。
KVMでは観察 → 1操作提案 → 承認 → 操作 → 再観察を構成できます。独自の検証済みブリッジが必要です。LangGraphはGL-RM10ドライバーを提供せず、座標の信頼性も保証しません。操作数を制限し、予期しない画面では停止します。
手順6:永続的な回復と上限付き再試行を加える
サービス化ではInMemorySaverを対応する永続ストアへ置き換え、作業ごとに固有thread IDを使います。状態を保護し保持期間を決めます。チェックポイントだけで外部操作の一度限り実行は保証できません。永続化ガイドを参照します。
一時的な読み取り失敗は回数と待ち時間を制限して再試行します。書き込みや操作の再試行前に、前回が実行済みか確認し、可能なら冪等性キーを使います。停止条件のないループはクリックや送信を重複させます。
作業ID、入力出典、承認提案、実行、検証、エラーを記録します。流暢な最終要約より事実を確認します。説明、拒否、回復ができる小さなフローから始めましょう。
利用者が操作を承認します。をは承認される操作を示します。
技術資料の確認日:2026年10月9日。コマンドとAPIは更新されることがあります。実行時に公式資料と利用中のバージョンを確認してください。
