Skip to content

Quick start

Submit an agent definition and an eval set, set a budget and the layers allowed to evolve, then wait for the report. By default only the context, skills and memory layers move; the weights layer must be enabled explicitly.

# 1. Install the SDK
pip install ouro-evolve
# 2. Submit agent definition + eval set + budget
from ouro import Evolve
job = Evolve().submit(
agent="./agent.yaml", # OpenAI / Anthropic / LangGraph / CrewAI formats supported
evals="./evals.jsonl", # private eval set; only its hash goes on-chain
layers=["context", "skills", "memory"],
budget_usd=200,
rounds=5,
)
# 3. Wait for the evolution report
report = job.wait()
print(report.score_before, "→", report.score_after) # 0.61 → 0.74
print(report.poe_tx) # on-chain record
report.export("./agent.v15.yaml")