Behandel AI als developer,
niet als hulpje
Vrijwel elk ontwikkelteam gebruikt AI. Autocomplete, een chatvenster, misschien een coding agent die losse opdrachten uitvoert. De productiviteitswinst is echt. Maar in de meeste teams steken de resultaten op hetzelfde niveau: de developer werkt sneller, maar het proces is niet veranderd. Kennis blijft in chatgeschiedenissen, fouten worden per sessie opnieuw gemaakt, en niemand weet precies wat de AI gisteren heeft gedaan.
De doorbraak zit ergens anders.
“Behandel AI niet als hulpje van een developer, maar als developer binnen een expliciet delivery-proces.”
Dat vraagt niet om betere prompts of een duurder model. Het vraagt om architectuur: een agent die elke sessie identiek start, in Git werkt, vanuit een taskboard opereert, en zijn bevoegdheden niet zelf kan uitbreiden.
De autonomieladder: acht niveaus
De methode begint klein. Elk niveau voegt autonomie toe – en vereist daarvoor extra borging. Wie een stap overslaat, merkt dat niet meteen; het wreekt zich later in onverklaarbare wijzigingen of een agent die iets deed wat niemand had geautoriseerd.
| Niveau | Vorm | Wat er gebeurt | Vereiste borging |
|---|---|---|---|
| L0 | Autocomplete | AI vult code aan. | Code review zoals altijd. |
| L1 | Losse prompts | Mens geeft technische instructies per stuk. | Idem. |
| L2 | Eén taak | Agent voert een afgebakende taak zelfstandig uit. | Reproduceerbare start. |
| L3 | Taakbatch | Agent verwerkt meerdere taken en zet ze in review. | Persistent geheugen (Git). |
| L4 | Swimlane | Agent kiest zelf geschikte taken uit het bord. | Taskboard-integratie. |
| L5 | Delivery-loop | Branch, implementatie, tests, PR en statusupdates. | Git flow + CI/CD. |
| L6 | Unattended | Scheduler start dezelfde werkwijze op een server. | Operationele randvoorwaarden. |
| L7 | Orchestratie | Orchestrator kiest werk, context, worker en escalatie. | Identity, secrets en gates. |
Autonomie en bevoegdheid zijn niet hetzelfde. Een agent mag volledig zelfstandig bedenken wat wenselijk is, zolang gevoelige acties technisch onmogelijk blijven zonder externe autorisatie. Beslisruimte geef je ruim; uitvoeringsmacht geef je krap.
Zelfassessment: waar staat jouw team?
Zes vragen bepalen je startpunt. Begin bij de eerste waarvan je het criterium nog niet kunt afvinken.
| Vraag | Ja betekent |
|---|---|
| Start elke AI-sessie identiek, via één script of launcher? | L2 bereikbaar |
| Staan instructies, beslissingen en lessen in versiebeheer? | L3 bereikbaar |
| Werkt de agent aantoonbaar vanuit het taskboard, met statusupdates? | L4 bereikbaar |
| Loopt elke agent-wijziging via branch, PR en CI? | L5 bereikbaar |
| Draaien er veilige, begrensde runs zonder mens erbij? | L6 bereikbaar |
| Zijn productie, secrets en destructieve acties technisch afgeschermd? | L7 verantwoord |
De eerste stap: maak de start reproduceerbaar
Alles staat of valt met één principe: elke agent-sessie begint identiek. Zolang iedere developer de agent anders opstart – andere directory, andere instellingen, andere context – is elk resultaat een momentopname die je niet kunt herhalen, vergelijken of debuggen.
De oplossing is banaal, en juist daarom krachtig: één launcher. Een script dat de enige toegestane manier is om de agent te starten. Het bepaalt de startdirectory, het model, de permissie-instellingen en verwijst naar configuratie en een secrets-oplossing – nooit naar hardcoded waarden.
Klaar wanneer: twee verschillende teamleden starten op twee machines een sessie en krijgen aantoonbaar dezelfde omgeving, instellingen en startcontext.
Git als geheugen: de feedbackregel
Een agent zonder geheugen maakt elke fout opnieuw. De chatgeschiedenis is geen geheugen: niet doorzoekbaar voor het team, niet reviewbaar, niet overdraagbaar. Maak de workspace een Git-repository.
De feedbackregel is simpel: feedback wordt pas duurzaam als die landt in instructies, tests, beleid of tooling. Corrigeer je een agent alleen in de chat, dan corrigeer je één sessie. Landt de correctie in lessons-learned/ of AGENTS.md, dan corrigeer je alle toekomstige sessies tegelijk.
Sluit elke werkdag of review af met de vraag: welke les van vandaag moet in de repo?
Autonomie is een verdiende eigenschap
De verleiding is groot om na de eerste indrukwekkende resultaten meteen een hele backlog los te laten op de agent. Doe dat niet. Betrouwbaarheid toont zich pas onder herhaling, en elke autonomieverhoging vergroot de schaderadius van een systematische fout.
Het groeipad is eenvoudig:
- Eén taak, dan stoppen. Inspecteer alles: de code, statusupdates, het bewijs, de kwaliteit van de PR.
- Enkele taken naar Review. Is taak vijf net zo zorgvuldig als taak één?
- Een geschikte swimlane. Markeer welke taken agent-geschikt zijn; de agent kiest alleen daaruit.
- Pas daarna: unattended runs en orchestratie.
Autonomie is een verdiende operationele eigenschap, geen instelling die je aanzet. Het niveau mag per project en per taaktype verschillen: dezelfde agent kan op het interne tool L5 draaien en op het klantkritische systeem L2.
Wat het oplevert
Als de architectuur staat, verandert de rol van de developer fundamenteel. Niet minder werk, maar ander werk:
- Doorlooptijd: geschikte taken lopen zonder wachttijd van To Do naar Review, ook buiten kantooruren.
- Kwaliteit: elke wijziging via dezelfde route: branch, tests, pull request, review.
- Schaalbaarheid: meer werkvoorraad betekent meer parallelle agent-runs, geen extra vacatures.
- Beheersbaarheid: risicovolle acties blijven technisch onmogelijk zonder expliciete goedkeuring.
- Kennisbehoud: lessen en beslissingen landen in Git, niet in de chatgeschiedenis van één developer.