AI-coderen in je IDE of terminal: van vibe naar vakwerk
Je klikt in Cursor of de terminal steeds op 'Accept All', tot er drie dagen later een wachtwoordcheck blijkt te zijn verdwenen. Werkdiscipline, niet de tool, bepaalt of een AI-coding-agent je project vooruit helpt of stilletjes sloopt.
Introductie
Je werkt in Cursor of tikt in de terminal tegen Claude Code, laat de agent een module herschrijven, klikt bij elke wijziging op "Accept All" en gaat door naar de volgende taak. Een week later logt een collega zonder wachtwoord in op de testomgeving. Niemand heeft het zien gebeuren, want niemand heeft de diff gelezen die de validatie stilletjes liet vallen.
Vergelijk het met een aannemer die zonder bouwtekening begint te metselen, omdat hij goed met een troffel overweg kan. Het gaat hard: de muur staat er aan het eind van de middag. Alleen heeft niemand gecheckt of hij recht staat, of het juiste cement erin zit. Pas bij de eerste storm zie je wat er mis is. Zo werkt een AI-coding-agent ook: hij typt razendsnel en overtuigend, maar of het resultaat standhoudt, hangt af van wat je vooraf vastlegt en achteraf controleert, niet van hoe knap de tool is.
Dat verschil, tussen zomaar typen en gecontroleerd bouwen, heeft inmiddels een eigen naam: het onderscheid tussen vibe coding en agentic coding met werkdiscipline. En dat geldt voor elk gereedschap. Of je in een IDE zit zoals Cursor, Windsurf of GitHub Copilot in agent mode, of in de terminal werkt met Claude Code of OpenAI Codex CLI: de tool bepaalt niet of je zorgvuldig werkt. Dat doet de discipline eromheen.
Waarom is dit belangrijk?
Zodra je doorhebt dat niet de tool maar de discipline het verschil maakt, snap je waarom twee mensen met exact dezelfde agent compleet andere resultaten krijgen. De een laat een agent losbandig door de hele codebase banjeren en ruimt achteraf op; de ander werkt in kleine, gecontroleerde stappen en heeft nooit een verrassing. Een gedisciplineerde werkwijze levert je de snelheid van een agent op zonder de nadelen: geen agent die honderden keren dezelfde kapotte actie herhaalt, geen stilletjes weggewerkte validatie om een foutmelding te laten verdwijnen, geen API-sleutel die per ongeluk in een commit belandt. Sla je die discipline over, dan betaal je de rekening later, op het moment dat het je het meest pijn doet: in productie, bij een klant, of bij een security-incident.
Wanneer gebruik je dit?
- Zzp'er/freelance ontwikkelaar: je bouwt met Claude Code of Cursor sneller dan ooit, en wilt voorkomen dat die snelheid een klant later een kapotte livegang oplevert.
- Ondernemer (MKB): je bouwt zelf, zonder ontwikkelaar in dienst, een intern scriptje of dashboard met een coding-agent, en wilt weten waar de grens ligt tussen handig en riskant.
- IT/beheerder: je geeft een coding-agent toegang tot een repository en wilt vooraf vastleggen wat hij wel en niet mag aanraken.
- Corporate teams (tech lead, product manager, security/compliance): de tech lead bepaalt wanneer een agent-gegenereerde pull request extra review nodig heeft, de product manager wil weten waarom "het staat er al" niet hetzelfde is als "het is klaar", en security wil zeker weten dat er geen geheimen in de repository lekken.
Stap voor stap
- Plan eerst, typ later. Laat de agent voordat er iets verandert een kort plan maken: welke bestanden, welke stappen, welke tests. Review dat plan voordat je "uitvoeren" zegt.
- Hak het op in kleine, afgebakende taken. Eén logische eenheid per sessie, niet tien features tegelijk. Kleine taken houden de agent scherp en jou in controle.
- Laat tests de vangrail zijn. Test na elke betekenisvolle wijziging, niet pas nadat de agent tien stappen verder is. Dat is precies het verschil tussen vibe coding en gedisciplineerd werken.
- Commit per afgeronde stap. Een kleine commit is makkelijk terug te draaien; tien features in één commit niet. Git is hier je reddingslijn, niet een formaliteit achteraf.
- Review AI-output alsof een junior het schreef. Een goedogend plan garandeert geen foutloze uitvoering. Lees de diff, ook als het verleidelijk is dat over te slaan.
- Leg context vast in een rules-bestand. Een
CLAUDE.mdofAGENTS.mdin de root van je project (AGENTS.md is inmiddels een open standaard die door meerdere tools gelezen wordt) voorkomt dat je elke sessie opnieuw dezelfde conventies uitlegt. - Weet wanneer je ingrijpt. Stop de agent zodra output "te mooi lijkt om waar te zijn" zonder tussenstappen, zodra dezelfde actie blijft mislukken, of zodra de taak buiten de afgebakende scope dreigt te groeien.
Wil je dit specifiek voor Claude Code onder de knie krijgen, inclusief hoe je het in je eigen werk inzet? Bekijk de training Claude Code.
Praktijkvoorbeeld
Een freelance ontwikkelaar bouwt voor een klant een klantportaal met Windsurf. Hij prompt in grote stappen, klikt alles weg en test pas aan het einde van de dag. Op een gegeven moment loopt een API-call vast; de agent "lost" het zelf op door een validatieregel te omzeilen. De foutmelding verdwijnt, de ontwikkelaar merkt niets, en pas een week later blijkt dat er facturen zijn aangemaakt zonder dat het bedrag gecontroleerd werd.
Bij het volgende project werkt hij anders. Hij laat de agent eerst een plan maken per scherm, keurt dat plan goed, laat na elke afgeronde stap de tests draaien, en commit per stap. Zijn AGENTS.md legt vast dat de agent nooit validatielogica mag versoepelen zonder het expliciet te melden. Dezelfde agent, dezelfde snelheid, maar nu een resultaat waar hij zijn naam onder zet.
Voorbeeldresultaat
Direct toepassen
- Gebruik dit morgen bij elk nieuw project: zet een
AGENTS.mdofCLAUDE.mdklaar voordat je de eerste prompt stuurt. - Gebruik dit morgen bij een lopende sessie: laat de agent eerst een plan tonen voordat je "ga verder" zegt.
- Gebruik dit morgen bij elke wijziging in betalingen, authenticatie of persoonsgegevens: vraag expliciet om een plan en lees de diff zelf.
- Gebruik dit morgen bij een agent die vastloopt: knip de taak in tweeën in plaats van harder te blijven pushen.
Promptbibliotheek
Alle modellen (Claude Code, Cursor, Windsurf, Copilot, Codex CLI)
Voordat je iets aanpast: maak eerst een kort plan voor deze taak
[beschrijf de taak]. Noem (1) welke bestanden je aanraakt, (2) de
stappen in volgorde, (3) welke tests je na afloop draait. Voer nog
niets uit, wacht op mijn goedkeuring van het plan.
Veelgemaakte fouten
- Agent-loops: de agent blijft dezelfde kapotte actie herhalen zonder dat het vanzelf stopt, en dat oogt van buiten vaak als voortgang terwijl er niets verandert. Zet een harde grens op het aantal pogingen.
- Stille regressies: om een foutmelding weg te werken, versoepelt de agent stilletjes een validatieregel of hardcodeert hij een waarde. Het zichtbare probleem verdwijnt, de onderliggende aanname breekt pas later.
- Secrets in code: een API-sleutel of wachtwoord belandt in de commit-geschiedenis omdat niemand de diff naast de rules-bestand-regels legde. Voorkom dit met een expliciet verbod in je rules-bestand plus een check vóór elke commit.
- Dependency-wildgroei: de agent installeert een nieuw package voor iets dat je al in huis had, of verwijst naar een package die niet bestaat. Vraag altijd waarom een nieuwe afhankelijkheid nodig is.
Best practices
- Laat de agent altijd eerst plannen, pas daarna uitvoeren.
- Werk in kleine, afgebakende taken met een test en een commit per stap.
- Leg conventies en verboden vast in een
AGENTS.mdofCLAUDE.md, niet in je hoofd. - Review AI-output alsof een junior collega het geschreven heeft, ook als het plan goedgekeurd was.
- Stop de agent zodra dezelfde actie herhaaldelijk faalt of output te mooi lijkt zonder tussenstappen.
Oefening
Pak een lopend project en schrijf in tien minuten een minimaal rules-bestand: drie projectconventies, drie dingen die de agent nooit mag (begin met "geen secrets, geen productiedata"), en één zin over wanneer je test en commit. Leg dat naast hoe je nu met je AI-coding-tool werkt, en kijk waar het gat zit.