System Prompt Linter
Analyseert een system prompt op veelvoorkomende problemen: vage instructies, conflicterende regels, ontbrekende voorbeelden, opgeblazen context. Heuristisch, uitgesproken, snel.
Waarvoor is dit?
De meeste system prompts in productie zitten vol dode zinnen. "Wees behulpzaam." "Wees altijd accuraat." "Verzin nooit dingen." Dat zijn wensen, geen instructies — het model kan er niks mee, want ze vertellen hem niet wat anders te doen. Deze tool draait een korte heuristiek over je prompt en haalt de patterns naar boven die bijna altijd betekenen dat de prompt minder werk doet dan de auteur denkt. Uitgesproken en heuristisch, geen orakel — maar de gaten die het signaleert zijn dezelfde die reviewers signaleren, en dezelfde die subtiele drift in productie veroorzaken.
Wanneer gebruiken
- Voor het uitrollen van een nieuwe system prompt. Vijfsecond-sanitycheck.
- Bij iteratie na eval-regressies. De prompt die "prima oogt" heeft vaak 3 absolutismen die elkaar tegenspreken.
- Reviewen van een teamgenoot's prompt. Haalt commentaarwaardige dingen naar boven zonder prompt-engineer te zijn.
- Auditen van een prompt die door accretie gegroeid is. Oude prompts verzamelen rommel; de linter wijst aan wat het meest kost.
Wat het checkt
- Specifieke rol-toewijzing — zegt het wat het model daadwerkelijk doet, of alleen "wees behulpzaam"?
- Voorbeelden — één uitgewerkt voorbeeld verslaat elke hoeveelheid proza. Twee verslaan één.
- Outputformaat — specificeert het JSON / proza / tabel / markdown? Het missen hiervan is oorzaak #1 van fragiele downstream parsers.
- Refusal-gedrag — wat doet het model wanneer de user uit scope gaat?
- Hallucinatie-guards — vertelt het het model te verifiëren, citeren, of onwetendheid toe te geven?
- Vage absolutismen — te veel "altijd" / "nooit" maakt ze allemaal negeerbaar.
- Tegenstrijdige directives — "wees beknopt" + "wees grondig", of "altijd X" + "nooit X".
- Persona drift — meerdere "Je bent…"-zinnen nodigen het model uit om persona te wisselen.
- Tokengrootte — boven ~2k tokens raken middle-of-prompt instructies kwijt.
- Smart quotes — copy-paste uit Word, breekt downstream literal-string matching.
- Aanspreking — "Je zult" vs "De assistent moet". Modellen verkiezen het eerste.
- Reasoning cue — voor multi-step taken een expliciete "denk eerst na" regel.
- Meta-commentaar-lek — frasen als "als AI…" in de system prompt lekken vaak naar antwoorden.
Grenzen
- Het is pattern-matching, geen lezen. Het weet niet of je voorbeelden goed zijn of je rol zinnig is. Het ziet alleen of de oppervlaktepatronen er zijn.
- False positives komen voor. Een korte, gefocuste prompt kan tegen deze rubriek "onvolledig" lijken — soms is onvolledig juist.
- Het vervangt geen evals. Alle checks passeren betekent niet dat je prompt goed is; het betekent dat hij niet duidelijk kapot is.
- Engels-bias. De heuristieken zoeken Engelse keywords. Niet-Engelse prompts geven luidruchtige resultaten.
- Privacy. Niks verlaat de pagina. Alle checks draaien in JS in je browser.