AI Native Development Methodology
AI och utvecklare
Utvecklares syn på AI är komplex. Trots att AI har möjliggjort en oöverträffad produktivitetsökning och informationsinhämtning, omdefinierar den samtidigt utvecklarens roll i grunden. Vissa förutspår att AI kommer att utvecklas till AGI och ersätta majoriteten av utvecklare, medan andra avfärdar AI som ett överskattat verktyg och hävdar att utvecklarens grundläggande värde förblir oförändrat. Dessa attityder verkar vid första anblicken vara diametralt motsatta, men är anmärkningsvärt lika i det att de bedömer AI utifrån ett befintligt tankesätt.
Det viktiga här är dock inte att bedöma eller utvärdera AI. Den verkliga kärnan ligger i hur utvecklingssättet, med AI som premiss, måste förändras, och hur utvecklarens och organisationens roller måste omstruktureras i linje med denna förändring. För detta ändamål har jag sammanställt en AI-utvecklingsmetodik genom följande 3-stegsanalys.
AI-beroende utveckling
AI-beroende utveckling är ett stadium där AI betraktas som den primära beslutsfattaren, och dess resultat accepteras okritiskt. I detta stadium uppfattar utvecklare AI som en enhet som organiserar och implementerar deras idéer, och accepterar den vidare som ett substitut som kan anförtros både bedömning och ansvar.
Denna metod verkar på ytan öka produktiviteten exponentiellt. I verkligheten ackumuleras dock snabbt kod som varken kan förklaras eller tas ansvar för. När problem uppstår med sådan kod kan ingen med säkerhet bedöma varför strukturen ser ut som den gör, eller vilket val som är det rätta.
I detta stadium producerar AI endast opålitliga resultat, och utvecklare förblir konsumenter av dessa resultat. Följaktligen används både AI och utvecklare på ett slösaktigt sätt, utan att någon faktisk kompetens byggs upp.
AI-assisterad utveckling
AI-assisterad utveckling är ett stadium som observeras hos mer erfarna utvecklare. I detta stadium uppfattar utvecklare AI inte som ett substitut för bedömning, utan som ett kraftfullt verktyg som ökar produktiviteten. Utvecklare i detta stadium förblir huvudansvariga för design och slutgiltig bedömning, och delegerar repetitiva och kostsamma uppgifter som kodgenerering, refaktorering, felsökning och dokumentsammanfattning till AI. Denna metod minskar avsevärt andelen repetitiva uppgifter för utvecklare och kan dramatiskt öka produktiviteten samtidigt som tillförlitligheten bibehålls.
Denna metod har dock en strukturell begränsning i att designkontexten och bedömningen inte cirkulerar. Eftersom utvecklingsriktningen och bedömningsprocessen förblir begränsad till utvecklarens individuella tankeprocess och inte delas med AI, kan AI inte ackumulera utvecklarens förändringar och tillväxt. Som ett resultat isoleras designkontexten och bedömningsförmågan hos utvecklaren.
Detta förhindrar bildandet av en inlärningscykel mellan utvecklaren och AI, och AI-användningsförmågan expanderar inte bortom utvecklarens befintliga kompetens. Tillväxten förblir individuell, och skillnaden i kompetens mellan utvecklare ökar över tid. Dessutom avslöjar denna kompetens begränsningen att den är svår att ackumulera eller reproducera på organisationsnivå.
AI-naturlig utveckling
AI-naturlig utveckling innebär en struktur där AI inte bara betros eller används som ett verktyg, utan integreras i utvecklingsstrukturen och bedömningsprocessen, och där AI och människor interagerar och växer tillsammans. I detta stadium fungerar AI som en interagerande komponent som delar utvecklarens bedömningar och kontext.
Kärnan i denna struktur är att AI och utvecklare cirkulerar i två riktningar, inte bara i en. Utvecklare delar kontinuerligt designintentioner och grunder för bedömningar med AI, och AI ackumulerar genom detta utvecklarens tankesätt och organisationens kontext. Som ett resultat utvecklas AI från att vara ett verktyg som bara bearbetar förfrågningar, till att presentera skräddarsydda alternativ för organisationen och att assistera och korrigera utvecklarens bedömningar.
AI-naturlig utveckling är inte beroende av en specifik individs skicklighet eller knep. Om AI-kontexten bibehålls även när medlemmar byts ut, kan liknande frågor ställas om samma problem från liknande perspektiv, och bättre beslut kan fattas baserat på tidigare val och deras orsaker. Utvecklingskompetensen förblir inte individuell, utan ackumuleras och blir reproducerbar för hela organisationen.
I slutändan är det AI-naturliga utvecklingsmålet inte en specifik arkitektur eller utvecklingsmetodik, utan själva utvecklingsprocessen där AI och mänsklig bedömning och lärande kontinuerligt förstärks. Inom denna struktur ersätter utvecklare och AI inte varandra. Istället delar de samma problemområde och utvecklas till en relation där de tillsammans skapar bättre bedömningar och en mer robust struktur.