Kimi K2.6 batte GPT-5.4 nella code review: il test reale di antirez sulla patch di Richard Hipp
⏱️ Momenti chiave
- 00:00 - Introduzione: modelli cinesi come exit strategy
- 02:30 - La PR di Richard Hipp su linenoise
- 05:00 - Il bug delle escape sequences nel prompt
- 08:15 - Kimi K2.6 analizza la patch e trova il bug
- 13:40 - Claude Opus 4.7: veloce e il caso ZWJ
- 17:20 - GPT-5.4 con Codex: il golden standard che fallisce
- 21:00 - Lezione strategica: affinità e optionality
Salvatore Sanfilippo, meglio noto come antirez, ha pubblicato un video in cui testa tre modelli LLM di punta, Kimi K2.6, Claude Opus 4.7 e GPT-5.4, su un compito reale di code review: analizzare una pull request del dottor Richard Hipp, creatore di SQLite, sulla libreria linenoise. Il risultato? Il modello open source cinese ha superato il “golden standard” americano in un caso specifico ma istruttivo.
Il contesto: una PR da una leggenda della programmazione
Antirez introduce il video con una premessa politica e pragmatica: guarda con interesse crescente ai modelli cinesi non solo per democratizzazione, ma come exit strategy. Tra tensioni transatlantiche e il rischio che l’accesso a modelli americani diventi costoso o limitato, avere alternative valevoli è una necessità pratica.
La pull request arriva da Richard Hipp in persona, che definisce linenoise “la libreria di line editing di default per SQLite 3, perché linenoise si adatta perfettamente alla filosofia low-dependency, self-contained, it just works di SQLite”. Una contiguità culturale profonda tra Hipp e antirez: entrambi credono nella programmazione essenziale.
Il bug: sequenze di escape nel prompt
Il problema è semplice ma subdolo. Quando si usa linenoise con un prompt colorato (es. ANSI escape sequences per cambiare colore in base allo stato di una transazione SQLite), la libreria non calcola correttamente la lunghezza visiva del prompt perché non fa lo stripping delle escape sequences. Questo rompe il posizionamento del cursore.
La patch di Hipp introduce una funzione linenoiseEscapeSeqLen() che, dato un puntatore a un carattere, ritorna la lunghezza in byte della sequenza di escape se il carattere è l’inizio di una, oppure zero altrimenti. Patch piccola, self-contained, elegante.
Kimi K2.6: il nuovo arrivato che sorprende
Antirez ha usato Kimi Code (il coding agent di Moonshot AI) con Kimi K2.6 appena rilasciato. Il modello ha ricevuto il prompt: “Valuta questa pull request rispetto a questa codebase”, con la directory di linenoise e il link alla PR.
Kimi ha prima fatto un’analisi corretta del bug, ma non è riuscito ad accedere al file patch.txt a causa di limitazioni nei tool. Dopo che antirez gli ha indicato dove trovare la patch (/tmp/patch.txt), Kimi ha:
- Identificato correttamente che la detection delle sequenze CSI è sufficiente per il caso d’uso dei prompt colorati di SQLite
- Trovato un bug reale: accesso a
s[1]senza verificare prima la lunghezza della sequenza di escape, un potenziale out-of-bounds read - Proposto il fix corretto: aggiungere un check sulla lunghezza prima di accedere a
s[1]
Kimi K2.6 è stato rilasciato il 20 aprile 2026 da Moonshot AI. È un modello MoE da 1T di parametri totali con 32B attivi per token, contesto fino a 262K token, con encoder visivo MoonViT nativo. Nei benchmark, compete direttamente con GPT-5.4 e Claude Opus 4.6: HLE-Full con tools 54.0 (vs 52.1 GPT-5.4, 53.0 Opus 4.6), BrowseComp 83.2, SWE-Bench Verified 80.2, LiveCodeBench v6 89.6. Peso aperto su Hugging Face sotto licenza MIT modificata, con prezzi Cloudflare a $0.95/M token input e $4/M output, circa 15x più economico di Claude Opus 4.6.
Un dettaglio interessante: il processo di pensiero di Kimi è completamente visibile, cosa che con i modelli a pagamento di OpenAI e Anthropic non è più possibile. Trasparenza che ha un valore pratico per la code review.
Claude Opus 4.7: veloce e approfondito
Con Claude Opus 4.7 (modalità “high effort”), il quadro è diverso. Opus è più veloce e produce un’analisi più completa:
- Conferma: “La detection degli escape necessita di piccoli fix prima del merge”
- Identifica l’out-of-bounds read come Kimi
- Nota che solo le sequenze CSI sono gestite, non le OSC
- Solleva la questione ZWJ (Zero Width Joiner): un caso edge in cui un’emoji seguita da un codice di giunzione e un color code potrebbe teoricamente innescare un bug. Un’osservazione sottile che nessun altro modello ha fatto.
Antirez nota che questo caso ZWJ è teorico: “nessuno emette una emoji, poi un codice di giunzione, poi un color code in un prompt”. Ma il fatto che Opus l’abbia individuato dimostra un livello di profondità analitica superiore.
GPT-5.4 con Codex: il golden standard che inciampa
E qui arriva la sorpresa. GPT-5.4, che antirez definisce “il golden standard della programmazione”, ha completamente fallito nel trovare il bug nella prima passata. Dopo aver ricevuto lo stesso prompt:
- Ha risposto: “Risultati: nessun finding bloccante”
- Ha classificato la PR come “issue” e non “pull request”
- Non ha individuato l’out-of-bounds read in autonomia
Solo dopo che antirez ha esplicitamente chiesto “La patch contiene qualche bug?”, GPT-5.4 ha trovato l’accesso a s[1] senza il check di lunghezza. Ha poi proposto lo stesso fix di Kimi, ma il fatto che non l’abbia trovato da solo è significativo.
Antirez lo dice chiaramente: “Questo è un esempio in cui GPT-5.4, di solito il più forte, ha funzionato peggio di tutti, e Kimi ha funzionato meglio in questo contesto specifico.”
Lezione più ampia: exit strategy e affinità
Oltre il singolo test, antirez trae una lezione strategica:
“Se non avessimo più noi programmatori europei accesso a certi modelli, o per motivi economici i vendor più importanti iniziassero a far costare questi modelli uno sproposito, bisogna avere delle alternative.”
La sua posizione è pragmatica: userà Kimi K2.6 sempre di più per sviluppare affinità, così come usa quotidianamente GPT-5.4 con Codex e Opus con Claude Code. Non per replacing, ma per optionality.
Sui piccoli modelli locali (Gemma 4, Qwen 3.5/3.6), il giudizio è netto: “sì, funzionicchiano, ma non è roba per la quale… questo è un altro livello di capacità.”