Skip to main content
By the end of this page you will have graded your agent’s real conversations, curated the ones worth learning from, trained on them, and compared the result against the base model on prompts it never saw.

Install

That covers ingest, grading, curation, the stub backend and the CLI. Real training and the MCP server are extras:

1. Bring your own logs

Ingest reads OpenAI chat-completions JSONL or a LangChain/LangGraph message dump and writes one transcript file per conversation.

2. Grade and curate

Every assistant turn is scored against the reward; turns at or above the threshold are curated into a training set.
Three files come out of improved/:
Read improve_summary.json before training on the output. A curated set that kept 90% of turns usually means the threshold is too low to be selecting for anything, and a set that kept 3% will not train. The default threshold is 0.7; move it and re-run rather than training on a set you have not looked at.

3. Train

If you have a GPU, next_steps.md prints the command. If you do not, train-remote rents one, trains, evaluates, and gives it back.
--max-cost is a ceiling, and a run that could exceed it refuses to start rather than stopping partway. Set it. The pod is terminated on every exit path — success, failure, timeout, or your laptop dying mid-run — but a ceiling is what stops a misconfigured run from being expensive before any of those paths are reached.

4. Check it actually learned

Training returns eval_results.json: the base model’s answers beside the fine-tuned model’s, on the held-out prompts, with pass/fail assertions if you wrote them.
A lower loss is not evidence the agent improved at the job. The held-out comparison is — it is the only step here that can tell you the model got better at the thing you graded rather than better at reproducing the turns you curated.

Next steps

Overview

The loop, the rewards, and the fail-closed backend adapters.

CLI reference

Every command, and which ones spend money.

MCP server

The same loop, driven by an agent instead of a shell.

Evaluations

Building the held-out set you evaluate against.