How a segment is detected
A segment is derived from the system prompt itself:- Normalized: interpolated values that vary per request (UUIDs, emails,
timestamps, numbers) are scrubbed, so
"You are a support agent. Today is 2026-08-03. Customer id 4821…"and the same prompt on any other day normalize identically. - Prefixed: the first 512 characters of the normalized prompt form the stable identity. Templates diverge early; suffixes (retrieved context, conversation history injected into the prompt) don’t fragment the family.
- Hashed: the identity is stored as a hash. A segment value is 16 hex
characters of opaque, stable id, never your prompt text. Traffic with no
system prompt at all lands in the reserved
nonesegment.
segment_exact, the hash of the exact
system prompt within the family, for the rare case where one interpolated
variant matters.
Where segments show up
- Logs: a Segment filter on the Logs page (and
?segment=onGET /v1/logsand the JSONL export), so one surface’s traffic is one filter away. - Comparisons: the compare flow scopes to a segment
(
sample_filters.segmentonPOST /v1/evals), so a bake-off samples one application surface instead of your blended traffic. - Datasets: curation can be scoped to a segment
(
filters.segmentonPOST /v1/datasets/from_logs), and the dataset keeps that provenance: you know which surface it was cut from. - Judge populations: a judge can bind its population to a segment
(
population_familyon the criteria API), so it scores, and is calibrated against, exactly the traffic it will judge. Changing that binding voids the calibration, like any population change.
Segments and tags compose
X-Omnia-Tag
remains the deliberate override: a tag says what you declare a request to
be; a segment says what the traffic is. They compose: filter by both, and
you get the intersection.
Use tags when one prompt template serves several purposes you want measured
separately (the same assistant behind two customer tiers), or when you want a
name that survives a prompt rewrite. Use segments for everything you never
tagged, which, in practice, is most traffic.
segment field, or
pick one from the Logs page’s Segment filter.
Segments exist only where request logging is on:
they’re derived from logged system prompts, so nothing is segmented while
nothing is captured.