Prompts in de console¶
Het concept achter agents staat in Agents.
In het onderdeel Prompts maak je instructiesjablonen aan, publiceer je versies en verwijder je sjablonen die je niet meer gebruikt. Werk je een prompt bij, dan gebruiken applicaties de nieuwe instructies zonder opnieuw te worden uitgerold.
Je hebt een beheerdersaccount van de organisatie nodig, en de capability prompts moet in het
plafond van de organisatie aanstaan. Hetzelfde doe je met een sleutel in
Prompts via de API.

Een prompt toevoegen¶
Kies Prompt toevoegen. Het formulier opent als eigen pagina; vul deze velden in:
| Veld | Wat je invult |
|---|---|
| Identifier | waarmee een aanroep deze prompt kiest; kan later niet meer wijzigen. Het veld zet zelf om naar kleine letters, cijfers, - en _, begint met een letter of cijfer, maximaal 64 tekens |
| Rol | developer (de gewone keuze) of delegate: developer weegt het zwaarst als instructies elkaar tegenspreken, delegate telt lichter |
| Template | de tekst. {{ naam }} markeert een plek die per aanroep wordt ingevuld, {{ $naam }} een invulwaarde |
| Invulwaarden | voor elke {{ $naam }} in de template je eigen waarde, met zijn soort (hieronder) |
| Variabelen | elke plek die je template gebruikt, met een omschrijving, de soort waarde die hij aanneemt (hieronder), een eventuele standaard (hieronder) en of hij verplicht is |
Declareer elke placeholder {{ name }} onder Variabelen. Een rij badges boven het sjabloon
toont elke placeholder en elke opgegeven variabele: groen als beide kloppen, blauw als een
opgegeven variabele niet meer in het sjabloon voorkomt. Typ je een nieuwe placeholder, dan komt
er een variabelenrij bij. Het formulier weigert zolang een badge blauw is of een placeholder niet
is opgegeven. Dit geldt voor het sjabloon en voor dat van een nieuwe versie.
Sjablonen ondersteunen het invullen van variabelen en invulwaarden. Voorwaarden, lussen en includes worden niet ondersteund.
Kies Toevoegen om de prompt en versie 1 aan te maken. Je komt dan op de pagina van de prompt, met versie 1 al in de geschiedenis.
De soort waarde van een variabele¶
Variabelen toont in de weergave Visueel een rij per variabele: de naam, de Soort, Verplicht, en de regels met de omschrijving eronder. De Soort zegt wat een aanroeper ervoor moet meesturen.
| Soort | Wat een aanroeper meestuurt |
|---|---|
| Tekst | willekeurige tekst |
| Keuze | een van de toegestane waarden, als tekst |
| Geheel getal | een getal zonder breuk, zoals 3 |
| Getal | een getal, zoals 3 of 2.5 |
| Ja of nee | true of false |
Een aanroep met een waarde die niet past, wordt geweigerd; de tekst "3" is geen getal. Welke
soort ook, de waarde komt als tekst in de template: 3, 2.5, true of false.
Een Keuze beperkt een variabele tot een vaste lijst: typ de waarden achter waarden,
gescheiden door komma's, zoals formeel, informeel. Een Getal of Geheel getal krijgt zo'n
lijst met de regel waarden onder + regel; elke waarde moet bij de soort passen. Een
variabele Ja of nee heeft geen lijst, omdat hij al maar twee waarden aanneemt.
De weergave JSON toont het JSON Schema dat Core van de variabelen bewaart. Je kunt het daar ook bewerken: zolang het binnen de soorten en regels van deze pagina blijft, komt het terug in de rijen; anders noemt het formulier wat een prompt niet kan bevatten. Onder de rijen staat hoe Core de variabelen leest, en een voorbeeld van waarden die passen.
Invulwaarden¶
Een {{ $naam }} is een invulwaarde: een waarde die je één keer vastlegt en die daarna bij de
instructies zelf hoort, zoals je bedrijfsnaam. Zodra de template er een bevat, verschijnt onder
Invulwaarden een rij voor die naam, met de markering zelf als label, zoals {{ $bedrijf }}.
Haal je de markering uit de template, dan verdwijnt de rij ook. Elke rij heeft deze velden:
| Veld | Wat je invult |
|---|---|
| Soort | Tekst, Getal of Keuze |
de markering, zoals {{ $bedrijf }} |
je eigen waarde. Bij een Keuze kies je hem uit de toegestane waarden |
| Toegestane waarden | alleen bij een Keuze: één waarde per regel. De waarde hierboven is er een van |
| Omschrijving | wat deze waarde is, voor wie hem instelt. Een organisatie die de prompt installeert, ziet dit bij haar eigen invulwaarde |
Een waarde mag niet leeg zijn en geen {{ of }} bevatten. Een Getal neemt alleen een getal
(Vul een getal in.), en een Keuze heeft minstens één toegestane waarde nodig, met jouw waarde
daartussen.
Wie de prompt via een publicatie installeert, vult zijn eigen waarde in, van dezelfde soort (zie Tekst die de installeerder invult). Een invulwaarde telt niet als variabele en krijgt geen badge; een versie in de geschiedenis toont haar invulwaarden.
Standaardwaarden voor variabelen¶
Een variabele vult de aanroeper normaal bij elke aanroep in. Sommige waarden kan Core zelf invullen, zoals de datum van vandaag. Geef een variabele daarvoor een regel met + regel in haar rij:
- Geen van beide: de aanroeper levert de waarde. Is de variabele verplicht, dan weigert Core een aanroep zonder waarde.
- standaard: een eigen waarde, die Core invult als de aanroeper niets meestuurt. Typ hem in de
regel; hij moet bij de soort van de variabele passen en, als de variabele toegestane waarden
heeft, daar een van zijn. Bij een variabele Ja of nee kies je
trueoffalse. Maximaal 4096 tekens. - ingebouwd: een waarde die Core op het moment van de aanroep zelf bepaalt. Kies hem in de keuzelijst van de regel.
Een variabele heeft er hoogstens één: kies je de ene, dan verdwijnt de andere. Stuurt de aanroeper toch een waarde mee, dan gaat die voor. Een variabele met een standaard is daarom nooit verplicht: met standaard of ingebouwd gaat Verplicht uit; de reden staat in de tooltip. Haal je de regel weg, dan staat Verplicht weer zoals het was.
Een voorbeeld. Je template is Vandaag is het {{ datum }}., en de variabele datum krijgt als
regel ingebouwd met Datum van vandaag. Een aanroep die datum niet meestuurt, levert
het model Vandaag is het 2026-09-24. De datum staat altijd in de vorm JJJJ-MM-DD; schrijf de
zin eromheen zo dat die vorm erin past.
De keuzelijst van de regel ingebouwd heeft vier groepen:
| Groep | Ingebouwde waarde | Wat Core invult |
|---|---|---|
| Tijd | Datum van vandaag | de datum, bijvoorbeeld 2026-09-24 |
| Tijd | Tijd van dit moment | uren en minuten, bijvoorbeeld 14:05 |
| Tijd | Datum en tijd van dit moment | datum en tijd met het verschil met UTC, bijvoorbeeld 2026-09-24T14:05:31+02:00 |
| Tijd | Dag van de week | de dag in het Engels, bijvoorbeeld Thursday |
| Context | Naam van de organisatie | de naam van je organisatie, zoals de kaart Gegevens hem toont |
| Context | Naam van de agent | de identifier van de agent die de aanroep noemt; leeg zonder agent |
| Context | Model waarmee deze beurt draait | het model dat de aanroep of haar agent noemt. Valt de beurt terug op een ander model, dan blijft hier het eerst gekozen model staan |
| Persoon | Id van de persoon | het id van de persoon voor wie de beurt is; leeg als de beurt voor niemand is |
| Persoon | Naam van de persoon | het attribuut name dat de aanroep over de persoon meestuurt; leeg zonder dat attribuut |
| Persoon | Attribuut van de persoon… | wat de aanroep over de persoon meestuurt voor het attribuut dat je invult onder Attribuutnaam, zoals afdeling. Meerdere waarden staan achter elkaar, gescheiden door , |
| Verwijzingen | Id van de thread | het id van de thread waarop de beurt wordt opgeslagen; leeg als er niets wordt opgeslagen |
| Verwijzingen | Id van de achtergrondrun | het id van de achtergrondrun; leeg voor een beurt waarop de aanroeper wacht |
Wat een beurt niet heeft, blijft leeg; de beurt wordt er niet om geweigerd. Een prompt met Naam van de agent werkt dus ook in een aanroep zonder agent. Wat de aanroep over een persoon kan meesturen, staat in Bouwen voor personen.
De vier tijdwaarden gelden in één tijdzone. Core neemt de eerste die er is: de tijdzone van de aanroep, die van de planning die de beurt afvuurt, de Tijdzone van je organisatie, en anders UTC.
Het model krijgt deze waarden niet allemaal met hetzelfde gewicht:
- Een standaard en wat Core zelf bepaalt — de vier tijdwaarden, de naam van de agent, het model en de twee id's — horen bij de template. Het model leest ze als jouw instructies.
- De waarden over de persoon komen van de aanroeper. Core labelt ze als onvertrouwd, net als een
waarde die de aanroeper zelf meestuurt. Voor een sleutel met
trust_envelopekrijgt het model te horen dat het gegevens zijn, zodat tekst die klinkt als een opdracht gegevens blijft; voor een sleutel zonder staan ze als gewone tekst in de instructie. - De naam van de organisatie wordt op dezelfde manier behandeld, omdat anderen dan de schrijver van de template hem kunnen wijzigen, zoals een beheerder of een API-sleutel met beheerrechten.
Op de pagina van de prompt staat in de versiegeschiedenis naast elke variabele met een standaard een label: automatisch: Datum van vandaag voor een ingebouwde waarde, standaard: «…» voor een standaard. Waar de console om waarden voor een prompt vraagt, zoals bij een planning of een evaluatie, zie je dezelfde labels, of in het lege veld wordt automatisch ingevuld (…).
Een versie toevoegen¶
Klik op een rij om de prompt te openen. Haar eigen pagina toont de versiegeschiedenis, nieuwste bovenaan; klap een versie uit om het sjabloon te lezen. Kies in het formulier Nieuwe versie voor Opslaan en publiceren om een wijziging te publiceren, of voor Opslaan als concept om haar eerst bij elke sleutel vandaan te houden.
Versies worden genummerd vanaf 1 en kunnen na publicatie niet worden bewerkt. Eerdere instructies blijven in de geschiedenis beschikbaar.
Aanroepen zonder versienummer gebruiken direct na publicatie de nieuwste versie. Aanroepen met een versienummer blijven die versie gebruiken.
Concepten¶
Een concept is een genummerde versie die alleen jij in de console ziet. Geen sleutel toont, leest of
rendert haar, en een aanroep die haar nummer noemt krijgt dezelfde 404 als bij een nummer dat
nooit is geschreven.
- Opslaan als concept bij Nieuwe versie, en bij Prompt toevoegen, schrijft de versie als concept. De lijst en de pagina markeren een prompt met concept.
- Wacht er een concept dat nieuwer is dan de gepubliceerde versie, dan staat boven de versielijst Concept v8 klaar; klik erop om dat concept uit te klappen.
- Een uitgeklapt concept heeft Publiceren en Concept weggooien, elk achter een bevestiging. Publiceren maakt het de nieuwste versie.
- Publiceren staat uit, met de reden eronder, bij een concept dat ouder is dan de gepubliceerde nieuwste versie. Concept weggooien staat uit bij de enige versie van een prompt; verwijder dan de prompt.
- Core weigert een prompt-concept weg te gooien zolang het concept van een agent het vastzet; de bevestiging noemt die agents, elk een link. Elke andere weigering staat er in Cores eigen zin.
- Een link kan de pagina met een versie uitgeklapt openen:
…/prompts/{id}?version=3.
Aangemaakt door toont de sleutel die de prompt aanmaakte, of de consolegebruiker met het
voorvoegsel operator:.
Een prompt proberen¶
Kies Probeer het naast de naam op de pagina van een prompt. Er schuift een venster open dat één echte beurt draait met de prompt, precies zoals een sleutel van je organisatie hem zou aanroepen.
- Kies onder Namens sleutel de sleutel waarmee de beurt draait. Een sleutel die
promptsmist, staat erbij met wat hij mist, en Uitvoeren blijft dan uit. - Vul eventueel Probeer als persoon in: een id waarmee je applicatie een persoon noemt (letters,
cijfers en
. _ : @ -, hooguit 128), een geplakt JSON-object met attributen, of een geplakt token dat een uitgever van je organisatie heeft ondertekend. De console verpakt een gewoon id in het JSON-object datX-Core-Subjectverwacht, en het veld weigert een id dat Core zou weigeren voordat er iets wordt verstuurd. De beurt volgt dan de regels voor die persoon, zoals bij een aanroep metX-Core-Subject. - Kies de Versie; de nieuwste gepubliceerde staat al gekozen. Een concept staat er ook bij, gemarkeerd met concept: een proefbeurt draait het, ook al kan geen sleutel dat.
- Kies het Model. Een prompt legt geen model vast, dus jij kiest er een.
- Vul de Variabelen van die versie in. Een verplichte variabele moet je invullen; een variabele met een standaardwaarde mag leeg blijven.
- Typ eventueel een Bericht: wat de gebruiker na de prompt zegt.
- Kies Uitvoeren.
Het antwoord verschijnt terwijl het model schrijft. Als de beurt klaar is, staan eronder het model dat antwoordde, de tokens, hoe lang het duurde en wat de beurt kostte. Opnieuw draait de prompt nog een keer met wat er nu staat.
Weigert Core de beurt voordat hij begint, bijvoorbeeld omdat een verplichte variabele ontbreekt of de sleutel het model niet mag gebruiken, dan staat die melding er in plaats van een antwoord.
Elke beurt is echt: het model wordt aangeroepen en het verbruik telt op de gekozen sleutel. Stoppen stopt alleen het lezen in je browser; Core maakt de beurt af en telt het verbruik. Er wordt niets bewaard: sluit je het venster, dan is de beurt weg. Ook de sleutel waarmee de beurt draaide, leest haar niet terug: de beurt en haar trace zijn van jou, in de console.
Probeer deze versie onder het formulier van een nieuwe versie probeert de template, variabelen en rol zoals het formulier ze nu heeft, zonder ze op te slaan. Het veld Versie zegt dan v… · niet opgeslagen, met het nummer dat opslaan haar zou geven, en de gevraagde variabelen zijn die van het formulier. Core houdt de niet opgeslagen versie aan dezelfde controles als opslaan als concept, en de prompt houdt precies de versies die hij had.
Twee proeven naast elkaar¶
Zet Vergelijken bovenin het venster aan en het splitst in kolom A en kolom B. Elke kolom heeft zijn eigen Versie, Namens sleutel, Model en variabelen, en toont zijn eigen antwoord met model, tokens en kosten. Er is één berichtvak en één Uitvoeren: beide kolommen draaien dezelfde boodschap tegelijk, zodat je twee versies of twee modellen naast elkaar ziet. Een kolom die nog geen sleutel of model heeft, zegt dat zelf en wordt overgeslagen; weigert Core de beurt in één kolom, dan staat de melding daar en blijft het antwoord in de andere staan. Een versie die je nog niet hebt opgeslagen staat in kolom A, en kolom B kiest een opgeslagen versie om ertegen af te zetten. Op een smal scherm staan de kolommen onder elkaar.
Een prompt dupliceren¶
Dupliceren, naast de naam van de prompt op zijn eigen pagina, maakt een nieuwe prompt van deze.
Geef hem een naam (het venster stelt de naam van het origineel met -copy voor) en kies vanaf welke
gepubliceerde versie je begint; concepten staan er niet tussen. De kopie begint op versie 1 met
dezelfde template, variabelen, rol, invulwaarden, labels en metadata, en opent op zijn eigen pagina.
De knop staat er niet bij een kopie die een publicatie verzegeld installeerde, en ook niet bij een
kopie waarvan de publicatie losmaken niet toestaat of hem voor haar eigen agents houdt.
Een prompt verwijderen¶
Verwijderen, in het rijmenu van de lijst, wist de prompt en alle versies definitief. Latere aanroepen die ernaar verwijzen
krijgen 404. In de bevestiging typ je de naam van de prompt. Publiceer een nieuwe versie als je instructies wilt wijzigen en bestaande
verwijzingen wilt behouden.
Labels¶
Gebruik Labels om prompts in te delen, bijvoorbeeld department: payroll. Pas de labels aan
bij het publiceren van een nieuwe versie. Ongewijzigde labels blijven behouden.
Regels over Prompts in de policy van een sleutel vergelijken deze labels met de attributen van een persoon (Regels over een persoon). Onder de standaardregels bereikt elke persoon alles wat de sleutel bereikt. Zie Bouwen voor personen.
Lege lijsten en toegangsbeperkingen¶
“Nog geen prompts” betekent dat er voor deze organisatie geen prompts zijn aangemaakt.
Zie je prompts staat uit voor deze organisatie, dan staat Prompts met versies beheren uit in het plafond van de organisatie. De beheerder van de organisatie erboven zet het aan bij Toegestane capabilities op Instellingen; voor een organisatie zonder bovenliggende organisatie doet je operator dat. De knop opent Instellingen.