ModelLineup

Every answer on this page was written by an AI model, named on the answer. Answers can be wrong, out of date or made up, even when they sound sure. Check anything that matters before you rely on it.

Prompts Code

Claude models on code

On code, nine of the 13 models and settings scored 100 out of 100: Sonnet 5.5 at max effort, Opus 5.5 at max effort, Fable 5.1 at low effort, Fable 5.1 at max effort and five more. Two more were within 5 points: Sonnet 5.5 at low effort (98) and Opus 5.5 at low effort (98). The lowest was Haiku 4.5, 76.

Written by an AI model from these results; every figure on this page is filled in by a program. How it was made.

Published

Score on code

Each model and setting, highest first. A score here is the mean share of checks passed over the seven prompts in this kind of work.

Score on code
Score on code0255075100Sonnet 5.5 · max100Opus 5.5 · max100Fable 5.1 · low100Fable 5.1 · max100Opus 5 · low100Opus 5 · max100Sonnet 5 · max100Fable 5 · low100Fable 5 · max100Sonnet 5.5 · low98Opus 5.5 · low98Sonnet 5 · low89Haiku 4.576Score on code0255075100Sonnet 5.5 · max100Opus 5.5 · max100Fable 5.1 · low100Fable 5.1 · max100Opus 5 · low100Opus 5 · max100Sonnet 5 · max100Fable 5 · low100Fable 5 · max100Sonnet 5.5 · low98Opus 5.5 · low98Sonnet 5 · low89Haiku 4.576

Light bars are low effort. Dark bars are max effort, or the only setting.

Show the numbers.
Score out of 100 on code, for each model and setting, highest first
ModelScore
Sonnet 5.5 · max100
Opus 5.5 · max100
Fable 5.1 · low100
Fable 5.1 · max100
Opus 5 · low100
Opus 5 · max100
Sonnet 5 · max100
Fable 5 · low100
Fable 5 · max100
Sonnet 5.5 · low98
Opus 5.5 · low98
Sonnet 5 · low89
Haiku 4.576

Each prompt

Every cell is the share of that prompt’s checks the answer passed.

Score for each prompt in code
Score for each prompt in codeSonnet 5.5Opus 5.5Fable 5.1Opus 5Sonnet 5Fable 5Haiku4.5LowMaxLowMaxLowMaxLowMaxLowMaxLowMaxCodeF01Load more shows some…F01 Load more shows some posts twice and skips others, Sonnet 5.5 low: 100100F01 Load more shows some posts twice and skips others, Sonnet 5.5 max: 100100F01 Load more shows some posts twice and skips others, Opus 5.5 low: 100100F01 Load more shows some posts twice and skips others, Opus 5.5 max: 100100F01 Load more shows some posts twice and skips others, Fable 5.1 low: 100100F01 Load more shows some posts twice and skips others, Fable 5.1 max: 100100F01 Load more shows some posts twice and skips others, Opus 5 low: 100100F01 Load more shows some posts twice and skips others, Opus 5 max: 100100F01 Load more shows some posts twice and skips others, Sonnet 5 low: 100100F01 Load more shows some posts twice and skips others, Sonnet 5 max: 100100F01 Load more shows some posts twice and skips others, Fable 5 low: 100100F01 Load more shows some posts twice and skips others, Fable 5 max: 100100F01 Load more shows some posts twice and skips others, Haiku 4.5: 100100F02The search box shows…F02 The search box shows results for an old query, Sonnet 5.5 low: 100100F02 The search box shows results for an old query, Sonnet 5.5 max: 100100F02 The search box shows results for an old query, Opus 5.5 low: 100100F02 The search box shows results for an old query, Opus 5.5 max: 100100F02 The search box shows results for an old query, Fable 5.1 low: 100100F02 The search box shows results for an old query, Fable 5.1 max: 100100F02 The search box shows results for an old query, Opus 5 low: 100100F02 The search box shows results for an old query, Opus 5 max: 100100F02 The search box shows results for an old query, Sonnet 5 low: 100100F02 The search box shows results for an old query, Sonnet 5 max: 100100F02 The search box shows results for an old query, Fable 5 low: 100100F02 The search box shows results for an old query, Fable 5 max: 100100F02 The search box shows results for an old query, Haiku 4.5: 100100F03Some subscriptions renew…F03 Some subscriptions renew a day early, Sonnet 5.5 low: 100100F03 Some subscriptions renew a day early, Sonnet 5.5 max: 100100F03 Some subscriptions renew a day early, Opus 5.5 low: 100100F03 Some subscriptions renew a day early, Opus 5.5 max: 100100F03 Some subscriptions renew a day early, Fable 5.1 low: 100100F03 Some subscriptions renew a day early, Fable 5.1 max: 100100F03 Some subscriptions renew a day early, Opus 5 low: 100100F03 Some subscriptions renew a day early, Opus 5 max: 100100F03 Some subscriptions renew a day early, Sonnet 5 low: 8686F03 Some subscriptions renew a day early, Sonnet 5 max: 100100F03 Some subscriptions renew a day early, Fable 5 low: 100100F03 Some subscriptions renew a day early, Fable 5 max: 100100F03 Some subscriptions renew a day early, Haiku 4.5: 2929F04Review a pull request…F04 Review a pull request before merging, Sonnet 5.5 low: 8686F04 Review a pull request before merging, Sonnet 5.5 max: 100100F04 Review a pull request before merging, Opus 5.5 low: 8686F04 Review a pull request before merging, Opus 5.5 max: 100100F04 Review a pull request before merging, Fable 5.1 low: 100100F04 Review a pull request before merging, Fable 5.1 max: 100100F04 Review a pull request before merging, Opus 5 low: 100100F04 Review a pull request before merging, Opus 5 max: 100100F04 Review a pull request before merging, Sonnet 5 low: 100100F04 Review a pull request before merging, Sonnet 5 max: 100100F04 Review a pull request before merging, Fable 5 low: 100100F04 Review a pull request before merging, Fable 5 max: 100100F04 Review a pull request before merging, Haiku 4.5: 8686F05SQL: which customers…F05 SQL: which customers left and came back, Sonnet 5.5 low: 100100F05 SQL: which customers left and came back, Sonnet 5.5 max: 100100F05 SQL: which customers left and came back, Opus 5.5 low: 100100F05 SQL: which customers left and came back, Opus 5.5 max: 100100F05 SQL: which customers left and came back, Fable 5.1 low: 100100F05 SQL: which customers left and came back, Fable 5.1 max: 100100F05 SQL: which customers left and came back, Opus 5 low: 100100F05 SQL: which customers left and came back, Opus 5 max: 100100F05 SQL: which customers left and came back, Sonnet 5 low: 5757F05 SQL: which customers left and came back, Sonnet 5 max: 100100F05 SQL: which customers left and came back, Fable 5 low: 100100F05 SQL: which customers left and came back, Fable 5 max: 100100F05 SQL: which customers left and came back, Haiku 4.5: 1414F06A contacts import that…F06 A contacts import that survives real CSV files, Sonnet 5.5 low: 100100F06 A contacts import that survives real CSV files, Sonnet 5.5 max: 100100F06 A contacts import that survives real CSV files, Opus 5.5 low: 100100F06 A contacts import that survives real CSV files, Opus 5.5 max: 100100F06 A contacts import that survives real CSV files, Fable 5.1 low: 100100F06 A contacts import that survives real CSV files, Fable 5.1 max: 100100F06 A contacts import that survives real CSV files, Opus 5 low: 100100F06 A contacts import that survives real CSV files, Opus 5 max: 100100F06 A contacts import that survives real CSV files, Sonnet 5 low: 7878F06 A contacts import that survives real CSV files, Sonnet 5 max: 100100F06 A contacts import that survives real CSV files, Fable 5 low: 100100F06 A contacts import that survives real CSV files, Fable 5 max: 100100F06 A contacts import that survives real CSV files, Haiku 4.5: 100100F07Make a slow script fastF07 Make a slow script fast, Sonnet 5.5 low: 100100F07 Make a slow script fast, Sonnet 5.5 max: 100100F07 Make a slow script fast, Opus 5.5 low: 100100F07 Make a slow script fast, Opus 5.5 max: 100100F07 Make a slow script fast, Fable 5.1 low: 100100F07 Make a slow script fast, Fable 5.1 max: 100100F07 Make a slow script fast, Opus 5 low: 100100F07 Make a slow script fast, Opus 5 max: 100100F07 Make a slow script fast, Sonnet 5 low: 100100F07 Make a slow script fast, Sonnet 5 max: 100100F07 Make a slow script fast, Fable 5 low: 100100F07 Make a slow script fast, Fable 5 max: 100100F07 Make a slow script fast, Haiku 4.5: 100100Score for each prompt in codeSonnet 5.5Opus 5.5Fable 5.1Opus 5Sonnet 5Fable 5Haiku4.5LowMaxLowMaxLowMaxLowMaxLowMaxLowMaxCodeF01Load more shows…F01 Load more shows some posts twice and skips others, Sonnet 5.5 low: 100100F01 Load more shows some posts twice and skips others, Sonnet 5.5 max: 100100F01 Load more shows some posts twice and skips others, Opus 5.5 low: 100100F01 Load more shows some posts twice and skips others, Opus 5.5 max: 100100F01 Load more shows some posts twice and skips others, Fable 5.1 low: 100100F01 Load more shows some posts twice and skips others, Fable 5.1 max: 100100F01 Load more shows some posts twice and skips others, Opus 5 low: 100100F01 Load more shows some posts twice and skips others, Opus 5 max: 100100F01 Load more shows some posts twice and skips others, Sonnet 5 low: 100100F01 Load more shows some posts twice and skips others, Sonnet 5 max: 100100F01 Load more shows some posts twice and skips others, Fable 5 low: 100100F01 Load more shows some posts twice and skips others, Fable 5 max: 100100F01 Load more shows some posts twice and skips others, Haiku 4.5: 100100F02The search box…F02 The search box shows results for an old query, Sonnet 5.5 low: 100100F02 The search box shows results for an old query, Sonnet 5.5 max: 100100F02 The search box shows results for an old query, Opus 5.5 low: 100100F02 The search box shows results for an old query, Opus 5.5 max: 100100F02 The search box shows results for an old query, Fable 5.1 low: 100100F02 The search box shows results for an old query, Fable 5.1 max: 100100F02 The search box shows results for an old query, Opus 5 low: 100100F02 The search box shows results for an old query, Opus 5 max: 100100F02 The search box shows results for an old query, Sonnet 5 low: 100100F02 The search box shows results for an old query, Sonnet 5 max: 100100F02 The search box shows results for an old query, Fable 5 low: 100100F02 The search box shows results for an old query, Fable 5 max: 100100F02 The search box shows results for an old query, Haiku 4.5: 100100F03Some subscriptio…F03 Some subscriptions renew a day early, Sonnet 5.5 low: 100100F03 Some subscriptions renew a day early, Sonnet 5.5 max: 100100F03 Some subscriptions renew a day early, Opus 5.5 low: 100100F03 Some subscriptions renew a day early, Opus 5.5 max: 100100F03 Some subscriptions renew a day early, Fable 5.1 low: 100100F03 Some subscriptions renew a day early, Fable 5.1 max: 100100F03 Some subscriptions renew a day early, Opus 5 low: 100100F03 Some subscriptions renew a day early, Opus 5 max: 100100F03 Some subscriptions renew a day early, Sonnet 5 low: 8686F03 Some subscriptions renew a day early, Sonnet 5 max: 100100F03 Some subscriptions renew a day early, Fable 5 low: 100100F03 Some subscriptions renew a day early, Fable 5 max: 100100F03 Some subscriptions renew a day early, Haiku 4.5: 2929F04Review a pull…F04 Review a pull request before merging, Sonnet 5.5 low: 8686F04 Review a pull request before merging, Sonnet 5.5 max: 100100F04 Review a pull request before merging, Opus 5.5 low: 8686F04 Review a pull request before merging, Opus 5.5 max: 100100F04 Review a pull request before merging, Fable 5.1 low: 100100F04 Review a pull request before merging, Fable 5.1 max: 100100F04 Review a pull request before merging, Opus 5 low: 100100F04 Review a pull request before merging, Opus 5 max: 100100F04 Review a pull request before merging, Sonnet 5 low: 100100F04 Review a pull request before merging, Sonnet 5 max: 100100F04 Review a pull request before merging, Fable 5 low: 100100F04 Review a pull request before merging, Fable 5 max: 100100F04 Review a pull request before merging, Haiku 4.5: 8686F05SQL: which…F05 SQL: which customers left and came back, Sonnet 5.5 low: 100100F05 SQL: which customers left and came back, Sonnet 5.5 max: 100100F05 SQL: which customers left and came back, Opus 5.5 low: 100100F05 SQL: which customers left and came back, Opus 5.5 max: 100100F05 SQL: which customers left and came back, Fable 5.1 low: 100100F05 SQL: which customers left and came back, Fable 5.1 max: 100100F05 SQL: which customers left and came back, Opus 5 low: 100100F05 SQL: which customers left and came back, Opus 5 max: 100100F05 SQL: which customers left and came back, Sonnet 5 low: 5757F05 SQL: which customers left and came back, Sonnet 5 max: 100100F05 SQL: which customers left and came back, Fable 5 low: 100100F05 SQL: which customers left and came back, Fable 5 max: 100100F05 SQL: which customers left and came back, Haiku 4.5: 1414F06A contacts…F06 A contacts import that survives real CSV files, Sonnet 5.5 low: 100100F06 A contacts import that survives real CSV files, Sonnet 5.5 max: 100100F06 A contacts import that survives real CSV files, Opus 5.5 low: 100100F06 A contacts import that survives real CSV files, Opus 5.5 max: 100100F06 A contacts import that survives real CSV files, Fable 5.1 low: 100100F06 A contacts import that survives real CSV files, Fable 5.1 max: 100100F06 A contacts import that survives real CSV files, Opus 5 low: 100100F06 A contacts import that survives real CSV files, Opus 5 max: 100100F06 A contacts import that survives real CSV files, Sonnet 5 low: 7878F06 A contacts import that survives real CSV files, Sonnet 5 max: 100100F06 A contacts import that survives real CSV files, Fable 5 low: 100100F06 A contacts import that survives real CSV files, Fable 5 max: 100100F06 A contacts import that survives real CSV files, Haiku 4.5: 100100F07Make a slow…F07 Make a slow script fast, Sonnet 5.5 low: 100100F07 Make a slow script fast, Sonnet 5.5 max: 100100F07 Make a slow script fast, Opus 5.5 low: 100100F07 Make a slow script fast, Opus 5.5 max: 100100F07 Make a slow script fast, Fable 5.1 low: 100100F07 Make a slow script fast, Fable 5.1 max: 100100F07 Make a slow script fast, Opus 5 low: 100100F07 Make a slow script fast, Opus 5 max: 100100F07 Make a slow script fast, Sonnet 5 low: 100100F07 Make a slow script fast, Sonnet 5 max: 100100F07 Make a slow script fast, Fable 5 low: 100100F07 Make a slow script fast, Fable 5 max: 100100F07 Make a slow script fast, Haiku 4.5: 100100
Show the numbers.
Score out of 100 on each prompt in code, for each model and setting
PromptSonnet 5.5 lowSonnet 5.5 maxOpus 5.5 lowOpus 5.5 maxFable 5.1 lowFable 5.1 maxOpus 5 lowOpus 5 maxSonnet 5 lowSonnet 5 maxFable 5 lowFable 5 maxHaiku 4.5
F01 Load more shows some posts twice and skips others100100100100100100100100100100100100100
F02 The search box shows results for an old query100100100100100100100100100100100100100
F03 Some subscriptions renew a day early1001001001001001001001008610010010029
F04 Review a pull request before merging861008610010010010010010010010010086
F05 SQL: which customers left and came back1001001001001001001001005710010010014
F06 A contacts import that survives real CSV files10010010010010010010010078100100100100
F07 Make a slow script fast100100100100100100100100100100100100100

F01 Load more shows some posts twice and skips others

What it asks for

Pastes a Python function that pages through a community board's posts, newest first, and reports that some posts show up twice while others never appear, more often on busy days. Many posts share exactly the same timestamp. It asks for the cause and a fixed function with the same name, arguments and return shape, where posts with the same time come higher id first.

  • Every check passed: by every answer.

F02 The search box shows results for an old query

What it asks for

Pastes a TypeScript controller for a search-as-you-type box with two bugs: typing fast can leave results for an earlier query on screen, and the loading spinner disappears too early. The API client cannot cancel requests. It asks for the whole fixed file with the same exports, the spinner on exactly while the newest search is loading, and code that Node can run with its built-in TypeScript support.

  • Every check passed: by every answer.

F03 Some subscriptions renew a day early

What it asks for

Pastes a JavaScript function that lists a subscription's monthly renewal dates, with its rules in a comment, and reports two symptoms: customers far from UTC renew a day early, and a customer who signed up on the last day of January has been charged on the 28th of every month since. It asks for the function fixed for Node 22 with no libraries, and a short note on what was wrong.

  • Every check passed: by 11 of 13 answers.
  • Missed most often: Explains both causes: the UTC date and drifting month to month, in 2 of 13 answers.

F04 Review a pull request before merging

What it asks for

Pastes a pull request of about 170 lines that adds invoice endpoints to an Express and TypeScript API, and asks for a review before merging that lists what needs fixing in order of importance plus other points worth noting, in under 400 words.

  • Every check passed: by 10 of 13 answers.
  • Missed most often: Stays under the 400-word limit, in 2 of 13 answers.

F05 SQL: which customers left and came back

What it asks for

Gives the schema of a subscriptions database and asks for one SQLite query that lists each gap in a customer's access that ended with them returning, with the last day of access, the day it came back and the number of days without it. Plan changes can make periods touch, overlap or sit inside one another, and none of that counts as a gap. A small example with its expected output is included.

  • Every check passed: by 11 of 13 answers.
  • Missed most often: It gets the example in the question right, in 2 of 13 answers.

F06 A contacts import that survives real CSV files

What it asks for

Asks for a Python function, standard library only, that imports contacts from CSV files exported by many different tools and returns each contact's name, email and phone. The files vary in header names, comma or semicolon separators, a byte order mark, quoted fields with line breaks, Windows line endings and older files in Windows-1252. Rows without an email are skipped, and a repeated email keeps its first row.

  • Every check passed: by 12 of 13 answers.
  • Missed most often: Line breaks inside quoted fields are kept as one \n, in 1 of 13 answers.

F07 Make a slow script fast

What it asks for

Pastes a Python function that matches bank payments to open invoices by customer, amount and a due date within 7 days, and says it is far too slow on about 200,000 of each. It asks for a replacement that runs in a couple of seconds, returns exactly the same results for every input and leaves the lists it is given unchanged.

  • Every check passed: by every answer.

What max effort changed

Of the six models tested at both low and max effort, three scored higher here at max effort, no lower and three the same. The widest change was Sonnet 5, from 89 at low effort to 100 at max.

Score on code at low and max effort, for each model with both
ModelLow effortMax effortChange
Sonnet 5.598100+2
Opus 5.598100+2
Fable 5.11001000
Opus 51001000
Sonnet 589100+11
Fable 51001000

What these prompts ask, and how they are marked

Each prompt is a bug or a job from ordinary working code: posts that repeat when more are loaded, a search box that shows results for an old query, renewals a day early, a pull request to review, a SQL query, a contacts import and a script that is too slow.

The code in each answer is run in a sandbox against hidden tests the model never saw. The few other checks are counted by a program or read by a second model, such as whether a review names the real risk.

Seven prompts and 51 checks in all: 48 run or counted by a program and 3 read by a second model. The full method.

The other kinds of work