Skip to content
Lumen × LangGraph × Kova

Lumen × LangGraph × Kova

Objetivo: cambiar el Checkpointer de un Agent de LangGraph de SqliteSaver a LumenCheckpointer, desplegarlo en Kova y observar la comparación de la recuperación tras un fallo.

Antes / Después ​

Antes — LangGraph puro

Una sola máquina, sin copia de seguridad remota · Requiere bloqueo entre procesos · Recuperación tras fallo en milisegundos · Sin seguimiento de costes.

Después — Lumen + Kova

Recuperación tras fallo en microsegundos (motor WAL de Kova) · Seguridad multiproceso nativa · Trace + Cost automáticos · Persistencia remota.

Antes ​

python
from langgraph.checkpoint.sqlite import SqliteSaver

graph = wf.compile(checkpointer=SqliteSaver.from_conn_string("./state.db"))

Después ​

python
from lumen_ai import LumenCheckpointer, LumenTracer
from kova import KovaClient

kova = KovaClient("kova://prod-cluster")

graph = wf.compile(
    checkpointer=LumenCheckpointer(kova_client=kova),
    callbacks=[LumenTracer()],
)

Validación local ​

  1. Arrancar Kova en local

    bash
    docker run -d --name kova -p 9999:9999 ghcr.io/hanmahong5-arch/kova:latest
  2. Ejecutar tu Agent

    bash
    python my_agent.py
  3. Simular un fallo

    bash
    kill -9 $(pgrep -f my_agent)
  4. Reiniciar — continuar desde el punto de interrupción

    bash
    python my_agent.py

Desplegar en Kova ​

yaml
# agent.yaml
name: my-research-agent
entry: python my_agent.py
replicas: 3
checkpointer: lumen
wal:
  retention: 7d
bash
lumen deploy --target kova://prod-cluster

Experimento de comparación de recuperación tras un fallo ​

MétricaSqliteSaverLumen + Kova
Latencia de recuperación8 ms (una sola máquina)microsegundos
Múltiples réplicasRequiere bloqueo adicionalnativo
Entre centros de datosCopia manualreplicación asíncrona integrada
Rellamada al LLMSe rellama si falla la escritura en SQLitenunca se rellama
TraceNingunocorrelación automática

De dónde viene la recuperación en microsegundos

La latencia de planificación del motor Kova baja hasta los 3 μs (pipeline FIFO completo, benchmark de Criterion de 3,17 μs, 315K ops/s). LumenCheckpointer delega la escritura del checkpoint de LangGraph al WAL de Kova: la recuperación se realiza mediante la reproducción del WAL a nivel de motor en lugar de a nivel de archivo de SQLite, por lo que es de microsegundos, mucho más rápida que los milisegundos de SQLite en una sola máquina.

Siguientes pasos ​

Próximos pasos

Powered by Lurus Technologies