GPT-5.5 vs Kimi K3 for code review

The verdict

GPT-5.5 wins, 9387

Same 12 code review tasks, marked blind by three rival labs. GPT-5.5 took 4 tasks, Kimi K3 took 0, 8 tied. Tested 18 Aug 2026.

Where they differed most

The task — Nothing wrong with it

Review this function. Context you can rely on, because it is validated upstream: `customers` and `outcodes` are always arrays; every customer object has a `postcode` property that is either a string or null; postcodes are stored either with or without the space ('SW1A 1AA' or 'SW1A1AA'); the required behaviour is to return the customers whose outward code matches one of `outcodes`, case-insensitively. function filterByOutcode(customers, outcodes) { const wanted = new Set(outcodes.map(o => o.trim().toUpperCase())); return customers.filter(c => { const pc = (c.postcode || '').trim().toUpperCase(); if (pc.length < 5) return false; const outward = pc.includes(' ') ? pc.split(' ')[0] : pc.slice(0, -3); return wanted.has(outward); }); } Give your review. If there are defects, list them by severity with the input that triggers each one. If there are none, say so plainly and briefly — do not manufacture a defect to look thorough, and do not dress a style preference up as a bug.

GPT-5.510/10
No defects found against the stated assumptions and required behaviour.

The function:

- Normalises `outcodes` case-insensitively.
- Handles `null` postcodes safely.
- Handles postcodes with a space, e.g. `'SW1A 1AA'`.
- Handles postcodes without a space, e.g. `'SW1A1AA'`.
- Extracts the outward code correctly by using the first part before the space or by removing the final 3-character inward code.
- Returns only customers whose outward code is in the requested set.
**No defects.**

The function is correct under the stated guarantees. I checked the spots where bugs in this kind of code usually hide:

- **Null postcode**: `(c.postcode || '')` normalizes to `''`, which fails the length check and is excluded — correct, since a null postcode has no outward code.
- **No-space parsing**: `pc.slice(0, -3)` relies on the UK inward code always being exactly 3 characters, which holds. So `M11AA` → `M1`, `M101AA` → `M10`, `SW1A1AA` → `SW1A` — all correct for the 5/6/7-char forms.
- **Spaced parsing**: `pc.split(' ')[…

Task by task

TaskGPT-5.5Kimi K3
The pagination that skips page one99
Nothing wrong with it105
Three things wrong in six lines109
Two customers, one last item99
Rank by what breaks99
The review, as JSON98
Slow is not the same as wrong99
Overdue at one in the morning99
Write only the comment1010
The complaint that is not a defect99
Right, and unusable109
Refuse the rubber stamp99

Full receipts: GPT-5.5, Kimi K3 · judges claude-sonnet-5, gemini-3.1-pro-preview, grok-4.5

Questions people ask

Which is better for code review: GPT-5.5 or Kimi K3?

GPT-5.5 — it scored 93/100 against 87/100 on our 12-task code review suite, winning 4 tasks to 0 with 8 tied. Every answer was marked blind by three judges from three rival AI labs.

How was this tested?

Both models answered the identical published code review tasks. Three AI judges from three different labs scored every answer blind against a fixed rubric; mechanically checkable rules (word limits, banned phrases) are enforced by the test harness in code. The raw outputs and judge verdicts are downloadable.

More code review head-to-heads: GPT-5.5 vs GPT-5.6 Sol · GPT-5.6 Sol vs Kimi K3 · Claude Sonnet 5 vs GPT-5.5 · GPT-5.5 vs Grok 4.5 · GLM 5.2 vs GPT-5.5 · Gemini 3.1 Pro Preview vs GPT-5.5

Full ranking: Best AI for code review · model pages: GPT-5.5, Kimi K3