Welcome to Kitaru
The runtime for production AI agents. Run, replay, improve.
Run, replay, improve
The replay loop
import kitaru
from kitaru import checkpoint, flow
@checkpoint
def research(topic: str) -> str:
return kitaru.llm(f"Summarize {topic} in two sentences.")
@checkpoint
def draft_report(summary: str) -> str:
return kitaru.llm(f"Write a short report based on: {summary}")
@flow
def research_agent(topic: str) -> str:
summary = research(topic)
return draft_report(summary)
if __name__ == "__main__":
# Run, then replay from a checkpoint with one input changed.
run = research_agent.run(topic="Why do agents need durable execution?").wait()
baseline = research_agent.replay(run.exec_id, at="draft_report")
variant = research_agent.replay(
run.exec_id,
at="draft_report",
flow_overrides={"model": "anthropic/claude-opus-4"},
)
# baseline reproduces the original; diff variant against it to isolate your change.Where ZenML fits
Runtime primitives
Next steps
Last updated
Was this helpful?