Hoppa till innehåll

Så håller du kvaliteten när AI skriver koden

Torn Studio2 min läsning

Torn Studio är en AI-byrå som bygger webbplatser, digitala produkter och innehåll. Otraditionellt.

Kort svar

När AI skriver merparten av koden flyttas kvalitetsansvaret från granskning till automatiska grindar. Typkontroll i strikt läge, tester, lintregler som kodifierar arkitekturbeslut och ett enda verify-kommando som måste vara grönt före varje commit fångar tillsammans det som en människa slutar se efter den tredje filen.

Den vanligaste invändningen mot AI-skriven kod är att den glider isär. Stilen, strukturen och besluten drar åt olika håll månad för månad, tills ingen längre kan säga varför något ser ut som det gör.

Granskning skalar inte

En människa som granskar sin tredje AI-genererade fil på en timme läser med sämre skärpa. Det är en förutsägbar effekt av hur uppmärksamhet fungerar. Lösningen är att flytta så mycket som möjligt av bedömningen till något som håller jämn skärpa.

Grindarna som gör jobbet

  • Typkontroll i strikt läge, inklusive noUncheckedIndexedAccess
  • Lintregler som kodifierar arkitekturbeslut
  • Tester för det som kostar pengar om det går sönder
  • Ett enda kommando som kör allt, som måste vara grönt före commit

Poängen med den sista punkten är att en grind räknas först när den körs. Krävs fyra kommandon och gott minne blir den överhoppad på en fredag.

Underlag

Vad den här artikeln vilar på — en mätning vi gjort, en daterad källa eller ett beslut vi tagit och vad det kostade.

  • Beslut

    Kvalitet hålls av automatiska grindar som körs vid varje ändring: typkontroll, tester, lintregler som kodar in arkitekturbeslut, och ett kommando som måste vara grönt före varje commit.

    Vad det kostade: Det kostar byggtid vid varje ändring, och en brådskande tvåminutersfix kan stoppas av ett kontrasttest eller en typkontroll som inte bryr sig om att det är fredag.

Vanliga frågor

Blir koden sämre om AI skriver den?
Kvaliteten följer grindarna. Finns typkontroll, tester och lintregler på plats håller koden samma nivå oavsett vem eller vad som skrev den.
Vilka tester är värda att skriva?
De som täcker det som kostar pengar när det går sönder: betalflöden, behörighet, dataintegritet och de regler som är svårast att hålla i huvudet. Full täckning av trivial kod ger sämre utbyte per timme.
Hur strikt bör typkontrollen vara?
Strikt läge på, inklusive kontroll av indexerade uppslag. Varje lucka du lämnar öppen är en klass av fel som en människa måste fånga i granskning, och det är precis den delen som skalar sämst.
Kan lintregler ersätta kodgranskning?
De ersätter den tråkiga halvan. En lintregel fångar arkitekturavvikelser mekaniskt, så att granskningen kan ägna sig åt det den är bra på: att avgöra om lösningen löser rätt problem.
Vad gör man när en grind blir för långsam?
Dela upp den. Snabba kontroller körs vid varje sparning, tyngre vid commit och de tyngsta i bygget. En grind som tar tio minuter blir kringgången, och då fångar den ingenting.
Hur får man ett team att köra grindarna varje gång?
Gör det till ett kommando. Krävs det fyra kommandon och gott minne kommer de att hoppas över. Ett enda verify som måste vara grönt är den enda varianten som håller över tid.