Why Sessions and Sweeps
A single experiment run produces oneExperimentResult. When you run multiple variants β a baseline, a prompt tweak, a knowledge-base variant β you need a way to group those results and track which variants have completed. Thatβs what sessions and sweeps provide.
Hierarchy
Running with Sessions
To use sessions, create anActiveSession and pass it to AgentExperiment.run():
ActiveSession is provided:
- Traces and workspaces are written under the session directory
- The result is saved to both
ResultStore(as before) andSessionStore - Without an
ActiveSession, the experiment behaves exactly as before β full backward compatibility
SessionStore
SessionStore persists and retrieves sessions:
Filesystem layout
RunSession
An immutable record representing a completed or in-progress session:VariantEntry
Each variant within a session carries summary metrics:Sweeps
A sweep declares which variants must run and tracks progress across sessions. This is useful when variants run at different times β overnight jobs, CI retries, or manual re-runs of failed variants.Resolution model
When you add a session to a sweep:- The sweep loads the sessionβs variants via
SessionStore - Each variant that matches an expected variant is marked as resolved
- Last-write-wins: adding a newer session overwrites earlier resolutions for the same variant
- Session variants not in the expected list are silently ignored
- The session name is appended to
sessionHistory(append-only audit trail)
SweepStatus
SweepStore
Version Mismatch Detection
Sweep.hasVersionMismatch() returns true if resolved variants were run against different git commits. This catches a subtle problem: when you re-run a failed variant after a code change, the sweep now contains results from two different code versions. The mismatch flag lets you detect this and decide whether to accept the mixed results or re-run the full sweep.
Related
Creating Experiments
Dataset design, variant ladders, and filtering
API Reference
ExperimentConfig, AgentInvoker, InvocationContext, ResultStore