GoSuda

AI-native ontwikkelingsmetodologie

By gosunuts
views ...

AI en Ontwikkelaars

De bladrichting waarmee ontwikkelaars naar AI kijken is complex. Enerzijds maakt AI een ongekende productiviteitsvergroting en informatietoegang mogelijk, maar anderzijds verandert de rol van de ontwikkelaar hierdoor fundamenteel. Sommigen voorspellen dat AI zich zal ontwikkelen tot een AGI en het merendeel van de ontwikkelaars zal vervangen, terwijl anderen AI afdoen als een overschat hulpmiddel en beweren dat de intrinsieke waarde van de ontwikkelaar onveranderd blijft. Deze houdingen lijken op het eerste gezicht lijnrecht tegenover elkaar te staan, maar ze vertonen een treffende gelijkenis in het feit dat ze AI beoordelen aan de hand van traditionele denkmodellen.

Het cruciale punt hierbij is echter niet het beoordelen of evalueren van AI. De ware kern ligt in de vraag hoe de denkwijze omtrent ontwikkeling met AI als uitgangspunt moet veranderen, en hoe de rollen van ontwikkelaars en organisaties dienovereenkomstig moeten worden gereorganiseerd aan de hand van die transformatie. Hiertoe is de AI-ontwikkelingsmethodologie samengevat in de volgende drie analysestappen.

AI-afhankelijke ontwikkeling

AI-afhankelijke ontwikkeling is het stadium waarin AI wordt beschouwd als de entiteit van oordeelsvorming en de resultaten daarvan onkritisch worden geaccepteerd. De ontwikkelaar in dit stadium erkent AI als een wezen dat de eigen ideeën ordent en implementeert, en accepteert het bovendien als een vervanger aan wie oordeel en verantwoordelijkheid kunnen worden overgedragen.

Deze aanpak lijkt op het eerste gezicht de productiviteit explosief te verhogen. In werkelijkheid stapelen zich echter snel codes op die onverklaarbaar en onverantwoordbaar zijn. Voor op deze wijze geproduceerde codes kan niemand een met zekerheid onderbouwd oordeel vellen over de reden waarom een dergelijke structuur is ontstaan of welke keuzes juist waren wanneer zich een probleem voordoet.

In dit stadium produceert AI slechts resultaten die onbetrouwbaar zijn, en de ontwikkelaar blijft steken in de rol van consument van die resultaten. Het resultaat is dat zowel AI als de ontwikkelaar op een verspillende manier worden ingezet, terwijl er nergens werkelijke competentie wordt opgebouwd.

AI-gebruikende ontwikkeling

AI-gebruikende ontwikkeling is het stadium dat te zien is bij meer ervaren ontwikkelaars. In dit stadium beschouwt de ontwikkelaar AI niet als een vervanging voor oordeelsvorming, maar als een krachtig hulpmiddel dat de productiviteit verhoogt. De ontwikkelaar in dit stadium blijft de actor van design en het uiteindelijke oordeel, en delegeert repetitieve en arbeidsintensieve taken zoals codegeneratie, refactoring, debugging en documentsamenvatting aan de AI. Deze aanpak verlaagt het aandeel van repetitieve taken van de ontwikkelaar aanzienlijk en kan de productiviteit dramatisch vergroten met behoud van betrouwbaarheid.

Deze benadering kent echter een structurele beperking doordat de context en de oordeelsvorming van het design niet circuleren. Aangezien de ontwikkelingsrichting en het besluitvormingsproces beperkt blijven tot de persoonlijke overpeinzingen van de ontwikkelaar en niet worden gedeeld met de AI, kan de AI de veranderingen en de groei van de ontwikkelaar niet accumuleren. Als gevolg hiervan blijven de designcontext en het oordeelsvermogen geïsoleerd bij de ontwikkelaar.

Hierdoor wordt er geen leercircuit gevormd tussen de ontwikkelaar en de AI, en breidt het vermogen om AI te benutten zich niet uit buiten de bestaande capaciteiten van de ontwikkelaar. Groei blijft toebehorenen aan het individuen, en naarmate de tijd verstrijkt, wordt de competentiekloof tussen ontwikkelaars groter. Bovendien vertoont een dergelijke competentie de beperking dat deze moeilijk te accumuleren of te reproduceren is op organisatorisch niveau.

AI-native ontwikkeling

AI-native ontwikkeling overstijgt het stadium waarin AI wordt vertrouwd of als hulpmiddel wordt gebruikt; het verwijst naar een structuur waarin AI wordt geïntegreerd in de ontwikkelingsstructuur en het besluitvormingsproces, en waarin AI en mensen op interactieve wijze samen groeien. In dit stadium functioneert AI als een deelnemer die interactie aangaat en de oordelen en de context van de ontwikkelaar deelt.

De kern van deze structuur is dat AI en de ontwikkelaar niet unidirectioneel, maar bidirectioneel circuleren. De ontwikkelaar deelt continu de ontwerpersintentie en de grondslagen van de oordeelsvorming met de AI, en de AI accumuleert daardoor het denken van de ontwikkelaar en de context van de organisatie. Als gevolg hiervan evolueert AI verder dan louter een hulpmiddel dat verzoeken verwerkt, naar een richting waarin het op de organisatie afgestemde keuzes presenteert en het oordeel van de ontwikkelaar ondersteunt en corrigeert.

AI-native ontwikkeling is niet afhankelijk van de vaardigheid of handigheid van een specifiek individu. Indien de AI-context behouden blijft ondanks veranderingen in personeel, kunnen vragen vanuit een vergelijkbaar perspectief worden gesteld over hetzelfde probleem, en kunnen betere beslissingen worden genomen op basis van eerdere keuzes en de redenen daarvoor. De ontwikkelingscompetentie behoort niet toe aan het individu, maar wordt cumulatief en reproduceerbaar voor de gehele organisatie.

Uiteindelijk doelt AI-native ontwikkeling niet op een specifieke architectuur of ontwikkelingsmethodologie, maar op het ontwikkelingsproces zelf waarin het oordeel en het leren van AI en de mens continu worden versterken. Binnen deze structuur vervangen de ontwikkelaar en de AI elkaar niet. In plaats daarvan evolueren zij naar een relatie waarin zij dezelfde probleemruimte delen en samen betere oordelen en robuustere structuren creëren.