Twee jaar lang draaide werken met een coding agent om één ding: een goede prompt schrijven, het antwoord lezen, een volgende prompt typen, opnieuw beginnen. Jij was de hele tijd aan zet. Die tijd loopt op zijn einde. Wie vandaag serieus met AI coding agents werkt, schrijft geen losse opdrachten meer. Die ontwerpt een systeem dat de agent zelf aanstuurt. Dat heet loop engineering, en het verschuift het zwaartepunt van prompten naar het bouwen van  feedbacksystemen.

Peter Steinberger vatte het samen: je zou geen coding agents meer moeten prompten, je zou loops moeten ontwerpen die je agents prompten. Boris Cherny, hoofd Claude Code bij Anthropic, ging nog een stap verder. Hij prompt Claude niet meer. Hij heeft loops draaien die Claude prompten en uitzoeken wat er moet gebeuren. Zijn werk is loops schrijven.

Wat is een loop precies

Een loop in agentische AI is een herhalende cyclus. De agent voert een actie uit, ontvangt feedback uit de omgeving, gebruikt die feedback om de volgende stap te bepalen, en gaat door tot een stopvoorwaarde wordt gehaald. Dat is iets anders dan een chain. Een chain is lineair: stap A leidt naar stap B leidt naar stap C. Een loop is dynamisch. De agent kan ontdekken dat stap B mislukte, een andere aanpak proberen, en pas dan verder gaan.

Voor coding werkt dat patroon bijzonder goed omdat coderen van nature iteratief is. Zelfs ervaren engineers schrijven niet in één keer correcte code. Ze properen een eerste versie, zien de fout, lossen het op, draaien opnieuw. Agents die deze cyclus overslaan en code in één keer genereren, kunnen geen runtime fouten vangen en kunnen niet verifiëren dat wat ze maakten ook echt werkt. Loop engineering sluit dat gat.

De vijf bouwstenen plus geheugen

Een werkbare loop bestaat uit vijf componenten en één plek om dingen te onthouden. Eerst de opsomming, daarna de uitwerking.

  • Automations die volgens een schema starten en zelfstandig ontdekken en triëren
  • Worktrees zodat parallelle agents elkaar niet in de weg lopen
  • Skills waarin projectkennis is vastgelegd die de agent anders elke keer opnieuw zou moeten raden
  • Plugins en connectors die de agent koppelen aan tools die je al gebruikt (MCP)
  • Sub-agents zodat de ene maakt en de andere controleert

De zesde component is het geheugen. Een markdown bestand, een log, iets dat de historiek, wat klaar is en wat openstaat. Klinkt te simpel om uit te maken, maar het is precies wat elke langlopende agent nodig heeft. De agent vergeet alles tussen runs, dus het geheugen moet op schijf staan en niet in de context. De agent vergeet, de repo niet.

Automations als hartslag

Automations lopen periodiek. Je definieert een prompt, een cadans en een omgeving. De runs die iets vinden komen in een triage inbox terecht, runs die niets vinden archiveren zichzelf. Saaie maar belangrijke taken worden door automations verzorgd: dagelijkse issue triage, samenvatten van CI failures, commits van de afgelopen week scannen op bugs.

Binnen één sessie zijn primitives als /loop en /goal belangrijk. De eerste herstart periodiek, de tweede draait door tot een voorwaarde die jij definieerde is bereikt. Na elke beurt beoordeelt een apart klein model of het doel bereikt is, zodat de agent die de code schreef niet zichzelf beoordeelt.

Worktrees vermijden conflicten

Zodra er meer dan één agent tegelijk draait beginnen bestanden te botsen. Twee agents die hetzelfde bestand bewerken zorgt voor dezelfde problemen als twee engineers die op dezelfde regels committen zonder overleg. Een git worktree lost dat op. Het is een aparte werkdirectory op zijn eigen branch die dezelfde repo geschiedenis deelt. De edits van de ene agent kunnen de checkout van de andere niet raken.

Skills geven en behouden context

Een skill zorgt dat je niet telkens dezelfde projectcontext moet uitleggen. Het formaat is overal hetzelfde, een map met een SKILL.md erin met instructies en metadata, en optioneel scripts of referenties. De agent roept een skill aan wanneer een taak overeenkomt met de beschrijving. Een strakke, saaie beschrijving werkt beter dan een beschrijving die slim klinkt.

Skills zijn ook waar intent stopt met telkens opnieuw geld kosten. Een agent begint elke sessie koud en vult elk gat in jouw intentie met een zelfverzekerde gok. Een skill is die intentie van buitenaf opgeschreven: de conventies, de buildstappen, het beruchte “we doen het zo niet vanwege dat ene incident”. Zonder skills herleidt de loop elke cyclus je hele project vanaf nul. Met skills bouwt het zich op.

Connectors voor het echt werk

Een loop die alleen het bestandssysteem ziet, blijft klein. Connectors via MCP laten de agent je mails lezen, een database bevragen, api’s aanspreken. Connectors zijn de reden dat de loop kan handelen binnen je echte omgeving in plaats van alleen te vertellen wat hij zou doen als hij kon.

Sub-agents voor maken en checken

Het meest nuttige in een loop is de scheiding tussen wie schrijft en wie controleert. Het model dat de code maakte is veel te mild bij het beoordelen van zijn eigen werk. Een tweede agent met andere instructies en soms een ander model ontdekt wat de eerste zichzelf had wijsgemaakt. De gebruikelijke verdeling is één agent die verkent, één die implementeert en één die verifieert of de gevraagde specificaties werden geleverd.

Wat de loop nog steeds niet voor je doet

De loop verandert het werk, hij vervangt jou niet. Drie problemen komen op termijn meer voor:

Verificatie blijft jouw verantwoordelijkheid. Een loop die onbewaakt draait, maakt ook onbewaakt fouten. De reden om de verifier sub-agent te splitsen van de maker is om “het is klaar” iets te laten betekenen. Zelfs dan is klaar een claim en geen bewijs. Jouw werk blijft het beoordelen of het eindresultaat goed genoeg is.

Je begrip verdwijnt. Hoe sneller de loop code uitlevert die jij niet schreef, hoe groter de kloof wordt tussen deze code wat jij begrijpt. Een vlotte loop maakt die kloof sneller groter.

De comfortabele houding is de gevaarlijke. Als de loop zichzelf runt is het verleidelijk om geen mening meer te hebben en gewoon te accepteren wat eruit komt. Een loop ontwerpen kan je begrip en beoordelingsvermogen versterken. Diezelfde loop kan een versneller van verval worden als je het laat kopen om denkwerk te ontwijken. Dezelfde handeling heeft een tegengesteld resultaat.