A human hand and a machine hand over shared research files

FORRT AI in Metascience · Tuesday 29 September

Getting our hands dirty

Agentic reproductions and robustness checks

Lukas Wallrich, Birkbeck, University of London

The next 70 minutes

Plan

StartA live run on a preprint of mine: we start it now.
AgentsHow coding agents work, and how to work with them.
CasesThree papers, four agents, one prompt each: what came back, and where the agents disagree.
LiveBack to the live run: what it found, and one choice tested.
LastWhat still needs a human, then discussion.

Try it out with your own or a relevant paper, or just watch.

Live · started now, back at the end

A live run on a preprint of mine

Not in any training data, and I know where it is fragile: osf.io/preprints/psyarxiv/jsbgu

Consider the preprint at https://osf.io/preprints/psyarxiv/jsbgu and its linked data and code. Reproduce all numbers reported in it, with one script that runs from a clean start. Then identify the 3–5 analysis choices that are most fragile, list them, and predict what changing each might do to the results. Do not run those alternatives yet.

  1. It finds the data and code and reproduces the numbers while we talk.
  2. It lists the fragile choices, with predictions.
  3. At the end, I pick one, and it tests it.

Follow along

Try it yourself

lukaswallrich.github.io/
ai-metascience-hands-on

Pick your own paper or a relevant one with open data and code, or one of our three cases.

You need an agent you already use (Claude Code, Codex, OpenCode) and R or Python.

QR code for lukaswallrich.github.io/ai-metascience-hands-on

While they run

Working with coding agents

What an agent does, how to run several at once, and how to write a prompt it can work with.

A genie rising from a lamp

How an agent works

Getting AI to run in circles

your
goal ›
LLM
proposes the
next command
——› command  "Rscript model.R"
‹—— result  "coefficient table"
Your machine
runs it, sends
back the result
› final
answer

↻ repeat until the goal is met. The LLM only ever writes text; your machine does the doing.

Tools it can call

read part of a file search the web search your files edit a file run code ask you a question

The interface today

One window, several agents

T3 Code is a free, open-source desktop (and web) app from Ping.

  • One interface for coding agents such as Claude Code, Codex and OpenCode.
  • You sign in with your own accounts, so you pay the agent providers as usual.
  • Each run is a thread, with a diff viewer for the files it changed.

The agents work fine in a terminal or in their own apps. T3 Code is a convenience. t3.codes

Choosing

Which agent?

Claude Code

Anthropic's agent. Comes with a Claude subscription. Paid plans start at about $20/month.

Codex

OpenAI's agent. Comes with a ChatGPT subscription. Paid plans start at about $20/month.

OpenCode

Open-source agent. Works with many model providers (paid per use) or with local models. Today with DeepSeek Flash.

The models change every month. The habits on the next slide carry over.

Behind the prompt

Four habits, in this prompt

Context

The paper, with its linked data and code.

"Consider the preprint at [URL] and the linked supplementary data and code"

Grounding

One script that runs from a clean start.

"one script … produces every number you report"

Plan/questions

List the alternatives and predictions before running them.

"Before running anything, list 6–10 alternative choices"

Verify

Published vs. reproduced, with the source of each number, and a list of decisions.

"say where you got it"

Before you try it on your own data

Can I use AI with my data?

Easy

Published open data, like today's two cases.

With care

De-identified data you are allowed to share.

Never*

Identifiable participant data.

* without a data processing agreement (and ethics approval), e.g. an enterprise contract or an approved secure environment, or a fully local model.

Case A · small, agents finish in a few minutes

"Female hurricanes are deadlier than male hurricanes"

92 US hurricanes, 1950–2012. Storms with more feminine names killed more people.

The authors' explanation: people take a storm with a feminine name less seriously.

The data are open. use them as a worked example for specification curve analysis.

, PNAS, 111(24), 8782–8787.

Case B · larger, many analysts

Do referees give more red cards to dark-skin-toned players?

29 teams analysed the same data: 146,028 player–referee pairs.

0.89 – 2.93

range of odds ratios (median 1.31)

20 of 29

teams had a confidence interval that excluded 1

Too slow to run live. In last night's runs, the agents saw this spread only after finishing their own analysis.

, AMPPS, 1(3), 337–356. Numbers from the teams' estimates file on OSF.

Case C · recent: published January 2026

Does researchers' ideology shape their findings?

71 teams in a many-analysts study of immigration and support for social policy produced 1,253 estimates.

+0.085

pro- minus anti-immigration teams' estimates (p = .008)

+0.011

per point of team pro-immigration sentiment (p = .06, tested at the 10% level)

The agents get the authors' replication package as published, and are told not to search for comments on the paper.

, Science Advances, 12(1), eadz7173. Data from .

The prompts in short (full text on the page)

What each agent gets

The data with its documentation (for case C, the whole replication package), and the paper's reference and DOI. Then:

Cases A and C · hurricanes, ideology
  1. Reproduce the main result, with one script that runs from a clean start.
  2. Compare with the published numbers, and say where each came from.
  3. List the decisions the paper left open.
  4. Stress-test: predict, then run 6–10 alternatives.
  5. Judge whether the claim holds up.

Case C adds: do not search for comments on the paper.

Case B · red cards
  1. Answer the question your way, with one script and an odds ratio.
  2. List the decisions the data left open.
  3. Stress-test: predict, then run 6–10 alternatives.
  4. Only then compare with the 29 teams.
  5. Conclude.
Tasks launched in parallel

The runs

Four agents, same prompt

  • Claude Opus 5.5 and Fable 5.1, in Claude Code
  • Codex GPT-6 Sol and Astra
  • DeepSeek Flash, through OpenCode

Ran unattended last night and this morning, all through T3 Code. All reports: …/ai-metascience-hands-on/reports

Before we look at results

A caveat: famous papers are in the training data

Asked from memory: no files, no web

All three agents recalled Silberzahn's numbers: 29 teams, odds ratios 0.89–2.93, 20 significant.

All three knew the main critique of the hurricane paper: before 1979, every Atlantic hurricane had a female name. Given the data, all three then tested exactly that.

What to do

The prompt asks for the source of each published number.

For real checks, use material the model cannot have memorised: your own work, or recent work like case C. Asked from memory, no agent could give its estimates.

An agent working in a loop over files

Back to the runs

What came back

The report, the script, and the trace of what each agent did.

Case A · results from last night's runs

Same coefficients, different headlines

PublishedOpus 5.5Fable 5.1CodexDeepSeek
Name × damage0.7050.7050.7050.7050.705
Its SE0.1840.1840.1500.184–
Paper read fromPubMed CentralPubMed Centrala PDF on a cycling blogPubMed Central
Deaths, feminine vs masculine name, severe storm×2.8
high vs low damage split
×2.8
median split, as the paper
×5.1
damage +1 SD
×1.5
75th percentile
×2.8
median split, as the paper

The coefficients reproduce exactly. The paper does not say where "severe" starts, so each agent chose its own point.

Claude Opus 5.5 (high, 29 Sep) and Claude Fable 5.1 (Claude Code) · GPT-6 Sol, high effort (Codex) · DeepSeek Flash (OpenCode), 28 Sep.

Case A · results from last night's runs

Which robustness checks did they choose?

Does the effect survive…Opus 5.5Fable 5.1CodexDeepSeek
only storms from 1979 onnononono
log damagenonono–
no interaction termsnono–no
binary name genderyesyesyesyes
dropping the deadliest storms–yesyes–
the other pressure variableyesyesyes*yes*

Each ran 9–10 checks and concluded that the claim is fragile. All four chose the 1979 split, the best-known critique of the paper.

Each agent judged "survives" by its own yardstick. * Both followed an error in the data's documentation.

Case B · results from last night's runs

Three analysts, three answers?

ClaudeCodexDeepSeek
Modelmixed model, player & referee random effectslogistic, clustered SEslogistic, clustered SEs
Outcomered cardsred cards + second yellowsred cards
Skin-tone contrastvery light → very dark0.25 → 0.75very light → very dark
Odds ratio [95% CI]1.38 [1.12, 1.70]1.12 [1.03, 1.22]1.34 [1.10, 1.62]
Time to finishabout 1 hour8.5 min51 min

Codex's estimate covers half the scale. Over the full scale it is about 1.26, close to the others.

Case B · results from last night's runs

Where the agents fall among the 29 teams

Odds ratios with 95% confidence intervals for the 29 teams in grey and the three agents in red, sorted by estimate. Claude and DeepSeek sit just above the teams' median of 1.31; Codex's half-scale estimate sits low, and rescaled to the full scale it is near 1.26.

Codex placed its 1.12 below 24 of the 29 teams, while noting that their contrasts differ.

Case C · results from this morning's runs

Four agents, the same replication package

Opus 5.5GPT-6 AstraGPT-6 SolDeepSeek Flash
Reproduced Table 1all 9 columnsall 9 columnsall 9 columnsall 9 columns
Noticed 4 discipline codes with one team eachyes: "the paper does not discuss this"yes, as a technical nuisancenono
Verdict"weaker than Table 1 suggests""depends on defensible analysis choices""depends on reasonable analysis choices""holds up"

All four chose the pro–anti contrast (p = .008) as the main result. In every run, removing the discipline controls (alone or with all others) made it non-significant.

Claude Code, Codex (both on high effort) and OpenCode, 6.5–11 minutes each.

Case C · what the replicators found

Two agents saw the problem. None ran the check.

  • Four discipline codes each hold one team. Their fixed effects absorb 80 estimates that go against the hypothesis .
  • Merge those four codes, and the per-point effect falls from 0.011 (p = .06) to 0.001 (p = .94). The agents' pro–anti contrast falls from 0.085 (p = .008) to 0.044 (p = .23).
  • Dropping the weights, or using the original study's standardised estimates, also removes the per-point effect.
  • The authors reply that their discipline coding is a theory-driven choice .

All three cases

What each agent decided without being asked

  • Trusting the documentation. The data's documentation describes one variable wrongly. Claude checked the data and noticed; Codex and DeepSeek built on the error.
  • Where "severe" starts. A median split, 1 SD above average, or the 75th percentile of damage: death ratios from ×1.5 to ×5.1 from one model.
  • What counts as a red card. Codex added second yellows; the others did not.
  • How far apart to compare. DeepSeek concluded that a dark/light split "removes the association". Codex ran the same split and flagged that it measures a different contrast.
  • What the main result is. In case C, all four agents chose the contrast with p = .008 over the per-point effect with p = .06.

Live · back to the preprint

What did the live run find?

  • Which numbers did it reproduce, and which not?
  • Which fragile choices did it list, and what did it predict?
  • I pick one choice. It tests it, and we compare with its prediction.

What still needs a human

  • Deciding what counts as the "main result" before the agent does.
  • Checking where each published number came from: the paper, or memory.
  • Judging whether an alternative analysis is defensible, or only different.
  • Following up an oddity the agent reports: does it change the result?
  • Rerunning the script and reading the code, especially the data cleaning.

At this conference · all times CEST

Later today and tomorrow

Tue 14:40Predicting replicability
Tue 16:05Machines that build and test the replication record (incl. ReplicatorBench; at 17:15: "Can an agentic LLM run computational reproducibility checks at human quality?")
Wed 15:00Does the finding survive another analyst? (incl. PaperRobust and "Multiverse Analysis in the Age of Large Language Models")
Two speech bubbles in conversation

Over to you

Discussion

Materials and prompts:
lukaswallrich.github.io/ai-metascience-hands-on

Slides made with Claude Code · illustrations generated with gpt‑image‑2, via Claude Code.

References

References