Ga naar inhoud

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.

Het onderdeel Prompts: een tabel met de kolommen Identifier, Laatste versie, Laatst gewijzigd en Labels, en een knop Prompt toevoegen.

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 true of false. 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_envelope krijgt 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.

  1. Kies onder Namens sleutel de sleutel waarmee de beurt draait. Een sleutel die prompts mist, staat erbij met wat hij mist, en Uitvoeren blijft dan uit.
  2. 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 dat X-Core-Subject verwacht, 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 met X-Core-Subject.
  3. 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.
  4. Kies het Model. Een prompt legt geen model vast, dus jij kiest er een.
  5. Vul de Variabelen van die versie in. Een verplichte variabele moet je invullen; een variabele met een standaardwaarde mag leeg blijven.
  6. Typ eventueel een Bericht: wat de gebruiker na de prompt zegt.
  7. 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.