Det finns en kategori av arbete där en enskild AI-agent tyst misslyckas: stora, flerstegsrensningar där ett enda felaktigt antagande ackumuleras över dussintals ändringar. Mitt svar är hybrid AI-kodgranskning — två olika frontier-modeller i en loop, där en bygger och en granskar — och förra veckan tog det en rörig SwiftUI-prototyp till noll App Store-blockerare på en eftermiddag, utan att jag skrev en enda rad kod.
De två modellerna var Claude Opus 4.8 som ingenjör och Codex (GPT-5.5) som granskare, där varje uppgift studsade genom min AI-brygga tills den klarade en riktig byggnation. Enligt min erfarenhet slår denna setup för hybrid AI-kodgranskning konsekvent varje modell som arbetar ensam, och denna körning var det tydligaste beviset hittills. Här är exakt hur det fungerade.
Börja med en plan, inte en känsla
Du ger inte en agent instruktionen "gör detta produktionsredo." Så får du självsäker nonsens.
Så jag började med en plan. Jag lät Claude klona repot (en baby-minne iOS-app som heter Kiddays), läsa *hela* kodbasen med parallella underagenter och producera en revisionsrapport för produktionsberedskap: 39 konkreta punkter — 9 hårda App Store-blockerare, resten hög och medel svårighetsgrad. Varje punkt hade en fil, en rad, en uppskattning av insatsen och en föreslagen fix.
Den revisionen blev `PRODUCTION_READINESS.md` — en markdown-checklista med `- [ ]`-rutor, sorterade med blockerare först. En fil, den enda sanningskällan. Varje uppgift i den var liten, specifik och *kontrollerbar*. Det sista ordet är viktigt: om du inte kan bocka i en ruta och bevisa det, är det inte en uppgift, det är en önskan.
Loopen för hybrid AI-kodgranskning, steg för steg
Jag körde hela saker i en självgående loop (Claude Codes /loop-läge). Varje iteration hanterade en uppgift, eller ett tight kluster av relaterade sådana, och följde alltid samma rytm.
Den femstegsrytmen
bash codex exec --sandbox read-only -o /tmp/answer.txt <<'PROMPT' Pair-reviewing a fix for this SwiftUI app. Here are the files... Recommend the idiomatic iOS 17 approach, flag pitfalls, validate the diff. PROMPT
Sedan startar loopen igen, och igen, i timmar, utan övervakning. Hela poängen med hybrid AI-kodgranskning är att denna cykel körs utan att jag behöver barnvakta den — byggnationen, inte min uppmärksamhet, är det som styr varje steg.
Varför två modeller slår en
Magin ligger inte i någon av modellerna individuellt — båda är utmärkta, och jag har tidigare skrivit om hur Claude Opus 4.8 slog Codex på min egen kodbas→. Magin är att de har olika blindfläckar, och en granskare som inte skrivit koden har inget ego investerat i diffen.
De fångster som betalade för setupen
Några verkliga ögonblick från denna körning:
Detta är skillnaden mellan en gummistämpel och en granskning. Codex motbevisade saker; Claude integrerade de bra motbevisen och försvarade resten. Diffen blev bättre vid gränsen mellan två modeller som inte delar en hjärna — vilket är hela pitchen bakom styrda agentarbetsflöden→: strukturerade överlämningar slår en modell som pratar med sig själv.
Den ärliga delen: agenter hänger sig, så bygg en vakthund
Två gånger hängde sig Codex CLI för mig — inte på tänkandet, utan vid avstängning, när dess bakgrunds-MCP-servrar misslyckades stängas rent. Jag spårade den första låsningen till MCP-bootstrap själv, efter att processen suttit död i minuter. I en oövervakad loop stoppar en hängning allt.
Fixen var en hård vakthund: en dödstimer runt varje konsultation, plus att inaktivera MCP för anropet helt (`-c mcp_servers={}`) så att det inte fanns något att hänga sig på. Loopen detekterade låsningen, dödade zombie-processen, grep svaret som redan var skrivet, och fortsatte. "Inget fastnar" är inte en trevlig-att-ha-funktion i autonomt arbete — det är hela spelet.
Resultatet
Det som återstår är endast det arbete ingen modell kan göra åt dig: skapa in-app-köpsprodukter i App Store Connect, sätt upp den verkliga backenden, få en advokat att signera integritetspolicyn. Var och en är flaggad i checklistan med exakt vad som behövs.
Metod och källor
Detta är en förstahandsredogörelse för en verklig körning på min egen Kiddays-kodbas. Granskaren var Codex CLI (GPT-5.5); modell-till-modell-överlämningen använde min open-source ai-collab-bridge-färdighet. De iOS-specifika besluten kontrollerades mot Apples egen StoreKit-, SwiftData- och filskyddsdokumentation — och, viktigare, varje enskild ändring bekräftades av en ren `xcodebuild` från grunden innan jag kallade den klar. Jag rapporterar inte vad modellerna hävdade; jag rapporterar vad som kompilerades.
Slutsatsen: ett team, inte en assistent
I de projekt där jag lutat mig mot hybrid AI-kodgranskning var upplåsningen aldrig "hitta den ena modell som gör allt." Det var en stack:
En modell som skriver kod är en assistent. Två modeller som granskar varandra mot en byggnation som kan säga nej börjar likna ett team — och på denna körning skeppade det teamet 39 produktionsfixar medan jag tittade på.
