
Each agent and model configuration in a Harbor job becomes its own experiment on the job's dataset, so reward, latency, and cost line up across runs.
Rewards Become Scores
reward distributions show up in experiment comparison. Aninfra_ok evaluation helps distinguish
low task scores from execution errors.
health, which tells a failed agent apart from a broken sandbox.

One trial in experiment comparison: the task instruction, the optional reference output, and the agent's final response, with the verifier's rewards recorded as evaluations.
Trajectories Become Traces

A Harbor trial's trajectory as a Phoenix trace, opened from its experiment run: the harbor.trial root, the agent beneath it, and an LLM and a tool span for each iteration.
trace_mode="atif"is the default. The plugin reads the saved trajectory after the final trial attempt and converts it into one trace and one session, with AGENT, LLM, and TOOL spans under aharbor.trialroot. A multi-step trial adds a span for each attempted step, and context-management operations appear ascompactionspans.- Tracing never changes a score. If the agent saves no valid trajectory, the plugin logs a
warning and records the run and its evaluations without a trace. Pass
trace_mode=nullon the Harbor command line to turn tracing off entirely. - The sandbox stays offline. The plugin converts trajectories after the trial, so the agent’s environment needs no Phoenix endpoint and no Phoenix credentials.
Run a Job with the Plugin
Install Harbor and the plugin into the same Python environment:arize-phoenix, so a Harbor run picks it up directly:
- Experiment names follow a template.
experiment_name_templateaccepts fields like{job.name},{agent.name},{agent.model}, and{agent.short_digest}, and - Resuming the same Harbor job reuses its experiments without duplicating recorded runs.
- Resuming is idempotent, so a re-run adds to the same experiment instead of duplicating it.
The plugin requires Harbor 0.21.0+, Python 3.12+, and Phoenix server 15.0+. Endpoint and API key fall back to
The plugin requires Harbor 0.21.0+ on Python 3.12+. Endpoint and API key fall back to
PHOENIX_COLLECTOR_ENDPOINTandPHOENIX_API_KEY.

