Skip to content

Online evaluation

Online evaluation applies the same framework runner workflow as offline runs to production traces — asynchronously, with sampling and watermarks. Softprobe does not switch to a parallel Softprobe-owned grader.

Offline vs online

ModeEvidence sourceTypical triggerPrimary objective
OfflineCurated FrameworkDefinition / fixturesCI and PR checksPrevent release regressions
OnlineProduction traces selected by policyScheduled/continuousDetect live drift and incident patterns

See Online vs offline evaluation.

Online policy

An online policy selects:

  • Pinned FrameworkDefinition / RunnerVersion / WorkflowVersion
  • Trace/span filters (environment, tags, metadata)
  • Stable sampling — hash(target_id + policy_version) for reproducible inclusion
  • Completion/watermark policy for late spans
  • Max rate, cost, concurrency, priority
  • Exclusion tags for internal eval-execution traces
  • Evidence snapshot rules before the runner starts

The scheduler emits ordinary WorkflowRun events — online, batch, and backfill share kernel planning and retry semantics.

Comparison to Braintrust online scoring

BraintrustSoftprobe
Automation rule per projectOnline policy + framework runner
Span vs trace scopeEvidence snapshot selectors
Sampling rateStable deterministic sampling + budgets
Async scoringManaged worker queue; no request latency impact

Backfill

Historical trace snapshots re-run under a pinned policy / WorkflowVersion for before/after comparisons when model or prompt changes.

Governance

Production content reaches runners only when sensitivity/residency capabilities match. Snapshot + redaction occur before FrameworkAttempt.

See Promptfoo on production OTEL traces and Production-to-eval loop.

Zero code changes · Full-context visibility · Cost optimization