AI-nativ utviklingsmetodikk: utover verktøybruk, en toveis kontekstsirkulasjon

AI og utviklere
Utvikleres syn på AI er sammensatt. AI har gjort det mulig med en enestående økning i produktivitet og tilgang til informasjon, men samtidig endrer utviklerens rolle seg fundamentalt. Noen mener at AI vil utvikle seg til AGI og erstatte de fleste utviklere, mens andre nedvurderer AI som et overvurdert verktøy og hevder at utviklernes grunnleggende verdi forblir uendret. Disse holdningene virker tilsynelatende motsatte, men de er overraskende like ved at de vurderer AI ut fra etablerte tankemønstre.
Det viktige her er imidlertid ikke å bedømme eller evaluere AI. Det egentlige kjernepunktet er hvordan tankegangen i utvikling bør endres med utgangspunkt i AI, og hvordan utviklerens og organisasjonens roller bør omformes i takt med denne endringen. For dette formål har vi oppsummert metodikken for AI-utvikling i en analyse i tre trinn nedenfor.
AI-avhengig utvikling
AI-avhengig utvikling er et trinn der AI behandles som den som avgjør, og resultatene aksepteres ukritisk. Utvikleren på dette trinnet oppfatter AI som noe som ordner og implementerer ideene hans eller hennes, og går videre ved å akseptere AI som en erstatning som kan overta både vurdering og ansvar.
Denne tilnærmingen virker på overflaten å ha eksplosivt økt produktiviteten. I praksis hoper det seg imidlertid opp kode som verken kan forklares eller holdes ansvarlig. Når slik kode skaper problemer, kan ingen med sikkerhet avgjøre hvorfor strukturen ble slik, eller hvilke valg som er riktige.
På dette trinnet produserer AI bare resultater som ikke kan stoles på, mens utvikleren forblir i rollen som den som forbruker resultatene. Til slutt blir både AI og utvikleren brukt på en utmattende måte, og ingen reell kompetanse bygges opp.
AI-anvendt utvikling
AI-anvendt utvikling er et trinn man ser hos mer erfarne utviklere. På dette trinnet oppfatter utvikleren AI ikke som en erstatning for vurdering, men som et kraftig verktøy som øker produktiviteten. Utvikleren på dette trinnet forblir ansvarlig for design og de endelige avgjørelsene, og overlater repetitive og kostnadskrevende oppgaver, som kodegenerering, refaktorering, feilsøking og oppsummering av dokumentasjon, til AI. Denne tilnærmingen reduserer i stor grad andelen repetitivt arbeid for utvikleren, og gjør det mulig å øke produktiviteten dramatisk samtidig som tilliten opprettholdes.
Likevel har denne tilnærmingen en strukturell begrensning: designkonteksten og vurderingene sirkulerer ikke. Fordi retningen for utviklingen og vurderingsprosessen forblir hos den enkelte utvikleren og ikke deles med AI, kan AI ikke tilegne seg utviklerens endringer og vekst. Som følge av dette blir designkonteksten og vurderingsevnen isolert hos utvikleren.
Dette fører til at det ikke dannes en læringssyklus mellom utvikleren og AI, og evnen til å bruke AI utvides ikke utover utviklerens eksisterende kompetanse. Veksten knyttes til enkeltpersonen, og over tid øker kompetansegapet mellom utviklerne. Dessuten viser denne kompetansen en begrensning ved at den vanskelig kan akkumuleres eller reproduseres på organisasjonsnivå.
AI-nativ utvikling
AI-nativ utvikling går utover det å stole på AI eller bruke det som et verktøy, og betegner en struktur der AI integreres i utviklingsstrukturen og vurderingsprosessen, og der AI og mennesker samhandler og vokser sammen. På dette trinnet fungerer AI som et medlem som deler utviklerens vurderinger og kontekst og samhandler med dem.
Kjernen i denne strukturen er at AI og utvikleren sirkulerer i to retninger, ikke bare én. Utvikleren deler kontinuerlig designintensjonene og begrunnelsene for vurderingene med AI, og AI akkumulerer på sin side utviklerens tankegang og organisasjonens kontekst gjennom dette. Som resultat utvikler AI seg utover å være et verktøy som bare behandler forespørsler: den tilbyr alternativer tilpasset organisasjonen og bistår og korrigerer utviklerens vurderinger.
AI-nativ utvikling er ikke avhengig av en enkelt persons ferdigheter eller knep. Selv når medlemmene endres, kan AI-konteksten opprettholdes, slik at man kan stille spørsmål med lignende perspektiver til samme problem og bygge videre på tidligere valg og begrunnelsene for dem for å fatte bedre beslutninger. Utviklingskompetansen knyttes ikke til enkeltpersoner, men akkumuleres og kan reproduseres i hele organisasjonen.
Til syvende og sist innebærer AI-nativ utvikling ikke en bestemt arkitektur eller utviklingsmetodikk, men selve utviklingsprosessen der AI og menneskelig vurdering og læring kontinuerlig forsterkes. Innenfor denne strukturen erstatter utviklere og AI ikke hverandre. I stedet deler de samme problemrom og utvikler seg til et forhold der de sammen skaper bedre vurderinger og mer robuste strukturer.