Thought leaders

Flexibele Automatisering tegen Agentic Augmentatie in Coding

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Agentic-automatisering (meer gewoonlijk bekend als ‘vibe coding’) is zeker in populariteit aan het toenemen, voorbij zelfs maar de ontwikkelaarsruimte, met Collins Dictionary dat het woord van het jaar noemt en zelfs Microsoft’s CEO die opmerkt dat tot 30% van de code van het bedrijf door AI is gegenereerd (MSFT ). Deze benadering van coding is ongetwijfeld productiviteit aan het stimuleren, maar zoals bij elke transformatieve technologie, is het begrijpen waar en hoe het het meest effectief toe te passen, de sleutel tot het maximaliseren van de voordelen.

Ontwikkelaars worden regelmatig geconfronteerd met uitdagingen zoals scope creep, onderbreking van codingsessies en het opeten van beperkte tijd, dus de zoektocht naar efficiencywinsten door AI is begrijpelijk. Maar ontwikkelaars moeten ook de ‘mens in de lus’ filosofie overwegen die wordt aangeboden door flexibele automatisering. In plaats van automatisering in elk proces te integreren, richt het zich op saaie taken, waardoor ontwikkelaars de beslissers zijn op elk punt in het proces. Deze benadering ondersteunt vaardigheidsontwikkeling en zorgt ervoor dat er architectonische consistentie is over projecten heen. 

De opkomst van agentic-automatisering

Vibe coding mag overal zijn, maar het is nog een relatief nieuwe benadering, die pas begin 2025 is geïntroduceerd. Het is het proces van het gebruik van generatieve AI om softwarecode te produceren op basis van conversatieprompts, meestal met weinig tot geen handmatige interventie.

Het is algemeen geprezen voor het verlagen van de drempel voor niet-ingenieurs om ideeën te testen en werkende concepten te genereren. Bijvoorbeeld, CEOs en C-suite executives kunnen nu hun gewenste veranderingen demonstreren via vibe-gecodeerde prototypes, zonder lange gesprekken met ontwikkelaars waarin ze abstracte ideeën uitleggen.

Maar verder gaan dan deze ideatiefase vereist een begrip van de huidige capaciteiten van AI. AI werkt binnen bepaalde beperkingen bij het omgaan met grote contextvensters, wat de details van codegeneratie voor grote professionele projecten beïnvloedt. Terwijl ontwikkelaars het verder kunnen instrueren om veranderingen aan te brengen als fouten worden gespot, kan AI-gegenereerde code soms functionaliteit dupliceren, wat maintainability-overwegingen kan creëren. Dit wordt vooral relevant bij het werken met ingebedde systemen die vaak worden beperkt door hardwarebeperkingen, waardoor alleen de meest efficiënte code nodig is om effectief te functioneren.

De wijdverbreide adoptie van AI in coding roept ook belangrijke vragen op over vaardigheidsontwikkeling. 42% van de ontwikkelaars die AI gebruiken in hun processen zeggen dat ten minste de helft van hun codebase door AI is gegenereerd. Naarmate agentic-automatisering meer gangbaar wordt, is het de moeite waard om te overwegen hoe juniorontwikkelaars basisvaardigheden opbouwen. Het is een rite de passage voor hen om hun tanden te zetten in die routineuze codetaak die hun vaardigheden scherpt en hen in staat stelt om codervaring snel op te bouwen. Het vinden van de juiste balans, waarbij AI de juiste taken afhandelt terwijl het kansen voor hands-on leren behoudt, zal cruciaal zijn voor het kweken van de volgende generatie ontwikkelaars.

Ontwikkelaarssentiment weerspiegelt ook deze periode van aanpassing. In 2024, 70% van de ontwikkelaars had een positief sentiment ten opzichte van AI, maar dit jaar daalde het naar 60%, met 46% die zich zorgen maakten over de nauwkeurigheid van AI-code. Toch ziet de meerderheid van de ontwikkelaars (70%) het niet als een bedreiging voor hun positie, en 59% van de seniorontwikkelaars in een andere enquête zei dat AI-hulpmiddelen hen helpen om code sneller te verschepen. Deze cijfers suggereren dat ontwikkelaars actief bezig zijn met het integreren van AI op een effectieve manier, in plaats van het volledig af te wijzen. De technologie verandert snel, en met het, veranderen ook de beste praktijken voor implementatie.

Dus in plaats van deze ‘alles of niets’-benadering, is het de moeite waard om een andere filosofie te overwegen die een meer gematigde aanpak van AI-gebruik hanteert, waarbij ontwikkelaars in de bestuurdersstoel blijven.

Wat is flexibele automatisering?

Waar agentic-automatisering AI integreert in het hele ontwikkelproces, neemt flexibele automatisering een strategisch standpunt in. Het adviseert om AI gericht in het codingsproces te integreren, door één administratieve taak per keer te vervangen. Op deze manier behoudt de ontwikkelaar altijd de controle en toezicht over het product zonder overmatige verstoring. Het richt zich selectief op de meer repetitieve administratieve taken, zoals code-documentatie, unit-testcreatie en elke repetitieve coding.

Het erkent cruciaal de huidige capaciteiten van AI in coding – hoewel het nog geen complete softwarestack kan creëren, kan het onmiddellijke voordelen opleveren in specifieke gebieden. Dus in plaats van dat ontwikkelaars gefrustreerd raken als ze AI toepassen op de verkeerde taken, wordt het gebruik ervan gericht op gebieden waarin het uitblinkt. Na verloop van tijd kunnen ontwikkelaars zich vertrouwd maken met het en het op een langzamer tempo adopteren, waardoor de waarde van het oplossen van administratieve taken duidelijk wordt. Dan kunnen ontwikkelaars terugkeren naar de meer complexe, kernredenen waarom ze de industrie zijn ingegaan, zoals het schrijven van goede, complexe software en het oplossen van uitdagende problemen – allemaal terwijl ze vertrouwen hebben in de AI die naast hen werkt.

Belangrijk is dat het ook ruimte laat voor een redelijke hoeveelheid van die routineuze taken voor juniorontwikkelaars om van te leren door hands-on ervaring, waardoor ze fundamenteler kennis kunnen opbouwen met het diepe leren dat voortkomt uit traditionele trial en error. In plaats van te worden gezien als iets dat mogelijk leerervaringen kan beperken, wordt AI geïntegreerd als een hulpmiddel – een dat ontwikkelaars stevig in de hand houden.

De voordelen gaan verder dan individuele ontwikkelaars en omvatten hele ontwikkelteams. Door de repetitieve elementen van coding te automatiseren, kunnen teams consistentie behouden in hun documentatie- en testpraktijken, terwijl seniorontwikkelaars junior teamleden kunnen begeleiden en architectonische beslissingen kunnen nemen. Dit creëert een gezondere ontwikkelcultuur waarin AI menselijke expertise aanvult in plaats van probeert te vervangen.

De automatiseringsbalans in coding

Het is de moeite waard om te herhalen dat AI de grootste verandering in coding is in decennia, en het heeft ongetwijfeld het potentieel om te transformeren hoe we code voor het beter, maar we moeten die balans goed krijgen. Dit is een proces dat strategisch moet worden uitgevoerd, zowel door de industrie als door ontwikkelaars, om ervoor te zorgen dat we sterke fundamenten bouwen terwijl we innovatie omarmen. De sleutel is het vinden van het zoete punt waar automatisering productiviteit verbetert zonder de diepte van begrip te compromitteren die grote ontwikkelaars maakt.

Dit alles gezegd hebbende, betekent het niet dat we flexibele automatisering en vibe coding als concurrerende filosofieën moeten zien, maar als hulpmiddelen die geschikt zijn voor twee volledig verschillende stadia van de softwarelevenscyclus. Gaande vooruit, zal vibe coding essentieel zijn voor de initiële ideatiefase, evenals voor niet-technische communicatie tussen ontwikkelaars en hun bredere organisaties. En dan, als we de productiefase ingaan, moet flexibele automatisering naar voren komen, waarbij AI een hulp blijft, in plaats van een hindernis. Dus, het is niet één tegenover de ander – om te slagen, hebben we beiden nodig.

Peter Schneider is een Principal Product Manager bij Qt met uitgebreide ervaring in internationaal productmanagement, computerengineering en productmarketing in de digitale industrie. Voordat hij zijn huidige positie innam, was Peter Chief Product Officer bij Efecte, een beursgenoteerd bedrijf dat een cloudgebaseerd servicemanagementplatform en AI-gebaseerde diensten ontwikkelt. Eerder in zijn carrière heeft hij verschillende wereldwijde productmanagementrollen gehad bij Nokia en Siemens. Hij heeft een MBA in Algemeen Management van de Helsinki School of Economics en een B.Sc. in Computer Engineering van de Universiteit van Toegepaste Wetenschappen in Frankfurt.