Skip to content
Lumen × LangGraph × Kova

Lumen × LangGraph × Kova

目标:把一个 LangGraph Agent 的 Checkpointer 从 SqliteSaver 换成 LumenCheckpointer,部署到 Kova,观察崩溃恢复对比。

Before / After ​

Before — 纯 LangGraph

单机、无远程备份 · 跨进程需加锁 · 崩溃恢复毫秒级 · 无成本追踪。

After — Lumen + Kova

微秒级崩溃恢复(Kova WAL 引擎)· 原生多进程安全 · 自动 Trace + Cost · 远程持久化。

Before ​

python
from langgraph.checkpoint.sqlite import SqliteSaver

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

After ​

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()],
)

本地验证 ​

  1. 起本地 Kova

    bash
    docker run -d --name kova -p 9999:9999 ghcr.io/hanmahong5-arch/kova:latest
  2. 跑你的 Agent

    bash
    python my_agent.py
  3. 模拟崩溃

    bash
    kill -9 $(pgrep -f my_agent)
  4. 重启 — 从中断点继续

    bash
    python my_agent.py

部署到 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

崩溃恢复对比实验 ​

指标SqliteSaverLumen + Kova
恢复延迟8ms(单机)微秒级
多副本需额外加锁原生
跨机房手动复制异步复制内置
LLM 重调若 SQLite 写失败则重调永不重调
Trace无自动关联

微秒级恢复从哪来

Kova 引擎调度延迟低至 3μs(FIFO 完整管道 Criterion 基准 3.17μs、315K ops/s)。LumenCheckpointer 把 LangGraph 的 checkpoint 写入交给 Kova WAL —— 恢复走引擎级 WAL 重放而非 SQLite 文件级,因此是微秒级,远快于单机 SQLite 的毫秒级。

下一步 ​

下一步

Powered by Lurus Technologies