AI Native Development Methodology
AI og udviklere
Udvikleres syn på AI er komplekst. Selvom AI har muliggjort en hidtil uset stigning i produktivitet og informationserhvervelse, ændrer den samtidig udviklerens rolle grundlæggende. Nogle forudser, at AI vil udvikle sig til AGI og erstatte de fleste udviklere, mens andre nedgør AI som et overvurderet værktøj og hævder, at udviklerens essentielle værdi forbliver uændret. Denne holdning ser ud til at være diametralt modsat, men den er overraskende ens i den forstand, at den bedømmer AI ud fra en eksisterende tankegang.
Men det vigtige her er ikke at bedømme eller evaluere AI. Den virkelige kerne ligger i, hvordan udviklingsmåden skal ændres under forudsætning af AI, og hvordan udviklerens og organisationens rolle skal omstruktureres i overensstemmelse med denne ændring. Til dette formål har vi organiseret AI-udviklingsmetoden i de 3 trin nedenfor.
AI-afhængig udvikling
AI-afhængig udvikling er et trin, hvor AI betragtes som dommeren, og resultaterne accepteres ukritisk. På dette trin opfatter udvikleren AI som en enhed, der organiserer og implementerer hans ideer, og accepterer den desuden som en erstatning, der kan overdrages både dømmekraft og ansvar.
Denne metode ser overfladisk ud til at øge produktiviteten eksponentielt. Men i virkeligheden akkumuleres uforklarlig og uansvarlig kode hurtigt. Når der opstår et problem med kode, der er oprettet på denne måde, kan ingen træffe en sikker beslutning om, hvorfor denne struktur blev dannet, eller hvilket valg der er det rigtige.
På dette trin producerer AI kun upålidelige resultater, og udvikleren forbliver i rollen som forbruger af disse resultater. Som et resultat bliver både AI og udvikleren kun brugt på en udmattende måde, og den faktiske kapacitet akkumuleres ingen steder.
AI-brugende udvikling
AI-brugende udvikling er et trin, der ses hos mere dygtige udviklere. På dette trin opfatter udvikleren AI som et kraftfuldt værktøj, der øger produktiviteten, snarere end som en erstatning for dømmekraft. Udvikleren på dette trin forbliver den primære aktør for design og endelig dømmekraft og delegerer gentagne og omkostningsfulde opgaver som kodegenerering, refactoring, debugging og dokumentresumé til AI. Denne metode kan markant reducere andelen af gentagne opgaver for udvikleren og dramatisk øge produktiviteten, samtidig med at tilliden bevares.
Denne metode har dog en strukturel begrænsning, idet designkonteksten og dømmekraften ikke genbruges. Da udviklingsretningen og beslutningsprocessen forbliver inden for udviklerens personlige tanker og ikke deles med AI, kan AI ikke akkumulere udviklerens ændringer og vækst. Som et resultat isoleres designkonteksten og dømmekraften hos udvikleren.
Dette forhindrer dannelsen af en læringscyklus mellem udvikleren og AI, og AI-udnyttelsesevnen udvides ikke ud over udviklerens eksisterende kapaciteter. Vækst tilskrives individet, og over tid udvides kompetenceforskellen mellem udviklere. Desuden viser disse kompetencer en begrænsning i, at de er svære at akkumulere eller genskabe på organisationsniveau.
AI Native-udvikling
AI Native-udvikling er et trin, der går ud over at stole på eller bruge AI som et værktøj; det betyder en struktur, hvor AI indarbejdes i udviklingsstrukturen og beslutningsprocessen, og AI og mennesker interagerer og vokser sammen. På dette trin fungerer AI som et interagerende medlem, der deler udviklerens dømmekraft og kontekst.
Kernen i denne struktur er, at AI og udvikleren cirkulerer tovejs, ikke envejs. Udvikleren deler løbende designintentioner og begrundelsen for beslutninger med AI, og AI akkumulerer gennem dette udviklerens tankegang og organisationens kontekst. Som et resultat udvikler AI sig fra blot at være et værktøj, der behandler anmodninger, til at præsentere skræddersyede valg for organisationen og bistå og korrigere udviklerens dømmekraft.
AI Native-udvikling afhænger ikke af en bestemt persons ekspertise eller tricks. Selvom medarbejderne skifter, kan der stilles spørgsmål med et lignende perspektiv til det samme problem, hvis AI-konteksten opretholdes, og bedre beslutninger kan træffes baseret på tidligere valg og deres årsager. Udviklingskapaciteten tilskrives ikke individet, men akkumuleres og kan reproduceres i hele organisationen.
I sidste ende sigter AI Native-udvikling ikke mod en specifik arkitektur eller udviklingsmetode, men snarere selve udviklingsprocessen, hvor AI og menneskelig dømmekraft og læring kontinuerligt forstærkes. Inden for denne struktur erstatter udvikleren og AI ikke hinanden. I stedet deler de det samme problemområde og udvikler sig til et forhold, hvor de sammen skaber bedre dømmekraft og en mere robust struktur.