AI coding agents voor softwareteams: waar menselijke controle nodig blijft
Coding agents zijn sneller van demo naar dagelijks gebruik gegaan dan de meeste teams er een mening over hebben kunnen vormen. De interessante vragen gaan allang niet meer over wat ze kunnen, maar over verantwoordelijkheid: welke delen van het opleverproces je veilig uit handen geeft, welk bewijs je terug wilt zien, en waar een mens in het pad moet blijven. Dit artikel geeft een werkbaar antwoord, vanuit een team dat op deze manier klantcode oplevert.

Waar agents echt goed in zijn
Zonder opsmuk zijn de huidige agents sterk in afgebakend, goed beschreven werk in een codebase die ze kunnen lezen: een beschreven defect reproduceren, een mechanische wijziging consistent over veel bestanden doorvoeren, de ontbrekende test schrijven, conventies volgen die in de repository zijn vastgelegd, en samenvatten wat ze hebben gedaan.
Ze zijn navenant zwak zodra er context nodig is die nergens staat. Bedrijfsregels die in iemands hoofd zitten, de reden waarom er een vreemde workaround staat, een klantrelatie die één aanpak politiek onmogelijk maakt. Ook daar produceert een agent een zelfverzekerd antwoord op, en precies dat is het risico.
Eén taak per agent werkt beter dan één agent die alles doet
Eén agent die de opdracht "los dit ticket op" krijgt, maakt zijn plan, zijn implementatie en zijn oordeel over het eigen werk in één doorlopende beweging. De beoordeling wordt dan gedaan door de partij met het grootste belang bij succes. Het werk opknippen in fasen met verschillende verantwoordelijkheden levert controlepunten op die een mens kan inzien.
Een pijplijn in fasen
- Planner, alleen lezenLeest de repositories en schrijft de bedoelde aanpak op het ticket. Kan geen code wijzigen. Je ziet in dertig seconden of het probleem begrepen is, voordat er code bestaat.
- Coder, meerdere repositoriesVoert één samenhangende wijziging door in alle repositories van het project, draait alleen toegestane commando's, en opent een pull request per aangeraakte repository.
- Reviewer, start de applicatieInstalleert en start de applicatie in een afgeschermde omgeving, draait de testsuite en bedient waar nodig een browser. Fouten gaan terug naar de code-agent in plaats van naar jou.
- Documentatiecontrole, goedkoop en continuVergelijkt de documentatie met de wijziging en plaatst een opmerking als die uiteenlopen. Het plaatst een opmerking, het blokkeert niet.
- Mens, beslistLeest de pull request en het overzicht van uitgevoerde controles, en drukt op merge. Of niet.
De plannerfase verdient zichzelf sneller terug dan mensen verwachten. De meeste misgelopen runs leveren geen slechte code op, maar correcte code voor het verkeerde probleem, en een plan op het ticket vangt dat af voor de prijs van één goedkope modelaanroep. De planner van Suporta werkt precies zo, bewust alleen-lezen.
Waarom een agent niet op merge hoort te drukken
Dit is de ene grens waar het loont onbuigzaam te zijn, om praktische en niet om principiële redenen.
- Verantwoordelijkheid verhuist niet mee. In je contract staat dat jij aansprakelijk bent voor de opgeleverde code. "De agent keurde het goed" accepteert niemand, inclusief je verzekeraar.
- Groene tests zijn niet hetzelfde als correct. Een geslaagde suite bewijst dat wat je al bedacht had te controleren nog werkt. De dure defecten zitten in de ruimte waar niemand een test voor schreef.
- Zelf goedkeuren is geen review. Als hetgeen de wijziging schreef ook bepaalt dat hij goed is, zit er nergens in het proces een tweede mening.
- De schade is asymmetrisch. Een gemiste review kost een code review. Een ongereviewde merge naar de productieomgeving van een klant kost de relatie.
De kosten van een mens bij de merge houden zijn één code review per wijziging, en die deed je toch al. De kosten van hem weghalen zijn ongelimiteerd, en opeisbaar op het slechtst denkbare moment.
Wat de reviewagent je hoort te geven
Een goedkeuring zonder bewijs is een mening. Een bruikbare reviewer vertelt wat hij heeft gedaan, zodat een mens kan bepalen hoeveel van de wijziging nog echte aandacht nodig heeft.
| Wat je wilt zien | Waarom het uitmaakt |
|---|---|
| Welke testsuites draaiden en met welk resultaat | Bepaalt of "goedgekeurd" iets betekent |
| Of de applicatie daadwerkelijk startte | Een wijziging die compileert maar niet opstart komt vaak voor en is goedkoop te vangen |
| Welke flows in een browser zijn gecontroleerd | Onderscheidt een echte controle van het statisch lezen van de diff |
| Fouten die al op main stonden | Voorkomt dat een bestaande kapotte test aan deze wijziging wordt toegeschreven |
| Wat bewust niet is gecontroleerd | De waardevolste regel van de hele opmerking |
Het telt ook dat de reviewer onder zijn eigen identiteit goedkeurt en niet als de auteur, zodat nergens in je historie een wijziging zichzelf goedkeurt. Een klein implementatiedetail met een groot gevolg voor de auditlijn.
De waarborgen die je vooraf instelt
Autonomie is alleen veilig in verhouding tot de controles eromheen. Elk punt hieronder hoort een instelling te zijn die jij beheert, geen belofte van een leverancier.
- Een schakelaar per agent. Zet elke fase uit voor de hele organisatie, en laat die schakelaar gelden ongeacht wie of wat de run startte.
- Een model per agent. Een sterk model voor planning, een goedkoop model voor documentatiecontrole. Kosten en kwaliteit zijn niet voor elke fase dezelfde knop.
- Een maandbudget. Een plafond in je eigen valuta, met een waarschuwing ervoor en een harde stop erop. Zie AI-ontwikkelkosten per klant beheersen.
- Expliciete rechten op commando's. Een agent draait de commando's die jij hebt goedgekeurd en verder niets.
- Beperkte schrijfrechten. De hele codebase lezen is nuttig. Er overal in mogen schrijven is niet nodig.
- Een wachtrij voor menselijke beslissingen. Alles wat dubbelzinnig is komt op één plek terecht in plaats van stil te vallen.
Waar je realistisch begint
De neiging is om agents op het lastigste ticket los te laten om te zien wat er gebeurt. Dat levert een mooi verhaal en een slecht besluit op. Begin waar het controleren van het resultaat goedkoop is.
- Goed beschreven defecten met reproductiestappen, in een codebase met tests. Het schoolvoorbeeld van controleerbaar werk.
- Mechanische wijzigingen over veel bestanden: een hernoemd veld, een verouderde aanroep, een versieverhoging met gevolgen.
- Testdekking voor bestaande code. Laag risico, zichtbaar resultaat.
- Achterstallige documentatie. Goedkoop, continu, en niemand doet het graag.
Houd alles wat met geld, authenticatie, rechten of datamigratie te maken heeft even buiten beeld tot je genoeg runs hebt gezien om de faalpatronen te kennen. Juist daar is een geloofwaardig ogend fout antwoord het duurst.
Wat er echt verandert voor het team
Niet de bezetting. Het werk verschuift in plaats van te verdwijnen: minder tijd met het uittypen van bekende wijzigingen, meer tijd met problemen scherp beschrijven en wijzigingen zorgvuldig beoordelen. Ticketkwaliteit wordt daarmee de bottleneck, en daarom telt de intakestap zo zwaar — zie van klantmail naar developer-ready ticket.
Twee gewoonten zijn het bewust beschermen waard. Junior developers moeten nog steeds code schrijven die een agent ook had kunnen schrijven, want zo bouw je oordeelsvermogen op. En reviews moeten echt blijven: een door een agent geschreven pull request die een stempel krijgt, is strikt slechter dan geen agent, omdat je de schijn van review hebt toegevoegd aan een ongecontroleerde wijziging.
Bekijk de volledige agentpijplijn
Planner, coder, reviewer, documentatiecontrole en twee optionele agents, elk met een eigen model, een eigen schakelaar en een harde stop op je maandbudget.
Bekijk de AI-agents arrow_forwardGerelateerde artikelen
Alle artikelen arrow_forward
Hoe beheer je AI-ontwikkelkosten per klant?
AI-kosten zijn niet duur door de tarieven. Ze zijn duur omdat ze onzichtbaar blijven tot de maandfactuur, en tegen die tijd horen ze bij niemand in het bijzonder.

Helpdesk voor softwarebureaus: van klantticket tot pull request
Een standaard helpdesk is klaar zodra iemand antwoordt. Een ticket bij een softwarebureau is pas klaar als de code gemerged, getest en gefactureerd is. In dat gat verdwijnt de meeste administratietijd.

De complete workflow voor softwarebureaus: ticket, sprint, development, testing en facturatie
Tien fasen, en de waarde zit in de koppelingen en niet in de fasen. Dit is het naslagwerk dat we zelf gebruiken, inclusief wat er bij elke overdracht misgaat en hoe je dat merkt.
