Benchmarky AI modelů v kódováníAI Models Coding Benchmarks
Jak dobře dnešní AI modely hledají chyby v cizím kódu? Každý model dostane stejnou službu — zkracovač odkazů — napsanou v sedmi jazycích, plus jeden návrhový dokument, a do všeho jsou nastražené známé chyby. Model dělá revizi, deterministický porovnávač počítá, kolik nastražených chyb našel. Žádný posuzovatel, žádný vkus. Data pocházejí z otevřeného nástroje fixpoint, který modely používá jako panel revizorů kódu.How well do today's AI models find defects in code they did not write? Every model gets the same service — a link shortener — written in seven languages, plus one design document, all of it with known, planted defects. The model reviews it; a deterministic matcher counts how many planted defects it found. No judge, no taste. The data comes from fixpoint, an open-source tool that runs models as a code-review panel.
ModelůModels
45
CílůTargets
8 7 jazyků + návrh7 languages + design
Nastražených chybPlanted defects
484
Revizních sezeníReview sessions
1087
MěřenoMeasured
2026-08-20 – 2026-10-29
Co se měříWhat is measured
Model pracuje jako revizor kódu: dostane celý projekt a tři revizní „čočky" — chyby, souběžnost, bezpečnost (u návrhového dokumentu dvě: selhání a data). Bod dostane za každou nastraženou chybu, kterou pojmenuje ve správném souboru, na správných řádcích a správnými slovy.The model works as a code reviewer: it gets the whole project and three review lenses — bugs, concurrency, security (two for the design document: failure and data). It earns a point for every planted defect it names in the right file, at the right lines, in the right words.
Skóre je součet za všech 8 cílů, 484 bodů celkem. Nikdo nemá plný počet a tak to má být — zajímavá je vzdálenost k nejlepšímu, ne ke stu procentům.The score is the sum over all 8 targets, 484 points in total. Nobody scores full marks, by design — what matters is the distance to the best, not to 100%.
Stejná služba, sedm jazykůOne service, seven languages
Go, Rust, Java, TypeScript, C#, C++ a Python. Držet stejnou doménu a měnit jen jazyk dělá z jazyka jedinou proměnnou: model, který najde obrácenou kontrolu expirace v Go a mine ji v Rustu, selhává na jazyce, ne na typu chyby.Go, Rust, Java, TypeScript, C#, C++ and Python. Holding the same domain and changing only the language makes the language the one variable: a model that finds the inverted expiry check in Go and misses it in Rust is failing at the language, not at the defect class.
Část chyb je paralelní (tatáž logická chyba ve všech jazycích), část jen pro daný jazyk — třeba unwrap() na prázdném Option, zamčení ve špatném pořadí nebo nedosažitelná podmínka, kterou TypeScript odhalí už při kompilaci.Some defects are parallel (the same logical bug in every language), some are language-only — an unwrap() on an absent Option, a lock-order inversion, or an always-true condition that TypeScript rejects at compile time.
Jedna proměnná, žádný posuzovatelOne variable, no judge
Každý model běží ve stejném harnessu se stejnými produkčními prompty nad stejnými zmrazenými cíli. Bodování dělá porovnávač: soubor, okno řádků, klíčová slova. Jedno zjištění se počítá nejvýš jednou; zjištění, které zabalí dvě chyby do jedné věty, dostane jeden bod.Every model runs in the same harness with the same production prompts over the same frozen targets. Scoring is a matcher: file, line window, keywords. One finding is credited at most once; a finding that bundles two defects into one sentence earns one point.
Skóre z jednoho opakování je vzorek, ne rozsudek: i nejlepší model najde chybu v jednom běhu a v dalším ne. Tabulka níže je jedno opakování na model.A single-repeat score is a sample, not a verdict: even the best model finds a defect in one run and not the next. The table below is one repeat per model.
Co stojí jeden nalezený bodWhat one found defect costs
Tokeny a čas jsou skutečné; cena je z veřejných ceníků každé cesty. $ jsou peníze účtované kartě (OpenRouter), ~$ je cena nominální — cesta účtuje předplatné, ne tokeny, a číslo říká, kolik by tentýž běh stál za katalogové sazby. Jen tak lze srovnat sedadlo placené předplatným se sedadlem placeným kredity.Tokens and time are real; the price comes from each route's published rate card. $ is money billed to a card (OpenRouter), ~$ is notional — the route bills a plan, not tokens, and the figure is what the same run would cost at list rates. It is the only way to compare a seat paid by subscription with one paid in credits.
Selhání kontraktu — výstup, který nejde přečíst — je diskvalifikace bez ohledu na skóre: v panelu spálí celé kolo. Timeout je sezení, které nedoběhne do 30minutového limitu: model je pomalý, ne nespolehlivý ve formátu, ale čočku stojí stejně a kolo panelu na něj čeká celých 30 minut. Obojí se počítá za každé neúspěšné sezení přes všechny běhy modelu, opakování včetně. Čas váží stejně jako tokeny: kolo panelu běží tempem nejpomalejšího revizora.A contract failure — output that cannot be parsed — disqualifies regardless of score: in a panel it burns a whole round. A timeout is a session that did not finish within the 30-minute lens budget: the model is slow, not unreliable in its format, but it costs the same lens and a panel round waits the full 30 minutes for it. Both are counted per failed session, across every run of the model, re-runs included.Wall clock matters as much as tokens: a panel round runs at the pace of its slowest reviewer.
PořadíStandings
Seřazeno podle skóre; kliknutím na hlavičku přeřadíš. Jedno opakování na model.Ranked by score; click a header to re-sort. One repeat per model.
#
ModelModel
CestaRoute
SkóreScore
Úspěš.Recall
TokenyTokens
Bodů/MtokPts / Mtok
CenaTotal $
Za bodPer point
Čas (s)Wall (s)
KontraktContract
TimeoutyTimeouts
MěřenoMeasured
1
claudezákladbaseline
claude-opus-5 (high)
CLICLI sub (claude)
376/484
78%
905,855
415
~$14.12
~$0.038
3,958
0
0
08-20 … 2026-09-01
2
claude-opus-5
AnthropicAnthropic sub (claude)
373/484
77%
907,315
411
~$14.36
~$0.038
4,152
0
0
2026-09-01
3
claude-opus-5-5
AnthropicAnthropic sub (claude)
372/484
77%
913,873
407
~$10.02
~$0.027
2,016
0
0
2026-09-22
4
claude-sonnet-5-5
AnthropicAnthropic sub (claude)
369/484
76%
847,251
436
~$4.93
~$0.013
1,605
0
0
2026-09-29
5
claude-fable-5-1
AnthropicAnthropic sub (claude)
365/484
75%
852,453
428
~$24.62
~$0.067
3,504
0
0
09-01 … 2026-09-02
6
claude-haiku-5-5
AnthropicAnthropic sub (claude)
356/484
74%
1,708,088
208
~$0.57
~$0.002
3,255
0
0
2026-10-07
7
codex@google/gemini-4-argon
OpenRouter · codexOpenRouter · codex credits
348/484
72%
4,983,598
70
$13.62
$0.039
3,701
0
0
2026-10-13
8
ollama-codex@beam:cloud
ollama/codexollama/codex sub (ollama)
348/484
72%
2,887,603
121
–
–
2,761
0
0
10-19 … 2026-10-28
9
deepseek/deepseek-v4.1-flash-1017
deepseek-v4.1-flash 1017, Oct 2026 release
OpenRouterOpenRouter credits
346/484
71%
2,001,825
173
$0.54
$0.002
9,048
0
0
2026-10-17
10
qwen/qwen3.8-max
OpenRouterOpenRouter credits
331/484
68%
1,417,144
234
$8.26
$0.025
11,266
0
0
08-20 … 2026-09-01
11
minimax-m3.1-flash:cloud
ollama cloudollama cloud sub (ollama)
330/484
68%
3,792,259
87
~$2.27
~$0.007
32,418
0
3
2026-10-19
12
beam:cloud
ollama cloudollama cloud sub (ollama)
328/484
68%
1,420,399
231
–
–
2,665
1
0
2026-10-19
13
kimi-k3:cloud
ollama cloudollama cloud sub (ollama)
319/484
66%
1,818,863
175
~$7.58
~$0.024
2,179
0
0
2026-09-02
14
qwen/qwen3.8-27b
OpenRouterOpenRouter credits
314/484
65%
2,024,646
155
$2.52
$0.008
12,930
0
0
08-20 … 2026-09-01
15
glm-5.3:cloud
ollama cloudollama cloud sub (ollama)
313/484
65%
4,706,916
67
~$7.31
~$0.023
2,540
0
0
08-31 … 2026-09-01
16
deepseek-v4.1-flash:cloud
deepseek-v4.1-flash, Sep 2026 release
ollama cloudollama cloud sub (ollama)
312/484
64%
1,130,427
276
~$0.35
~$0.001
2,487
0
0
2026-09-13
17
nemotron-3-ultra:cloud
ollama cloudollama cloud sub (ollama)
310/484
64%
5,937,436
52
~$1.66
~$0.005
20,316
1
0
2026-09-02
18
vllm@bottlecapai/ThinkingCap-Qwen3.8-27B
vllmvllm rented GPU
307/484
63%
1,113,179
276
~$1.64
~$0.005
7,565
0
0
2026-10-05
19
ollama-codex@glm-5.3-flash:cloud#max
ollama/codexollama/codex sub (ollama)
305/484
63%
1,776,336
172
~$0.65
~$0.002
4,619
0
0
2026-10-28
20
glm-5.3-flash:cloud
ollama cloudollama cloud sub (ollama)
304/484
63%
4,717,634
64
~$0.78
~$0.003
2,209
0
0
08-28 … 2026-09-01
21
codex@moonshotai/kimi-k3.1-pro#xhigh
OpenRouter · codexOpenRouter · codex credits
300/484
62%
625,863
479
$3.56
$0.012
3,677
0
0
2026-10-24
22
codexzákladbaseline
gpt-5.6-sol (high)
CLICLI sub (chatgpt)
298/484
62%
569,942
523
~$8.36
~$0.028
6,810
0
0
08-20 … 2026-09-01
23
ollama-direct@glm-5.3-flash:cloud#max
ollama cloudollama cloud sub (ollama)
295/484
61%
7,343,963
40
–
–
4,502
0
0
2026-10-28
24
codex@moonshotai/kimi-k3.1-pro
OpenRouter · codexOpenRouter · codex credits
293/484
61%
815,932
359
$3.76
$0.013
3,486
0
0
2026-10-24
25
glm-5.2:cloud
ollama cloudollama cloud sub (ollama)
278/484
57%
3,596,257
77
~$5.72
~$0.021
3,948
0
0
2026-09-01
26
claude-fable-5
AnthropicAnthropic sub (claude)
277/484
57%
804,164
345
~$23.50
~$0.085
3,653
0
0
2026-09-01
27
x-ai/grok-4.6
OpenRouterOpenRouter credits
277/484
57%
1,427,795
194
$6.00
$0.022
7,955
0
0
08-20 … 2026-09-01
28
deepseek-v4-pro:cloud
ollama cloudollama cloud sub (ollama)
270/484
56%
3,546,238
76
~$2.83
~$0.010
2,551
0
0
2026-09-01
29
gpt-6-astra-xhigh
gpt-6-astra (xhigh)
CLICLI sub (chatgpt)
270/484
56%
607,708
444
~$14.94
~$0.055
5,617
0
0
2026-09-05
30
claude-opus-4-8
AnthropicAnthropic sub (claude)
268/484
55%
808,959
331
~$11.58
~$0.043
2,912
0
0
2026-09-01
31
gpt-6-astra
(high)
CLICLI sub (chatgpt)
265/484
55%
533,834
496
~$10.58
~$0.040
3,600
0
0
09-05 … 2026-09-07
32
gpt-6.1-sol
(high)
CLICLI sub (chatgpt)
254/484
52%
576,550
441
~$2.17
~$0.009
5,463
0
0
2026-09-30
33
minimax-m3:cloud
ollama cloudollama cloud sub (ollama)
251/484
52%
6,569,978
38
~$4.56
~$0.018
6,003
2
0
2026-09-01
34
deepseek-v4-flash:0731-cloud
ollama cloudollama cloud sub (ollama)
249/484
51%
4,499,460
55
~$1.19
~$0.005
6,800
0
0
2026-09-02
35
claude-sonnet-5
AnthropicAnthropic sub (claude)
245/484
51%
1,221,531
201
~$7.99
~$0.033
4,313
0
0
2026-09-05
36
kimi-k2.7-code:cloud
ollama cloudollama cloud sub (ollama)
242/484
50%
1,561,494
155
~$2.54
~$0.010
2,876
0
0
2026-09-01
37
gpt-oss:120b-cloud
ollama cloudollama cloud sub (ollama)
236/484
49%
8,458,314
28
~$1.41
~$0.006
3,533
0
0
2026-09-02
38
gpt-6.1-terra
(high)
CLICLI sub (chatgpt)
223/484
46%
353,685
631
~$0.56
~$0.003
703
0
0
2026-10-29
39
gpt-5.6-terra
(high)
CLICLI sub (chatgpt)
221/484
46%
612,382
361
~$3.04
~$0.014
2,896
0
0
2026-09-07
40
gpt-6-sol
(high)
CLICLI sub (chatgpt)
221/484
46%
551,982
400
~$2.39
~$0.011
2,451
0
0
2026-09-22
41
beam-ollama-directneúplnéincomplete
beam:cloud (xhigh)
CLICLI sub (chatgpt)
215/347
62%
913,809
235
–
–
1,235
0
0
2026-10-28
42
qwen3.5:397b-cloud
ollama cloudollama cloud sub (ollama)
186/484
38%
2,376,518
78
~$1.66
~$0.009
1,187
0
0
2026-09-02
43
gemma4:31b-cloud
ollama cloudollama cloud sub (ollama)
156/484
32%
4,444,302
35
~$0.66
~$0.004
1,598
0
0
2026-09-01
44
muse-spark-open:cloud
ollama cloudollama cloud sub (ollama)
143/484
30%
1,412,477
101
~$2.54
~$0.018
941
0
0
2026-10-16
45
beam-ollama-direct-fallbackneúplnéincomplete
ollama cloudollama cloud sub (ollama)
45/90
50%
4,030,496
11
–
–
428
0
0
2026-10-28
Úspěšnost podle cíleRecall per target
Skóre nahoře je součet těchto sloupců — a právě součet schová cíl, na kterém je slabé celé pole. Poslední řádek je medián pole.The score above collapses these columns into one number, which is what hides a target the whole field is weak on. The last row is the field median.
ModelModel
go
design
cpp
csharp
java
python
rust
typescript
claude
77%43/56
59%20/34
80%51/64
75%51/68
75%52/69
77%51/66
83%53/64
87%55/63
claude-opus-5
75%42/56
47%16/34
80%51/64
76%52/68
80%55/69
74%49/66
83%53/64
87%55/63
claude-opus-5-5
75%42/56
50%17/34
80%51/64
78%53/68
81%56/69
73%48/66
81%52/64
84%53/63
claude-sonnet-5-5
79%44/56
53%18/34
84%54/64
75%51/68
77%53/69
77%51/66
77%49/64
78%49/63
claude-fable-5-1
71%40/56
44%15/34
77%49/64
75%51/68
77%53/69
79%52/66
81%52/64
84%53/63
claude-haiku-5-5
73%41/56
62%21/34
73%47/64
69%47/68
74%51/69
77%51/66
73%47/64
81%51/63
codex@google/gemini-4-argon
75%42/56
41%14/34
75%48/64
65%44/68
77%53/69
73%48/66
78%50/64
78%49/63
ollama-codex@beam:cloud
70%39/56
47%16/34
75%48/64
72%49/68
74%51/69
74%49/66
72%46/64
79%50/63
deepseek/deepseek-v4.1-flash-1017
66%37/56
59%20/34
84%54/64
60%41/68
75%52/69
73%48/66
70%45/64
78%49/63
qwen/qwen3.8-max
66%37/56
56%19/34
77%49/64
63%43/68
64%44/69
73%48/66
69%44/64
75%47/63
minimax-m3.1-flash:cloud
80%45/56
38%13/34
80%51/64
50%34/68
77%53/69
83%55/66
59%38/64
65%41/63
beam:cloud
66%37/56
44%15/34
66%42/64
65%44/68
75%52/69
77%51/66
61%39/64
76%48/63
kimi-k3:cloud
73%41/56
41%14/34
72%46/64
71%48/68
64%44/69
59%39/66
64%41/64
73%46/63
qwen/qwen3.8-27b
68%38/56
44%15/34
78%50/64
63%43/68
68%47/69
64%42/66
55%35/64
70%44/63
glm-5.3:cloud
70%39/56
41%14/34
59%38/64
65%44/68
71%49/69
73%48/66
61%39/64
67%42/63
deepseek-v4.1-flash:cloud
63%35/56
47%16/34
70%45/64
60%41/68
71%49/69
64%42/66
59%38/64
73%46/63
nemotron-3-ultra:cloud
57%32/56
47%16/34
73%47/64
65%44/68
68%47/69
64%42/66
61%39/64
68%43/63
vllm@bottlecapai/ThinkingCap-Qwen3.8-27B
66%37/56
41%14/34
78%50/64
56%38/68
68%47/69
71%47/66
53%34/64
63%40/63
ollama-codex@glm-5.3-flash:cloud#max
63%35/56
44%15/34
73%47/64
60%41/68
71%49/69
59%39/66
64%41/64
60%38/63
glm-5.3-flash:cloud
71%40/56
32%11/34
67%43/64
66%45/68
64%44/69
68%45/66
55%35/64
65%41/63
codex@moonshotai/kimi-k3.1-pro#xhigh
66%37/56
44%15/34
69%44/64
60%41/68
68%47/69
65%43/66
61%39/64
54%34/63
codex
70%39/56
38%13/34
66%42/64
65%44/68
64%44/69
59%39/66
56%36/64
65%41/63
ollama-direct@glm-5.3-flash:cloud#max
59%33/56
38%13/34
55%35/64
71%48/68
61%42/69
71%47/66
58%37/64
63%40/63
codex@moonshotai/kimi-k3.1-pro
64%36/56
44%15/34
61%39/64
59%40/68
61%42/69
61%40/66
58%37/64
70%44/63
glm-5.2:cloud
59%33/56
41%14/34
63%40/64
56%38/68
61%42/69
59%39/66
55%35/64
59%37/63
claude-fable-5
73%41/56
35%12/34
52%33/64
53%36/68
55%38/69
73%48/66
52%33/64
57%36/63
x-ai/grok-4.6
57%32/56
32%11/34
61%39/64
54%37/68
55%38/69
62%41/66
59%38/64
65%41/63
deepseek-v4-pro:cloud
52%29/56
44%15/34
59%38/64
51%35/68
61%42/69
58%38/66
52%33/64
63%40/63
gpt-6-astra-xhigh
57%32/56
41%14/34
70%45/64
46%31/68
49%34/69
64%42/66
55%35/64
59%37/63
claude-opus-4-8
55%31/56
35%12/34
58%37/64
54%37/68
64%44/69
61%40/66
50%32/64
56%35/63
gpt-6-astra
63%35/56
41%14/34
66%42/64
41%28/68
58%40/69
61%40/66
45%29/64
59%37/63
gpt-6.1-sol
54%30/56
32%11/34
66%42/64
43%29/68
54%37/69
59%39/66
45%29/64
59%37/63
minimax-m3:cloud
66%37/56
38%13/34
59%38/64
46%31/68
54%37/69
55%36/66
44%28/64
49%31/63
deepseek-v4-flash:0731-cloud
50%28/56
26%9/34
50%32/64
51%35/68
48%33/69
62%41/66
44%28/64
68%43/63
claude-sonnet-5
50%28/56
24%8/34
52%33/64
51%35/68
64%44/69
56%37/66
45%29/64
49%31/63
kimi-k2.7-code:cloud
57%32/56
44%15/34
47%30/64
50%34/68
54%37/69
42%28/66
52%33/64
52%33/63
gpt-oss:120b-cloud
41%23/56
26%9/34
55%35/64
56%38/68
59%41/69
42%28/66
48%31/64
49%31/63
gpt-6.1-terra
41%23/56
32%11/34
63%40/64
31%21/68
57%39/69
53%35/66
31%20/64
54%34/63
gpt-5.6-terra
50%28/56
26%9/34
55%35/64
40%27/68
42%29/69
48%32/66
41%26/64
56%35/63
gpt-6-sol
36%20/56
38%13/34
55%35/64
40%27/68
57%39/69
48%32/66
33%21/64
54%34/63
beam-ollama-direct
68%38/56
50%17/34
45%29/64
—
—
76%50/66
59%38/64
68%43/63
qwen3.5:397b-cloud
30%17/56
35%12/34
44%28/64
38%26/68
45%31/69
38%25/66
41%26/64
33%21/63
gemma4:31b-cloud
30%17/56
29%10/34
38%24/64
29%20/68
43%30/69
29%19/66
30%19/64
27%17/63
muse-spark-open:cloud
18%10/56
38%13/34
27%17/64
32%22/68
51%35/69
21%14/66
42%27/64
8%5/63
beam-ollama-direct-fallback
46%26/56
56%19/34
—
—
—
—
—
—
medián polefield median
64%
41%
66%
59%
64%
64%
57%
65%
!označuje buňku, jejíž běh přišel o jednu čočku kvůli selhání kontraktu nebo timeoutu a nemá čisté opakování: úspěšnost je podhodnocená, ne nízká, a do mediánu se nepočítá. Červeně je jen hodnota ve sloupci Kontrakt nebo Timeouty, která není nulová.marks a cell whose run lost a lens to a contract failure or a timeout, with no clean re-run: its recall isdeflated, not low, and it is left out of the median. Only a non-zero value in the Contract or Timeouts column is red.
Co benchmark neměří: jedno kolo nad známými chybami. Skutečná revize je vícekolová a hledá chyby, které nikdo předem nenastražil. Model, který je tu silný, nemusí být nejlepším členem panelu — ten se kupuje za to, co najde navíc oproti ostatním, ne za samostatné skóre.What the bench does not measure: one round over known defects. Real review is multi-round and hunts defects nobody planted. A model that is strong here is not automatically the best panel member — a seat is bought for what a model finds on top of the others, not for its solo score.
Ceny jsou z ceníků platných v den měření; cesty přes předplatné (Claude, ChatGPT, ollama cloud) účtují limity, ne tokeny, takže jejich ~$ je srovnávací číslo, nikoli faktura.Prices are from the rate cards current on the day of measurement; subscription routes (Claude, ChatGPT, ollama cloud) meter quotas, not tokens, so their ~$ is a comparison figure, not an invoice.