Expand description
Deterministic output-savings holdout (#895 Track B).
To honestly measure how much our output-shaping (cache-safe effort control #834 + the optional verbosity steer) reduces output tokens, we A/B it against a control arm. The cohort is a pure function of conversation identity (system prompt + first user message), so:
- the SAME conversation is always in the SAME arm — every turn — which keeps the decision (and therefore the request body) stable across turns, and
- a fraction
fof conversations land in the control arm, which is metered but NOT output-shaped, giving a clean paired comparison of average output tokens per arm.
output_holdout = 0 (default) puts everyone in Treatment → no behaviour
change. The hash is content-addressed (blake3), not random, so it is stable
across processes and machines.
Enums§
- Arm
- Which experiment arm a conversation is assigned to.
Functions§
- anthropic_
key - Cohort key for an Anthropic
/v1/messagesbody:system+ first user turn. - assign
- Assign an
Armforkeygiven the control fractionholdoutin[0,1].holdout <= 0⇒ everyone isArm::Treatment(no control arm). - bucket
- Deterministic bucket
0..BUCKETSfrom conversation key material. - google_
key - Cohort key for a Gemini
generateContentbody:systemInstruction+ first usercontentsturn. - openai_
chat_ key - Cohort key for an OpenAI Chat Completions body: first
system/developermessage + first user message. - openai_
responses_ key - Cohort key for an OpenAI Responses body:
instructions+ first userinput.