Wat is een system-prompt? De vaste instructie die bepaalt hoe een AI-toepassing zich gedraagt, los van wat de gebruiker typt. Wat erin hoort.
Een system-prompt is de vaste instructie waarmee een AI-toepassing wordt opgevoerd: wie het model is, wat hij doet, wat hij weigert en in welke toon hij antwoordt. Zij staat los van wat de gebruiker intypt en geldt voor elke aanroep. EIGHTY8 behandelt de system-prompt als ontwerponderdeel met versiebeheer, niet als een tekstje dat ooit iemand typte.
Elke AI-toepassing die je serieus neemt, heeft twee lagen instructies. De onderste laag is de system-prompt: vast, per toepassing geschreven, en voor de gebruiker doorgaans onzichtbaar. Daarin staat wat de toepassing is ('je bent de assistent van een installateur en helpt met werkbonnen') en wat de grenzen zijn: waar hij over zwijgt, wanneer hij doorverwijst naar een mens, in welke taal en toon hij schrijft.
De bovenste laag is wat de gebruiker zelf typt. Beide lagen gaan samen in één aanroep, maar ze hebben een verschillend gezag: het model neemt de system-prompt als uitgangspunt. Dáárom bepaalt deze instructie het karakter van je toepassing, en dáárom is het geen detail maar een ontwerpstuk. Hetzelfde basismodel leeft in een servicechat volledig anders dan in een documentcontrole. Puur door wat er in deze laag staat.
Wat erin hoort, is eerder klein dan groot: de rol, de taak, de grenzen, de toon, de verwijzing naar welke bronnen gebruikt mogen worden en wat er moet gebeuren bij twijfel. Wat er níet in hoort: bedrijfsgeheimen die geen enkele aanroep nodig heeft, kwetsbare eigenschappen als wachtwoordregels, en ellenlange uitleg die het model belemmert. De system-prompt is een taakomschrijving voor een werknemer. Kort, duidelijk, en onder versiebeheer zodat je kunt terugkijken welke versie welk gedrag gaf.
Een doordachte system-prompt is de moeite waard voor elke toepassing die meer doet dan een losse vraag beantwoorden: elke assistent met een taak, elke agent met rechten, elke chat die onder de eigen naam van een bedrijf spreekt. Zonder deze laag gedraagt het model zich als een los chatvenster. Aardig, breed, en onvoorspelbaar in toon en grenzen.
Zelf schrijven is niet nodig wanneer je een losse vraag stelt: typ wat je wilt weten en de standaardinstelling van de dienst is prima. En de system-prompt is geen wondermiddel: hij verbetert het gedrag, maar hij maakt van een zwak model geen sterk model en hij kan een misleidende vraag niet volledig neutraliseren. Zie ook prompt injection. Kwaliteit zit in de combinatie: instructie, bronnen, controles.
EIGHTY8 schrijft de system-prompt als onderdeel van elk ontwerp: kort, getest op echte vragen uit de praktijk, en vastgelegd onder versiebeheer. Bij elke wijziging draait dezelfde toetsset, zodat een aanpassing in de instructie meetbaar en terugdraaibaar is. Zo is het gedrag van je toepassing geen geheimpje in de code, maar een onderdeel dat je kunt lezen, bespreken en verbeteren.
Soms, als de bouwer hem niet bewaakt: een hardnekkige gebruiker kan een model vragen zijn instructies te herhalen, en veel modellen geven die dan gedeeltelijk prijs. Reken dus niet op geheimhouding. Praktische regel: schrijf de prompt zó dat erin lezen geen schade doet. Geen geheimen, geen rechten, geen tekst waarvan publiceren pijn geeft. Wat wél verborgen moet blijven, regel je buiten de prompt: in bronnen, rechten en systemen.
Wel: de rol, de taak, de toon, de taal, de grenzen en wat er bij twijfel moet gebeuren. Kort en concreet. Niet: gevoelige bedrijfsinformatie die geen enkele aanroep nodig heeft, securitygevoelige teksten, en een roman aan uitleg die het model trager maakt. Vuistregel uit de praktijk: alles wat een nieuwe stagiair op de eerste dag zou moeten weten, hoort erin; alles wat op een serviesbriefje thuis hoort, hoort eruit.
Meestal wint de system-prompt, want het model neemt haar als uitgangspunt. Maar niet altijd even stug, vooral bij langere gesprekken of een hardnekkige formulering. Reken dus niet op strikte gehoorzaamheid. In ons ontwerp volgt daaruit één regel: zet geen beveiliging in de prompt die je niet elders afdwingt. Grenzen die echt moeten gelden, staan in rechten en controles; de prompt beschrijft ze, maar bewaakt ze niet.
Dat kan, en soms moet het: een toepassing die in het Nederlands en het Arabisch antwoordt, krijgt per taal een instructie die de toon en de beleefdheidsvormen vastlegt. Ook per klant kan eenzelfde assistent anders opgevoerd worden. Andere grenzen, andere bronnen, andere toon. Belangrijk is dat elke variant onder hetzelfde versiebeheer staat en met dezelfde toetsset gemeten wordt, anders groeien de varianten uit elkaar zonder dat iemand het ziet.
EIGHTY8