Zum Inhalt springen
← Zurück zu den Projekten

Evals For Adhd

#Evals for ADHD — Phase 2

#We tried to break our own result. Here's what survived.

Preprint License Raw logs Studies Discovery cases


#The pitch, in one paragraph

v0.1 of ADHD showed a 5/6 win over single-shot prompting — judged by a model from the same family as the generator, on six hand-picked engineering problems. That's a demo, not evidence. So Phase 2 stress-tests the actual claim: swap the judge, leave engineering entirely, and — the sharpest test we could design — hand the harness only what was known before a real scientific discovery, strip every name and term that could leak the answer, and see if the candidate pool contains it. Every number below links straight to the JSON that produced it, and every JSON is backed by raw, append-only LLM call logs. Nothing here is asserted without a file you can open.


#💡 The Core Architectural Mechanism: Structured Divergence vs. Automated Convergence (#1 Winner Selection)

ADHD is NOT a naive "Best-of-30" or Pass@30 random sampling method.

  • Naive Pass@N Sampling: Runs temperature sampling 30 times on the same prompt. All 30 samples suffer from mode collapse, clustering in the same high-frequency textbook region (e.g., 30 minor variations of standard retry loops).
  • ADHD Structured Divergence: Spawns 5 orthogonally forced cognitive frames (Inversion, $0 Budget, Hardware Engineer, Biology, 3AM On-Call), guaranteeing coverage across 5 distinct topological design sectors.
  • Automated Convergence Engine: The 30 candidate ideas represent internal test-time compute (similar to internal reasoning tokens in System 2 search like DeepSeek-R1 or OpenAI o1). The user or agent never reads 30 raw guesses. ADHD's automated Critic Engine clusters redundant angles, prunes operational traps, and converges down into 1 single non-obvious architecture recommendation (backed by a top-3 shortlist & trap list).
Paradigm Search Mechanism Diversity Engine What the User/Agent Receives
Naive Pass@N Random $T=1.0$ sampling Unconstrained random drift 30 redundant variations of the same safe answer
System 2 (o1 / R1) Sequential verification depth Longer reasoning traces Single verified solution along 1 trajectory
ADHD Framework Parallel Frame Divergence + Critic Convergence 5 Enforced Cognitive Topologies 1 Selected Non-Obvious Winner + Pruned Trap List

#Headline result: can it find things nobody told it?

Given only a genericized pre-discovery prompt — no paper titles, no drug names, no jargon — for 9 real published discoveries in systems engineering, medicine, and biology:

Contamination risk Cases ADHD (hit + partial) Baseline (hit + partial)
Post-cutoff (low risk of memorization) 5 5 / 5 5 / 5
Pre-cutoff (higher risk) 4 2 / 4 4 / 4
All cases 9 7 / 9 (3 hit, 4 partial, 2 miss) 9 / 9
Case Domain Discovery ADHD result Rank in pool Frame that found it
simd_json Engineering Vectorized JSON parsing (simdjson) HIT 25 / 30 ten-year-old
glp1_addiction Health GLP-1 mesolimbic reward attenuation HIT 22 / 30 inversion
statins_sepsis Health eNOS / Rho-kinase endothelial stabilization HIT 13 / 30 regulator
raft Engineering Raft consensus (log replication) PARTIAL 5 / 30 inversion
crispr Biology CRISPR adaptive immunity PARTIAL 22 / 30 markets
evoformer Biology AlphaFold 2 axial attention PARTIAL 1 / 30 adversary
mrna_lnp Biology mRNA lipid nanoparticle delivery PARTIAL 12 / 30 speedrunner
metformin_longevity Health AMPK / mTORC1 nutrient-sensing axis MISS
chandy_lamport Engineering Distributed snapshot algorithm MISS

Small N, and we say so. This is 9 cases, not 900 — treat it as a promising early result on a genuinely new evaluation method, not a settled law. What earns it a place on this page is that it's the one study in this whole project with an answer that isn't another LLM's opinion — it's checkable against the literature, case by case, above.

The twist worth remembering: on several hits, the correct idea was sitting in the pool at rank 12–25 out of 30 — meaning the harness generated the right answer and its own critic pass nearly buried it. That's the actual engineering finding here, and it's going straight into v0.2.

Full case-by-case reasoning: findings/study3_finding_reproduction.md · Raw data: findings/finding_reproduction.json


#The shape of the win, everywhere we looked

Same pattern, every study, every judge, every domain: ADHD dominates on breadth/novelty/trap-detection and loses on immediate actionability. That's not noise — it's the architecture's actual trade-off, and it held under a judge swap and three unrelated domains.

#Study 1 — Cross-model judging (12 engineering problems, 2 judges)

Dimension Judge A (same-family) Δ Judge B (cross-variant) Δ
Breadth +2.83 +4.25
Novelty +5.33 +5.50
Trap detection +3.33 +3.67
Actionability −7.50 −4.25
Builder usefulness −4.92 −3.33

Win rate: 2/12 under Judge A, 4/12 under Judge B — modest, and lower than v0.1's headline number. We're reporting it exactly as measured. What's notable is the dimension deltas barely moved when we swapped judges — that's the part that looks structural rather than judge-flattery.

Caveat on record: Judge B (gemini-3.1-flash-lite) is a smaller model from the same vendor as the generator, not an independent lab — call this cross-variant, not cross-family. A non-Gemini judge is the natural next test.

findings/study1_cross_model.md · findings/cross_model.json

#Study 2 — Cross-domain generalization (18 problems, 3 tiers, 6 each)

Domain tier Win rate Novelty Δ Trap detection Δ
Product/business strategy 2/6 +5.50 +3.83
Public health 3/6 +6.17 +4.17
Biochemistry 4/6 +5.17 +4.17

Reads like win rate rises the further you get from engineering — at N=6 per tier that's 1–2 results moving the number, so we're stating the trend, not claiming it's proven. What holds regardless of win/loss: novelty and trap-detection gains transfer cleanly outside code.

findings/study2_cross_domain.md · findings/cross_domain.json

#Study 4 — Frame ablation (51 runs, 15 frames)

Frame Times selected Survival rate Avg novelty Avg viability Avg fit
ops-3am 11 25.8% 6.36 7.31 8.69
adversary 10 23.3% 6.02 7.26 8.26
speedrunner 11 21.2% 6.60 6.65 8.16
inversion 8 18.8% 6.16 7.22 8.56
ant-colony 13 12.8% 7.32 5.42 6.90
game-design 10 11.7% 7.75 5.17 7.32
biology 19 11.1% 8.38 5.13 7.57
regulator 15 11.1% 5.98 7.10 7.88
markets 18 9.3% 7.58 4.59 6.65
remove-assumption 12 8.3% 7.14 5.59 7.69
logistics 11 7.6% 6.14 6.76 7.67
hardware-eyes 20 6.7% 7.33 4.81 7.57
ten-year-old 5 3.3% 6.45 4.97 7.10
extreme-zero 11 3.0% 2.97 7.10 5.57
extreme-infinite 23 0.7% 9.13 1.46 6.80

Top survival drivers are pragmatic, risk-hunting operational frames (ops-3am, adversary, speedrunner, inversion), while speculative frames (extreme-infinite, extreme-zero) drive extreme novelty at the cost of survival.

findings/study4_frame_ablation.md · findings/frame_ablation.json

findings/study4_frame_ablation.md · findings/frame_ablation.json


#How it works

graph TD
    subgraph SingleShot ["Single-shot generation"]
        P1["Problem"] --> Greedy["Greedy decoding P(y_t | y_<t)"]
        Greedy --> Conventional["Conventional, first-plausible answer"]
    end

    subgraph ADHDLoop ["ADHD: isolated divergent branches → critic"]
        P2["Problem"] --> Frames["N cognitive frames, zero shared context"]
        Frames --> B1["inversion"]
        Frames --> B2["$0 budget"]
        Frames --> B3["biology"]
        Frames --> B4["3am on-call"]

        B1 --> Pool["Candidate pool"]
        B2 --> Pool
        B3 --> Pool
        B4 --> Pool

        Pool --> Critic["Critic: score, cluster, flag traps"]
        Critic --> Shortlist["Top-K deepened picks"]
    end

    style SingleShot fill:#1f1f2e,stroke:#4a4a6a,color:#ffffff
    style ADHDLoop fill:#112233,stroke:#2b6cb0,color:#ffffff

Isolated branches can't anchor on each other — that's the actual mechanical difference from Chain-of-Thought or Tree-of-Thought, both of which share context across the search. Full formalism: findings/adhd_phase2_research_paper.md.


#What breaks next (v0.2 roadmap, based on this data)

  • Dual-output mode — stop forcing a choice between wide idea space and ship-today code. Generate both from the same divergent pool.
  • Critic recalibration — Study 3's rank-25 hits show the critic sometimes buries the right answer under conventional-looking ones. Fix the scoring bias, not the generator.
  • A real cross-family judge — Study 1's next iteration should use a judge that isn't from the same vendor as the generator.
  • Bigger N — cross-domain and finding-reproduction trends are directionally interesting at N=6–9; the next phase should push toward N=20+ before calling any trend proven.

#Reproducing this

research/
  problems/    # exact prompts used — nothing hidden
  cases/       # the 9 discovery cases: pre-discovery prompts + ground truth
  logs/        # raw, append-only LLM call logs — one file per run
  results/     # aggregated, machine-readable scoring output
  reports/     # full human-readable writeup per study

Model versions, temperatures, and run IDs are logged per call. Full methodology and per-study reports: findings/phase2_summary.md.

Want to check a number yourself, or re-run a study from scratch (install steps, API keys, caching behavior, and an honest note on LLM nondeterminism included)? See REPRODUCE.md.


#Citation

@article{akhouri2026evalsforadhd,
  title={Evals for ADHD: Cross-Model, Cross-Domain, and Novel-Finding-Reproduction Evaluation of Divergent Cognitive Branching},
  author={Akhouri, Udit},
  journal={Divergent Labs Research Benchmark Series},
  year={2026},
  url={https://github.com/DivergentLab/evals-for-adhd}
}

Maintained by Divergent Labs · Research lead: Udit Akhouri · researchudit@gmail.com

Neue Version verfügbar.