AI-native development methodology
AI og udviklere
Udvikleres syn på AI er komplekst. Dette skyldes, at AI har muliggjort en hidtil uset stigning i produktivitet og tilegnelse af information, samtidig med at udviklerens rolle grundlæggende ændrer sig. Nogle forudsiger, at AI vil udvikle sig til AGI og erstatte flertallet af udviklere, mens andre nedgør AI som et overvurderet værktøj og hævder, at udviklerens væsentlige værdi forbliver uændret. Disse holddinger virker umiddelbart modsatte, men de ligner hinanden påfaldende meget i den henseende, at de bedømmer AI ud fra et traditionelt tankemønster.
Men det vigtige her er ikke at bedømme eller evaluere AI. Det virkelige kernepunkt ligger i, hvordan udviklingens tankemønster med udgangspunkt i AI bør ændres, og hvordan udvikleres og organisationers roller skal rekonfigureres i overensstemmelse med denne ændring. Med henblik herpå er AI-udviklingsmetodologien blevet opsummeret gennem de tre nedenstående analysetrin.
AI-afhængig udvikling
AI-afhængig udvikling er det trin, hvor AI gøres til subjekt for beslutningstagning, og hvor resultaterne accepteres ukritisk. Udviklere på dette trin opfatter AI som en entitet, der organiserer og implementerer deres idéer, og accepterer den desuden som en erstatning, hvortil dømmekraft og ansvar kan delegeres.
Denne fremgangsmåde ser overfladisk ud til at øge produktiviteten eksplosivt. Ikke desto mindre ophobes der i virkeligheden hurtigt kode, som hverken kan forklares eller drages til ansvar for. Når der opstår problemer med kode skabt på denne måde, kan ingen fæstne lid til en sikker vurdering af, hvorfor strukturen blev således, eller hvilke valg der var de rette.
På dette trin producerer AI kun resultater, der ikke er til at stole på, og udvikleren forbliver i en rolle, hvor vedkommende blot forbruger disse resultater. Følgelig bliver både AI og udvikleren anvendt på en udmattende måde, uden at de faktiske kompetencer ophobes nogen steder.
AI-anvendende udvikling
AI-anvendende udvikling er et trin, der observeres hos mere erfarne udviklere. På dette trin opfatter udvikleren ikke AI som en erstatning for dømmekraft, men som et kraftfuldt værktøj til at øge produktiviteten. Udvikleren på dette trin forbliver subjekt for arkitektur og endelig beslutningstagning, mens gentagne og ressourcekrævende opgaver såsom kodesyntese, refactoring, debugging og dokumentsammenfatning delegeres til AI. Denne fremgangsmåde mindsker andelen af gentagne opgaver for udvikleren betydeligt og kan øge produktiviteten dramatisk, samtidig med at tilliden opretholdes.
Denne fremgangsmåde har dog en strukturel begrænsning i, at arkitekturens kontekst og dømmekraft ikke cirkulerer. Da udviklingens retning og beslutningsproces forbliver begrænset til udviklerens personlige ræsonnement og ikke deles med AI, formår AI ikke at ophobe udviklerens forandring og vækst. Som resultat heraf isoleres arkitekturens kontekst og dømmekraft hos udvikleren.
Af denne grund dannes der ikke noget læringskredsløb mellem udvikleren og AI, og evnen til at udnytte AI udvides ikke ud over udviklerens eksisterende kompetencer. Væksten tilhører individet, og som tiden går, udvides kompetencekløften mellem udviklerne. Desuden afslører denne metode den begrænsning, at sådanne kompetencer er vanskelige at ophobe eller reproducere på organisationsniveau.
AI-native udvikling
AI-native udvikling rækker ud over trinnene med at stole på AI eller anvende den som et værktøj; den betegner en struktur, hvor AI indlemmes i udviklingsstrukturen og beslutningsprocessen, og hvor AI og mennesker interagerer for at vokse sammen. På dette trin fungerer AI som et medlem, der interagerer ved at dele udviklerens dømmekraft og kontekst.
Kernedybden i denne struktur er, at AI og udvikleren cirkulerer i to retninger i stedet for én. Udvikleren deler løbende arkitekturens hensigt og grundlaget for dømmekraften med AI, og AI ophober gennem dette udviklerens tankegang og organisationens kontekst. Som en konsekvens heraf udvikler AI sig ud over blot at være et værktøj, der behandler anmodninger, til at præsentere skræddersyede valgmuligheder for organisationen samt assistere og korrigere udviklerens dømmekraft.
AI-native udvikling er ikke afhængig af en bestemt persons ekspertise eller fif. Såfremt AI-konteksten opretholdes, selvom medlemmer udskiftes, kan der stilles spørgsmål med et lignende perspektiv angående det samme problem, og bedre beslutninger kan træffes på grundlag af tidligere valg og årsagerne hertil. Udviklingskompetencerne tilhører ikke individet, men ophobes i hele organisationen og gøres reproducerbare.
Til syvende og sidst sigter AI-native udvikling ikke mod en specifik arkitektur eller udviklingsmetodologi, men mod selve udviklingsprocessen, hvor AI's og menneskets dømmekraft og læring kontinuerligt styrkes. Inden for denne struktur erstatter udvikleren og AI ikke hinanden. I stedet udvikler de sig til et forhold, hvor de deler det samme problemrum og i fællesskab skaber bedre beslutninger og mere robuste strukturer.