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
25
CílůTargets
8 7 jazyků + návrh7 languages + design
Nastražených chybPlanted defects
484
Revizních sezeníReview sessions
587
MěřenoMeasured
2026-08-20 – 2026-09-07
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. Č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. 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)
ChybErr
MěřenoMeasured
1
claudezákladbaseline
claude-opus-5 (high)
CLICLI sub (claude)
376/484
78%
354,048
1062
~$8.61
~$0.023
3,958
0
08-20 … 2026-09-01
2
claude-opus-5
AnthropicAnthropic sub (claude)
373/484
77%
355,041
1051
~$8.84
~$0.024
4,152
0
2026-09-01
3
claude-fable-5-1
AnthropicAnthropic sub (claude)
365/484
75%
303,615
1202
~$13.65
~$0.037
3,504
0
09-01 … 2026-09-02
4
qwen/qwen3.8-max
OpenRouterOpenRouter credits
331/484
68%
465,715
711
$6.35
$0.019
11,266
0
08-20 … 2026-09-01
5
kimi-k3:cloud
ollama cloudollama cloud sub (ollama)
319/484
66%
1,818,863
175
~$7.58
~$0.024
2,179
0
2026-09-02
6
qwen/qwen3.8-27b
OpenRouterOpenRouter credits
314/484
65%
1,939,356
162
$2.48
$0.008
12,930
0
08-20 … 2026-09-01
7
glm-5.3:cloud
ollama cloudollama cloud sub (ollama)
313/484
65%
4,706,916
67
~$7.31
~$0.023
2,540
0
08-31 … 2026-09-01
8
nemotron-3-ultra:cloud
ollama cloudollama cloud sub (ollama)
310/484
64%
5,937,436
52
~$1.66
~$0.005
20,316
1
2026-09-02
9
glm-5.3-flash:cloud
ollama cloudollama cloud sub (ollama)
304/484
63%
4,717,634
64
~$0.78
~$0.003
2,209
0
08-28 … 2026-09-01
10
codexzákladbaseline
gpt-5.6-sol (high)
CLICLI sub (chatgpt)
298/484
62%
569,942
523
~$8.36
~$0.028
6,810
0
08-20 … 2026-09-01
11
glm-5.2:cloud
ollama cloudollama cloud sub (ollama)
278/484
57%
3,596,257
77
~$5.72
~$0.021
3,948
0
2026-09-01
12
claude-fable-5
AnthropicAnthropic sub (claude)
277/484
57%
298,667
928
~$13.39
~$0.048
3,653
0
2026-09-01
13
x-ai/grok-4.6
OpenRouterOpenRouter credits
277/484
57%
1,427,795
194
$6.00
$0.022
7,955
0
08-20 … 2026-09-01
14
deepseek-v4-pro:cloud
ollama cloudollama cloud sub (ollama)
270/484
56%
3,546,238
76
~$2.83
~$0.010
2,551
0
2026-09-01
15
gpt-6-astra-xhigh
gpt-6-astra (xhigh)
CLICLI sub (chatgpt)
270/484
56%
607,708
444
~$14.94
~$0.055
5,617
0
2026-09-05
16
claude-opus-4-8
AnthropicAnthropic sub (claude)
268/484
55%
254,630
1053
~$6.04
~$0.023
2,912
0
2026-09-01
17
gpt-6-astra
(high)
CLICLI sub (chatgpt)
265/484
55%
533,834
496
~$10.58
~$0.040
3,600
0
09-05 … 2026-09-07
18
minimax-m3:cloud
ollama cloudollama cloud sub (ollama)
251/484
52%
6,569,978
38
~$4.56
~$0.018
6,003
2
2026-09-01
19
deepseek-v4-flash:0731-cloud
ollama cloudollama cloud sub (ollama)
249/484
51%
4,499,460
55
~$1.19
~$0.005
6,800
0
2026-09-02
20
claude-sonnet-5
AnthropicAnthropic sub (claude)
245/484
51%
447,211
548
~$4.89
~$0.020
4,313
0
2026-09-05
21
kimi-k2.7-code:cloud
ollama cloudollama cloud sub (ollama)
242/484
50%
1,561,494
155
~$2.54
~$0.010
2,876
0
2026-09-01
22
gpt-oss:120b-cloud
ollama cloudollama cloud sub (ollama)
236/484
49%
8,458,314
28
~$1.41
~$0.006
3,533
0
2026-09-02
23
gpt-5.6-terra
(high)
CLICLI sub (chatgpt)
221/484
46%
612,382
361
~$3.04
~$0.014
2,896
0
2026-09-07
24
qwen3.5:397b-cloud
ollama cloudollama cloud sub (ollama)
186/484
38%
2,376,518
78
~$1.66
~$0.009
1,187
0
2026-09-02
25
gemma4:31b-cloud
ollama cloudollama cloud sub (ollama)
156/484
32%
4,444,302
35
~$0.66
~$0.004
1,598
0
2026-09-01
Ú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-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
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
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
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
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
70%39/56
38%13/34
66%42/64
65%44/68
64%44/69
59%39/66
56%36/64
65%41/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
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-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
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
medián polefield median
59%
41%
61%
54%
61%
61%
55%
63%
!označuje buňku, jejíž běh přišel o jednu čočku kvůli selhání kontraktu: úspěšnost je podhodnocená, ne nízká, a do mediánu se nepočítá. Řádek podbarvený červeně má aspoň jedno selhání kontraktu.marks a cell whose run lost a lens to a contract failure: its recall is deflated, not low, and it is left out of the median. A red-tinted row has at least one contract failure.
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.