Example study · Matched-pair design

Do gain vs. loss frames change what models choose?

A complete walkthrough of a framing-effects study on language models: matched-pair design, snippet-realized frames, three subject models, judge-coded stances, a logistic mixed model, and a decoupling-gap analysis of whether stance and justification move together.

Stage 1 · Hypothesis

State the prediction before touching a prompt

Framing effects are one of the most replicated findings in human judgment research: people accept more risk to avoid a loss than to secure an equivalent gain. The question for machine psychology is whether language models inherit that asymmetry from human text — and whether it is uniform across models.

The study starts with two registered hypotheses in the Hypotheses stage:

Hypotheses registered for this study
IDPredictionRationale
H1Models will choose the risky option more often under loss framing than under gain framing of the same scenario.Framing effects pervade the human-written training corpus (Tversky & Kahneman's Asian-disease paradigm and its descendants).
H2The size of the framing shift will differ across models.Different post-training regimes plausibly dampen or amplify inherited biases differently.

Both predictions pass the platform's feasibility checklist: the manipulation is pure text, the outcome is readable from a single response, and the effect is meaningful as a distribution over many replications.

Stage 2 · Design

A matched-pair design, not just a factorial

You could cross framing (gain, loss) with scenario in a plain full factorial. But the sharpest test of a framing effect is a paired one: the same scenario under both frames, compared within the pair. AIScholar's matched-pair crossing strategy builds exactly that grid and unlocks a decoupling-gap analysis later.

Design summary
Design elementChoice
Factorsframing (gain, loss) × scenario (disease_outbreak, factory_layoffs, portfolio_choice, drought_relief)
Crossing strategyMatched-pair: each scenario appears under both frames, paired for within-scenario comparison
Subject modelsThree OpenRouter models, treated as a third factor (model identity)
Replications40 per condition per model (temperature 0.7, so responses vary)
Expected outputCategorical label ("Program A" | "Program B") plus a freeform justification field
Trial count4 scenarios × 2 frames × 3 models × 40 replications = 960 trials

The expected-output declaration matters: by declaring a two-field response up front (a categorical choice and a freeform justification), extraction and validation are automatic at collection time, and the invalid-rate tracker will flag any condition where models stop following the format.

Stage 3 · Prompts

Frames live in snippets, not in the design

In AIScholar, factor levels are analytical labels; the actual wording lives in the snippet library. One template serves every condition, and snippet versions are bound to factor levels:

Prompt template (all conditions)
{{scenario_setup}}

Two response programs have been proposed.

{{option_description}}

Which program do you recommend? Answer with exactly
"Program A" or "Program B" on the first line, then give
a one-paragraph justification.
Snippet bindings for the disease_outbreak scenario
Snippet · versionBound toText (abridged)
option_description · v0framing = gain"If Program A is adopted, 200 of the 600 people will be saved. If Program B is adopted, there is a 1/3 probability all 600 will be saved and a 2/3 probability none will be saved."
option_description · v1framing = loss"If Program A is adopted, 400 of the 600 people will die. If Program B is adopted, there is a 1/3 probability nobody will die and a 2/3 probability all 600 will die."
scenario_setup · v0–v3scenario levelsOne neutral setup paragraph per scenario, identical across frames so the frame is the only thing that changes within a pair.

The variation grid shows all eight resolved prompts before anything runs, so you can verify that paired prompts differ only in the frame — the design's core validity requirement.

Stage 4 · Execution

960 trials, piloted first

Execution runs against your own OpenRouter key with orchestrated concurrency and retries. The sensible order of operations:

Execution settings
SettingValueWhy
Pilot run1 trial per cell (24 trials)Catches format drift and refusals cheaply before the full spend
Temperature0.7The study needs response variability; temperature 0 would hide the distribution
Max tokens400Choice line + one justification paragraph
Replications40 per cellEnough for a stable per-cell proportion of risky choices

The cost estimator prices the full 960-trial run before you commit, and pilot trials are excluded from analysis automatically.

Stage 5–6 · Collection & Coding

Extract the choice, judge the justification

The categorical choice extracts directly from the first line — no judge needed. The justification field goes through an LLM-as-a-judge coding pass with a two-variable scheme:

Coding scheme: justification_content (v1)
VariableTypeRubric (abridged)
justification_typeCategorical: expected_value | risk_attitude | moral_duty | other"Classify the dominant argument the response gives for its choice."
certainty_languageNumeric 1–5"Rate how hedged vs. confident the justification's language is, 1 = heavily hedged, 5 = absolute."

A 10% sample gets a second judge model plus human review; inter-rater agreement (Krippendorff's α) is computed before the machine codes are trusted for the rest.

Stage 7 · Analysis

A logistic mixed model, then the decoupling gap

The primary outcome is binary (risky option chosen or not), so the main test is a GLMM: framing as a fixed effect, scenario as a random intercept, and a framing × model interaction for H2. The matched-pair design then enables the decoupling-gap analysis — does the stance flip while the justification profile stays put, or do they move together?

Illustrative results table (what the output looks like — not real findings)
ModelP(risky | gain)P(risky | loss)Framing shift
Model A.22.61+.39
Model B.31.44+.13
Model C.18.57+.39

These numbers are illustrative

The example results on this page show what the output of this study design looks like — they are not findings from a real run. Model behavior changes across versions and providers; run the study yourself to get current numbers.

A pattern like the illustration would support H1 (all shifts positive) and H2 (Model B's shift visibly smaller — testable via the interaction term). The decoupling gap adds the machine-psychology twist: if justification types barely change while choices flip, the models are re-rationalizing rather than re-reasoning — a finding you could not see without the paired design.

Stage 8 · Write-Up

From coded trials to a manuscript draft

The write-up assistant drafts Method and Results sections directly from the design, execution metadata, and analysis outputs — including the exact model identifiers, parameters, and replication counts a reviewer will ask about. Citations to the framing literature come from the citation library, and the reproducibility package bundles the full trial-level dataset with the Method Specification Prompt so another lab can re-run the study verbatim.

Stage · Honest limits

What this design can and cannot claim

Single-turn text trials measure stated choices, not decisions with stakes. The study cannot say a model "experiences" loss aversion — only that its response distribution shifts with the frame. Effects can be sensitive to prompt wording, which is why a natural follow-up is the prompt-sensitivity study: re-run the winning conditions across paraphrase variants and check whether the framing shift survives.

  • Matched-pair design
  • Decoupling gap
  • GLMM

Run this study yourself.

Every walkthrough on this page maps to real platform features. Start a project and follow along.