Trajectory steps (per step)
Trajectory steps re-expresses UiPath's trajectory judge as one probability per expected step (“did the agent accomplish this step?”) plus an order judgment, all in one Jev request. The score is the share of steps performed, weighted by order, and the details name the missing steps.
What the evaluator does
For K expected steps jeval adds K Noul questions and one order question to the request. Each step gets p(performed); the score is (performed / K) × (0.7 + 0.3 × p(order)).
The question, verbatim
This is the question the API sends for the example below, generated from the same code path the playground and API use. Jev sees the request fields as state and returns a probability for each outcome. Nothing is generated, so there is nothing to parse.
The agent's `trajectory` includes a step that accomplishes `expected_trajectory[0]`, allowing different wording.
The agent's `trajectory` includes a step that accomplishes `expected_trajectory[1]`, allowing different wording.
The agent's `trajectory` includes a step that accomplishes `expected_trajectory[2]`, allowing different wording.
The steps in `trajectory` occur in the same order as the corresponding steps in `expected_trajectory`.
Reach for it when
- Agent evaluation where you need to know which step failed.
- Comparing agent versions step by step.
- Replacing a prose trajectory verdict with numbers you can chart.
Not the right tool when
- The expected trajectory is not known (use agent_goal or task_completion).
Watch out for
- Write expected steps as outcomes (“book the flight”) rather than tool names; paraphrase tolerance works on intent.
What to send
score 0–1 (p of the good outcome), label “nn% yes”, confidence |p − 0.5| × 2, probabilities yes/no, passed at 0.5. Plus a details array with one row per step.
{
"evaluators": [
"trajectory_steps"
],
"input": "Refund order 4471 and notify the customer.",
"output": "done",
"trajectory": [
"look up order 4471",
"issue refund of $89.00"
],
"expected_trajectory": [
"look up order",
"issue refund",
"notify customer"
]
}Steps 1 and 2 performed, step 3 missing: 2/3.
Aggregate with
One result per item is a fact; a dataset of them is a metric. These are the aggregations that fit this evaluator's output shape.
Precision is the share of predicted positives that were really positive; recall is the share of real positives the evaluator caught; F1 is their harmonic mean, which is only high when both are.
Mean score averages the normalised 0–1 score across items.
- How does trajectory_steps handle paraphrased steps?
- Each question asks whether the trajectory accomplishes the expected step allowing different wording, so “issue refund of $89.00” matches “issue refund”.