Code-agents: wanneer AI een hoofdrol krijgt in het project
Door Pierre Wilmet
Nog niet zo lang geleden leek AI in softwareontwikkeling vooral op een verbeterde autocomplete. Je schreef een functie en de assistent stelde voor wat er volgde. Je stelde een vraag en hij antwoordde. Handig, soms briljant, soms gevaarlijk overmoedig, zoals veel tools die uiteindelijk in productie belanden.
Er tekent zich echter een nieuwe fase af: code-agents.
Een code-agent doet niet alleen een suggestie voor een regel code of legt een fout uit. Hij leest een codebase, begrijpt een verzoek, past meerdere bestanden aan, draait tests, corrigeert zijn eigen fouten, opent een pull request of documenteert zijn werk. Hij antwoordt niet langer alleen: hij onderneemt actie.
Dat is een grote verschuiving, want ze tilt AI van de rol van conversationele assistent naar die van operationele bijdrager.
Van assistent naar collega
Een klassieke code-assistent ondersteunt de developer, terwijl die zelf de controle houdt. Hij vult een regel code aan, stelt een functie voor, legt een foutmelding uit of genereert een unittest.
Een code-agent werkt anders. Hij krijgt een breder doel: "los deze bug op", "voeg deze feature toe", "werk deze dependency bij", "verbeter deze pagina", "zoek uit waarom deze test faalt".
Vanaf daar deelt de agent het probleem op. Hij leest de relevante bestanden, zoekt verwijzingen op, brengt afhankelijkheden in kaart, stelt een plan voor, past de code aan, voert commando's uit, bekijkt de fouten, begint opnieuw en levert dan een resultaat op.
Die lus verandert alles: observeren, handelen, controleren, bijsturen.
Waar autocomplete één lokale handeling versnelt, neemt de agent een volledige taak voor zijn rekening. Hij vervangt softwareontwikkeling niet, maar verandert wel grondig de granulariteit ervan. De developer stuurt het proces niet langer regel per regel: hij kan het sturen op intentie.
Hoe staat het er vandaag voor?
Alle grote AI-ontwikkeltools herpositioneren zich rond dit idee.
GitHub Copilot biedt nu een "coding agent" die een issue kan oppakken en er een pull request van maakt. OpenAI presenteert Codex als een agent die ontwikkeltaken van begin tot eind afhandelt, van routinefixes tot complexe refactorings. Anthropic positioneert Claude Code als een agent die een codebase kan lezen, bestanden kan aanpassen en commando's kan uitvoeren in de terminal of de IDE.
Deze evolutie is niet zomaar een marketingtruc. Ze weerspiegelt een bredere transformatie: modellen redeneren steeds beter, IDE's zijn sterker verbonden, protocollen zoals MCP maken de toegang tot tools makkelijker en bedrijven willen repetitieve taken in de softwareontwikkelingscyclus automatiseren.
Met andere woorden: AI zit niet langer opgesloten in een chatvenster. Ze vindt haar weg naar Git, de terminal, tickets, de CI en pull requests. Dat is nuttig. Het is ook precies het soort uitspraak waarbij elk securityteam de wenkbrauwen zou moeten fronsen.
De sterke punten van code-agents…
Code-agents blinken echt uit bij goed afgebakende taken.
Ze helpen eenvoudige bugs oplossen, tests toevoegen, repetitieve API-migraties uitvoeren, elementen hernoemen, documentatie bijwerken, codeconventies afdwingen, een bestaande codebase uitleggen of een eerste versie van een pull request voorbereiden.
Hun kracht zit in hun mechanische geduld. Een mens raakt snel moe van twintig bijna identieke bestanden aanpassen; een agent klaagt niet. Wat eigenlijk oneerlijk is, want hij zou het wel moeten doen.
Ze zijn ook van onschatbare waarde om een project te verkennen. Een developer die in een codebase belandt, kan vragen: "Waar wordt de authenticatie afgehandeld?", "Welke bestanden spelen mee in deze flow?", "Welke delen kunnen geraakt worden als ik deze functie aanpas?" Een goede agent wordt dan een gids door een complex systeem.
Tot slot versnellen agents de stap van idee naar prototype. Voor een kleine feature, een interne interface of een goed afgebakende wijziging leveren ze snel een eerste versie op. Niet per se perfect, maar vaak genoeg om een review op gang te brengen.
… En hun zwakke punten
De problemen beginnen zodra de taak ambigu wordt.
Een agent kan code schrijven die compileert zonder het beoogde resultaat te begrijpen. Hij kan het symptoom aanpakken in plaats van de oorzaak. Hij kan een speciale voorwaarde toevoegen in plaats van een fragiele architectuur te herstellen. Hij kan een oplossing opleveren die lokaal klopt, maar globaal fout is.
Dit is een van de grote valkuilen: de agent wekt de indruk vooruitgang te boeken. Hij past bestanden aan, draait tests en opent een pull request. Visueel lijkt hij te werken. Maar activiteit is geen waarde.
Recente benchmarks bevestigen dit: agents gaan snel vooruit, maar zijn nog ver verwijderd van volledige autonomie in complexe industriële omgevingen. Bij realistische mobiele taken uit een iOS-codebase in productie halen zelfs de best presterende configuraties maar 12% succes. Bij 5G-taken stellen modellen bugs vaak correct vast, maar blijft het oplossingspercentage tussen 10% en 30%. De beperking is duidelijk: een probleem begrijpen en het goed oplossen zijn twee verschillende dingen.
Agents hebben het ook moeilijk met impliciete afhankelijkheden. Een ervaren mens weet dat een wijziging in één module bedrijfsgedrag, een interne conventie of een ongedocumenteerde edge case kan breken. De agent daarentegen leunt sterk op wat hij krijgt: tests, logs, documentatie, context, voorbeelden en projectregels.
Zonder de juiste context levert hij misschien een heel precies antwoord op het verkeerde probleem. De techwereld is dol op dat soort nutteloze elegantie.
Wat gebeurt er met de developer in dit alles?
De vraag is dus niet of agents "developers zullen vervangen". Ze is interessanter: wat gebeurt er met ontwikkelwerk wanneer een deel van de uitvoering kan worden gedelegeerd?
De developer besteedt meer tijd aan het probleem definiëren, de juiste context aanreiken, taken opdelen, beperkingen vastleggen, resultaten reviewen, impact controleren en beslissen wat er geïntegreerd wordt.
Hij is minder de auteur van de code en meer de supervisor van systemen die die code kunnen produceren.
Dat vraagt nieuwe vaardigheden: een goede opdracht kunnen formuleren, een slechte maar plausibele oplossing kunnen herkennen, tests kunnen ontwerpen die de intentie echt vatten, de rechten van een agent kunnen beperken en een door AI gegenereerde PR met meer scepsis kunnen reviewen dan een door een mens geschreven PR, en dat wil wat zeggen.
Ontwikkelen gaat steeds meer op een orkest lijken. Meerdere agents kunnen parallel aan verschillende taken werken. Maar iemand moet nog altijd beslissen welke muziek er gespeeld wordt, controleren dat de instrumenten elkaar niet tegenspreken en voorkomen dat de trombone zich met veel lawaai een weg naar productie baant.
Het belang van testen
Met code-agents zijn tests niet langer alleen een vangnet. Ze worden een stuurinterface.
Een agent itereert veel effectiever wanneer tests duidelijk aangeven wat er misgaat. Een vage opdracht als "verbeter deze module" is moeilijk te controleren; een opdracht met acceptatiecriteria, verwachte tests en concrete voorbeelden geeft hem een veel robuustere feedbacklus.
Daarom zullen de bedrijven die de meeste waarde uit agents halen niet per se degene zijn die de beste tool kopen, maar degene die al een goede softwarehygiëne hebben: betrouwbare tests, een snelle CI, minimale documentatie, duidelijke conventies, een begrijpelijke architectuur en duidelijk eigenaarschap.
Agents schaffen slechte praktijken niet af. Ze versterken ze.
Een heldere codebase wordt makkelijker om verder te ontwikkelen. Een verwarrende codebase wordt makkelijker om snel te laten verloederen.
Risico's om te beheersen
- Beveiliging: een agent die secrets kan lezen, commando's kan uitvoeren of bestanden kan aanpassen, moet aan banden worden gelegd. Zijn rechten moeten expliciet, traceerbaar en afgestemd op de taak zijn.
- Technische schuld: een agent kan een probleem oplossen met een oppervlakkige fix. Zonder grondige review stapelt het team code op die vandaag werkt, maar morgen moeilijk te onderhouden wordt.
- Verlies van begrip: als developers wijzigingen aanvaarden zonder ze te begrijpen, verliest het team geleidelijk het intellectuele eigenaarschap over zijn eigen systeem. De code bestaat, maar niemand weet nog echt waarom hij zo geschreven is.
- Kosten: agents verbruiken veel meer tokens dan een eenvoudige chatbot. Ze lezen context, genereren code, draaien tests opnieuw, voeren correcties door en beginnen opnieuw. Hun kosten moeten worden opgevolgd, zeker wanneer ze lang of parallel draaien.
Wat moet er op poten worden gezet?
Om code-agents verstandig in te zetten, moet je twee uitersten vermijden.
Het eerste: ze volledig verbieden uit angst voor risico's. Dat komt neer op het negeren van een grote evolutie in softwareontwikkeling.
De tweede: ze overal toegang toe geven en hopen dat "het wel goed komt". Die strategie heeft al een flink stuk van de geschiedenis van moderne cybersecurity bepaald.
Een gezonde aanpak begint met afgebakende taken: documentatie, tests, kleine fixes, repetitieve migraties, geïsoleerde refactorings en code-analyse. Teams breiden de scope daarna geleidelijk uit op basis van de waargenomen kwaliteit.
We moeten ook eenvoudige regels invoeren: geen kritieke wijzigingen zonder menselijke review, geen onnodige toegang tot vertrouwelijke informatie, geen schrijfacties in productie, traceerbaarheid van acties, verplichte tests, duidelijke beschrijvingen van wijzigingen en validatie door een codeverantwoordelijke.
Tot slot moeten we meten. Hoeveel tijd werd er bespaard? Hoeveel PR's werden aanvaard? Hoeveel bugs werden er geïntroduceerd? Wat kost een geslaagde taak? Welk deel van het werk vraagt menselijke correctie? Zonder metingen is de agent niets meer dan een black box met een moderne interface.
En de toekomst?
Code-agents betekenen niet het einde van de developer. Ze luiden eerder het einde in van een bepaald soort repetitief, lokaal en mechanisch werk.
De waarde verschuift naar het begrijpen van het systeem, het formuleren van requirements, de kwaliteit van tests, architectuur, code reviews, beveiliging en productbeslissingen.
Goed nieuws voor teams die al weten hoe ze nette code bouwen. Slecht nieuws voor wie hoopte dat AI een gebrek aan methode op magische wijze zou compenseren.
Code-agents worden waarschijnlijk een standaardonderdeel van de ontwikkelomgeving, net als Git, CI of linters. Eerst maken ze indruk. Dan raken ze ingeburgerd. Uiteindelijk kunnen we ons niet meer voorstellen hoe we ooit zonder konden, en dat is meestal precies het moment waarop ze echt gevaarlijk worden.
De vraag is dus niet: "Moeten we code-agents gebruiken?" De echte vraag is: "Welke taken willen we aan ze delegeren, met welke waarborgen, en met welk niveau van menselijke verantwoordelijkheid?"
De volgende editie per e-mail, zonder vast ritme.