För sju år sedan använde jag sockerkaksrecept för att förklara varför vi måste möta datorn på halva vägen. Som metafor är det tveksamt om receptliknelsen längre är relevant – men den blir allt mer användbar som praktiskt råd.
I veckan letade jag upp min gamla bok Skolan i en digital omvärld i bokhyllan. Intresset för kod-skapande AI-agenter är just nu enormt, och medan jag satt och läste en av många texter om vad det innebär dök en metafor som både jag och andra använde flitigt kring 2017-2018 upp i minnet.
Så här skrev jag då:
Programkod liknas ofta vid recept. På samma sätt som du kan följa ett recept i en kokbok kan en dator följa instruktionerna i den kod som programmeraren skriver. Men det finns viktiga skillnader: Du har en förmåga att inse om instruktionen är felaktig, medan datorn bara kommer att jobba på och göra exakt som det står. Skulle datorn ta över sockerkaksbaket hemma skulle det alltså innebära att det blir två liter socker i smeten, medan du nog skulle misstänka att det är något fel på receptet och leta upp ett annat.
Och sen, några stycken längre ner:
För att kunna ge datorn instruktioner måste du först lära dig prata ett språk som datorn förstår. Svenska, engelska eller andra språk som vi människor använder när vi pratar, skriver och läser fungerar nämligen inte. Datorer använder bara ettor och nollor när de arbetar, men att som människa lära sig att behärska det som kallas för maskinkod är för svårt. Lösningen är i stället att mötas på halva vägen, i det som kallas för programmeringsspråk.
Lite drygt sju år efter att jag skrev de där raderna är de helt överspelade. Det är uppenbart att slutsatsen i det andra stycket inte stämmer längre. Vi behöver inte alls möta datorerna på halva vägen längre. Tack vare språkmodellerna förstår de i allt större utsträckning våra intentioner även när de uttrycks i mänskligt språk. För egen del utnyttjar jag det här för att skapa det ena lilla programmet efter det andra för att lösa väldigt specifika behov jag har.
I veckan har flera av de texter jag läst handlat om det här, från olika perspektiv men som är intressanta ur både ett individ- och organisationsperspektiv.
Tre som jag särskilt vill rekommendera:
Lamberts text kopplar i sin tur till två i sammanhanget lite äldre bloggposter, som kommer in i frågan om AI-genererad kod från två delvis olika perspektiv: Dan Shapiros This is a Time of Technical Deflation (från december) och Steve Krouses Vibe code is legacy code (från juli). Den ena texten argumenterar för att det är läge höja tempot i kodutvecklingen så mycket det går, den andra varnar för risken att skapa “legacy code” i närmast realtid om man inte närmar sig möjligheterna på ett ansvarsfullt sätt.
Att det nu går att jobba på det här sättet får som konsekvens att recept-metaforen inte längre är relevant som metafor, men högaktuell som en mer praktisk rekommendation.
Ju tydligare du kan formulera vad du vill att datorn ska göra, desto större sannolikhet är det att du får det resultat du vill ha.
Men kanske ännu viktigare är att inkludera instruktioner om hur AI-agenten ska testa om målet är uppnått.
Ett slags kodutvecklingens motsvarighet till att vända degbunken upp och ned för att avgöra om äggvitan är tillräckligt hårt vispad eller en tandpetare som sticks ned i kakan för att kontrollera om den är färdiggräddad.