Hop til hovedindhold

Ugers arbejde klaret på 20 minutter: Redis-skaberen siger, at æraen med at skrive kode manuelt er forbi

Ugers arbejde klaret på 20 minutter: Redis-skaberen siger, at æraen med at skrive kode manuelt er forbi

Forfatteren af denne artikel, antirez, er skaberen af den berømte in-memory-database Redis. Hans software driver driften af titals millioner af virksomheder verden over. antirez var engang AI-skeptiker — han skrev endda en roman om sine frygt for, at AI-automatisering ville erstatte mennesker. Men hans nylige erfaring har bevist, at programmeringens virkelighed har ændret sig for altid. I antirez' tests demonstrerede Claude Code epokegørende effektivitet. Den kan skrive 700 linjer stringent, højeffektiv C-kode på 5 minutter. Den kan autonomt iterere for at reproducere og rette ekstremt tricky deadlock- og timing-bugs i Redis. Selv kompleks intern omstrukturering af Redis Streams tog kun 20 minutter. antirez mener, at programmører i dag bør holde op med at fiksere på at skrive kode linje for linje, fordi det i de fleste tilfælde ikke længere er det rationelle valg. Han foreslår, at alle lærer at blive gode samarbejdspartnere med AI og kanaliserer energi ind i at definere problemer og designe løsninger. Han opmuntrer alle udviklere til at begynde at lære og bruge Claude Code dybdegående. Som antirez siger det: misser ikke din chance for at forme fremtiden ved at nægte at se virkeligheden i øjnene. Brug et par uger på at teste disse nye værktøjer og find måder at multiplicere din produktivitet på. Den reneste glæde ved programmering er at bygge, og AI vil lade dig bygge mere, bygge bedre og bygge med større glæde.

Jeg elsker at skrive software, én linje ad gangen. Man kan sige, at hele min karriere har været en stræben efter at skrive ren, elegant, smagfuld kode. Ærligt ønskede jeg ikke, at AI skulle vinde økonomisk. Jeg er ligeglad med, om det nuværende økonomiske system bliver forstyrret af AI — hvis det fører til massiv omfordeling af velstand, ville jeg endda være glad for det. Men bevidst at lade som om, virkeligheden ikke eksisterer på grund af mine synspunkter om software og samfund, ville være et forræderi mod min egen fornuft. Fakta er fakta. AI ændrer, og vil permanent ændre, dataprogrammering.

I 2020 sagde jeg mit job op for at skrive en roman. Den handlede om AI, universel basisindkomst og et samfund, der tilpasser sig arbejdsautomatisering midt i forskellige udfordringer. I slutningen af 2024 startede jeg en kanal dedikeret til at diskutere AI, hvordan den bruges i programmeringsopgaver, og de mulige påvirkninger den kan medføre. Selvom jeg tidligt anerkendte, at disse ændringer ville ske, antog jeg altid, at vi havde mindst et par år mere, før programmering virkelig ville blive omdannet. Det tror jeg ikke længere. I dag, med de nyeste store sprogmodeller, kan du give et klart sæt mål og lade modellen fuldføre store delopgaver — eller endda mellemstore projekter — næsten helt selv, med minimal menneskelig assistance. Hvor godt det virker, afhænger af den slags programmering, du laver (jo mere selvforsynende og tekstbeskrivelig opgaven er, desto bedre — systemsprogrammering er et glimrende match), og af din evne til at tænke problemet igennem klart og kommunikere det præcist til modellen. Men overordnet er det nu klart: bortset fra at gøre det rent for fornøjelsens skyld, er det at skrive kode manuelt i de fleste projekter ikke længere det mest rationelle valg.

Over den seneste uge har jeg mest skrevet prompts, og af og til gennemgået kode og givet vejledning. På blot et par timer fuldførte jeg følgende fire ting — arbejde, der før ville have taget mig uger.

Jeg ændrede mit linenoise-bibliotek til at understøtte UTF-8. Jeg byggede også et linjeredigerings-testframework med en simuleret terminal, der rapporterer indholdet af hver tegncelle. Dette var noget, jeg altid havde ønsket at gøre. Men det var svært at retfærdiggøre at investere så meget anstrengelse i et lille delprojekt bare til testformål. Nu beskriver du bare, hvad du vil have, og det bliver til kode. Situationen er helt anderledes.

Jeg rettede intermitterende fejl i Redis' testsuite. Den slags arbejde er ekstremt kedeligt, involverer tidskoordinering, TCP-deadlocks og lignende problemer. Claude Code itererede kontinuerligt, brugte tilstrækkelig tid på at reproducere problemet, inspicere hver proces' tilstand, finde ud af, hvad der skete, og derefter rette fejlen.

I går ville jeg have et rent C-bibliotek, der kunne køre inferens med BERT-stil embeddings-modeller. Claude Code skrev det på 5 minutter. Bibliotekets inferenseffektivitet er cirka på niveau med PyTorch, kun cirka 15 % langsommere. Hele biblioteket er bare 700 linjer C-kode. Den genererede endda et Python-værktøj til at konvertere GTE-small-modellen.

Over de seneste uger har jeg ændret de interne dele af Redis Streams. Jeg skrev et designdokument for dette arbejde. Jeg gav dokumentet til Claude Code, og den lavede essentielt alt mit arbejde om på cirka 20 minutter. De dele, der tog længere tid, var mine egne gennemgange og bekræftelseskommandoer.

Det, der sker nu, er umuligt at overse. I de fleste tilfælde behøver mennesker ikke længere selv at skrive kode. Den mere interessante del er blevet at finde ud af, hvad man skal gøre, og hvordan man gør det. På "hvordan man gør det"-fronten er store modeller enestående samarbejdspartnere. Om AI-virksomheder kan tjene deres investering hjem, eller om aktiemarkedet crasher, betyder ikke noget på lang sigt. Hvad end den ene eller anden unicorn-virksomheds CEO siger af vanvittige eller absurde ting, betyder heller ikke noget. Uanset hvad er programmering permanent ændret.

For mig er det faktum, at kode jeg har skrevet, blev brugt til at træne store modeller, en vidunderlig ting. Jeg ser det som en fortsættelse af en livslang stræben: at demokratisere kode, systemer og viden. Store sprogmodeller vil hjælpe os med at skrive bedre software, hurtigere. De vil også give små teams evnen til at konkurrere med store koncerner. Ligesom open source-software gjorde i 1990'erne.

Som programmør vil jeg skrive open source mere end nogensinde. Jeg vil tage nogle repos op, jeg havde lagt på hylden på grund af mangel på tid, og forbedre dem. Jeg vil satse fuldt på AI inden for mit eget Redis-arbejde. Først forbedre Vector Sets-implementeringen, derefter gå videre til andre datastrukturer, sådan som jeg gør det nu med Streams.

Men jeg bekymrer mig om dem, der vil miste deres job. Det er stadig uklart, præcis hvilke ændringer der vil udspille sig. Virksomheder vil måske have flere mennesker til at gøre flere ting. Eller det modsatte kan ske: færre men mere AI-kompetente programmører for at holde lønomkostningerne nede. Jeg bekymrer mig også om, at i mange andre brancher kan mennesker blive næsten fuldstændig udskiftelige.

Hvad angår, hvordan man programmerer. Jeg har bare ét råd til dig, min ven. Hvad end du tror er "det rigtige," kan ikke påvirkes ved at benægte virkeligheden. At vælge ikke at bruge AI gavner hverken dig eller din karriere. Tænk over det grundigt. Prøv disse nye værktøjer seriøst. Brug et par uger, ikke fem afslappede minutter bare for at bekræfte det, du allerede tror. Find måder at multiplicere dig selv på. Hvis du ikke finder den rigtige tilgang med det samme, så prøv igen om et par måneder.

Du tænker måske på, hvor hårdt du arbejdede for at lære at programmere, og nu skriver maskiner kode for dig. Men den ild, der holdt dig oppe sent om natten, bare for at se dit projekt blive levende — det var skabelsesglæden. Hvis du finder den rigtige måde at bruge AI effektivt på, vil du skabe mere og skabe bedre. Glæden er der stadig, fuldstændig intakt.