> ## Documentation Index
> Fetch the complete documentation index at: https://developers.agentx.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Comparing Versions

> Run your agent twice, tag each run, let AgentX tell you which version won

AgentX's hosted platform has an "autotune" workflow: propose an instruction change, run it on a candidate branch of the agent's config, compare against the current version, merge if it wins. Self-host can't do the branch/merge/apply part - there's no agent config here for AgentX to own or edit, your agent's code lives entirely outside AgentX. What *is* portable is the comparison: run your agent twice against the same dataset via the SDK - once as-is, once with a change you made yourself - tag each run with a version label, and let self-host tell you which one scored higher.

```python theme={null}
client.evaluations.run(
    dataset_id="...",
    subject={"kind": "custom_agent", "metadata": {"version": "v2-shorter-prompt"}},
).execute(my_agent_fn)
```

No SDK changes needed - `version` just needs to be a key inside `metadata`.

## Reading the verdict

From the dashboard: Governance → Evaluate → Datasets → a dataset's row menu → **Compare versions**. It shows every version that's been run against that dataset (run count, rated count, average rating) and a headline verdict comparing the two most recent versions, the same `candidateAvg >= baselineAvg` check autotune's own validation step uses. Nothing gets merged or shipped automatically - you read the verdict and go edit your own code.

The dialog also includes a **Case by case** drill-down: each version's latest run diffed per question, with rating deltas, regressions highlighted, and both outputs (plus the judge's justification) one click away - the averages say whether a version regressed, this says where.
