Ga naar inhoud

Planningen in de console

Het concept achter agents staat in Agents.

In het onderdeel Planningen leg je een beurt vast die niemand met de hand start: een cron-uitdrukking die telkens weer afgaat, of één moment in de toekomst dat één keer afgaat. Core voert daarop een agent, een prompt, een vrije opdracht of een evaluatie uit.

Je hebt een beheerdersaccount van de organisatie nodig, en de capability schedules moet in het plafond van de organisatie aanstaan. Hetzelfde doe je met een sleutel in Planningen via de API.

Planningen: een tabel met de kolommen Naam, Doel, Planning, Volgende keer, Laatste uitkomst en
Ingeschakeld, een knop Planning toevoegen, en per rij een schakelaar en een rijmenu met Nu
uitvoeren en Verwijderen.

De kolom Doel toont een label -- Beurt of Evaluatie -- en wat de planning bij elke beurt aanstuurt: Agent, Prompt of Vrij voor een beurt, of de naam van de evaluatie voor een evaluatieplanning.

Een planning toevoegen

Kies Planning toevoegen. De lade opent met:

Veld Wat je invult
Naam waarmee je deze planning herkent; kleine letters, cijfers, - en _, begint met een letter of cijfer, maximaal 64 tekens
Omschrijving waar deze planning voor is. Alleen voor wie meeleest
Herhalend / Eenmalig het type klok — zie hieronder
Wat deze beurt doet Agent, Prompt, Vrij, Evaluatie of Workflow — zie hieronder
Subject id voor wie elke afgevuurde beurt is; optioneel
Draait als de sleutel van deze organisatie waarmee elke afgevuurde beurt haar bereik herbouwt
Labels de eigen indeling van deze organisatie

Draait als is verplicht: jij bent een persoon en hebt geen eigen sleutel, en een beurt is altijd de handeling van een sleutel. Een sleutel die zelf een planning aanmaakt via de API heeft dit niet nodig — die plant als zichzelf.

Herhalend: een cron-uitdrukking

Kies een van de drie voorkeuzes — Elk uur, Dagelijks om 09:00, Wekelijks op maandag om 09:00 — of Aangepast voor een vijfvelds cron-uitdrukking (minuut, uur, dag-van-de-maand, maand, dag-van-de-week) die je zelf typt. Tijdzone is de zone waarin die uitdrukking wordt gelezen, zodat een overgang naar zomertijd met de wandklok meebeweegt in plaats van met de klok te blijven staan op UTC.

Onder het veld staan de eerstvolgende keren dat de uitdrukking vuurt, zodra die geldig is — ook voor een aangepaste uitdrukking. Terwijl dat voorbeeld nog wordt opgehaald, of als het even niet lukt, toont de lade kort een eigen schatting voor de drie voorkeuzes hierboven, zodat het veld niet leeg blijft staan.

Eenmalig: één moment

Kies het moment in je eigen tijdzone. Zodra dat moment is geweest, vuurt de planning niet nog eens — Volgende keer wordt dan leeg.

Wat deze beurt doet

  • Agent: kies de agent, optioneel een oudere versie dan de nieuwste, en de waarden voor de variabelen die de prompt van die agentversie declareert.
  • Prompt: kies de prompt, optioneel een oudere versie, en de variabelen die die versie declareert.
  • Vrij: geen agent en geen prompt.
  • Evaluatie: kies de evaluatie; er is verder niets in te vullen — de scenario's van die evaluatie bepalen wat er draait, één uitvoering per agent die zij meet. Eenmaal aangemaakt ligt dit type vast: wil je iets anders, verwijder deze planning en maak een nieuwe.
  • Workflow: kies de workflow en vul eventueel Invoer van de run (JSON) in. Elke keer start de planning een run van de nieuwste versie van die workflow. Het tabblad is er als de organisatie workflows mag gebruiken, en ook dit type ligt vast zodra de planning bestaat. De runs staan bij de workflow zelf (Workflows in de console).

Bij Agent en Prompt staat onder Variabelen eerst welke variabelen de gekozen versie declareert. Een variabele met een standaard draagt een label, zoals automatisch: Datum van vandaag of standaard: «…». Voor zo'n variabele hoef je geen waarde op te geven. Is de soort waarde van een variabele Getal of Geheel getal, typ dan het getal; bij Ja of nee typ je true of false. De console stuurt hem als die soort mee, en opslaan weigert een waarde die niet past, met de reden onder Variabelen. Een planning heeft dus niemand nodig om de datum in te vullen: Core bepaalt hem op het moment dat de planning afgaat, in de Tijdzone van de planning. Een eenmalige planning heeft in de console geen tijdzoneveld en leest de tijd daarom in UTC; maak hem via de API als je een andere zone wilt.

Bij Agent, Prompt en Vrij staat daaronder Waarden voor tools: de waarden die je applicatie bij elke afgevuurde beurt aan de tools zou meegeven, in tool_variables. Voeg een rij toe met Variabele toevoegen en vul een naam, een soort (Tekst, Getal of Ja of nee) en een waarde in; het model ziet ze nooit. Geheim verbergt alleen wat je typt: het veld wordt een wachtwoordveld. Core versleutelt een waarde pas als een API-koppeling of MCP-server van de organisatie die naam als x-secret declareert. Een waarde onder een andere naam wordt leesbaar bewaard en weer getoond, met of zonder die schakelaar. Een versleutelde waarde kun je vervangen maar nooit teruglezen: daarna staat bij de rij Ingesteld met een leeg veld; laat het leeg om de bewaarde waarde te houden, of typ een nieuwe tekst om hem te vervangen. Een waarde die geen tool van de beurt declareert, wordt genegeerd, en een waarde die een tool verplicht stelt maar ontbreekt, laat die beurt mislukken zoals elke beurt (Een waarde van je klant aan een tool meegeven).

Onder Agent, Prompt en Vrij staan dezelfde velden, want een planning mag alles dragen wat een gewone beurt mag:

Veld Verplicht Betekenis
Invoer alleen bij Vrij de tekst die als bericht wordt verstuurd
Instructies nee een vaste ontwikkelaarsinstructie voor deze beurt; bij een agent gelezen vóór die van de agent zelf
Model bij Prompt en Vrij; optioneel bij Agent bij Agent alleen invullen als de agentversie er zelf geen vastlegt, of om hetzelfde model te noemen — een ander model dan de agentversie geeft een fout op dat veld

Meer tonen klapt een extra blok open: Skills en Tools (dezelfde kiezers als bij een agent), Temperatuur, Maximum uitvoertokens, Labels en Metadata. Deze velden worden toegevoegd aan de beurt; bij een agent komen skills en tools bij die van de agent, en legt de agentversie een veld zelf vast, dan draait de beurt op de waarde van de agent en noemt de trace het veld waarvan de jouwe is weggelaten.

De Labels in dit blok zijn de labels van het gesprek dat een afgevuurde beurt opent, en alles wat in dat gesprek ontstaat draagt ze, dus een regel over Gesprekken beslist wie het resultaat bereikt. De Labels bovenaan het formulier delen de planning zelf in.

Een planning nu uitvoeren

Nu uitvoeren, in het rijmenu van de lijst en op de eigen pagina van een planning, vuurt haar onmiddellijk in plaats van te wachten op haar klok — nuttig om te controleren of hij doet wat je bedoelt. Voor een beurt-planning meldt Core dat de uitvoering in de rij is gezet; voor een evaluatieplanning meldt Core hoeveel uitvoeringen in de rij zijn gezet, één per agent die de evaluatie meet. Loopt de vorige beurt (of lopen de vorige uitvoeringen) van deze planning nog, dan antwoordt Core "Deze planning loopt nog." en er wordt niets extra's gestart: overlappen wordt overgeslagen, nooit gestapeld.

Inschakelen en uitschakelen

De schakelaar op de lijst en op de eigen pagina van een planning zet haar aan of uit. Een uitgeschakelde planning heeft geen volgende keer; haar geschiedenis en de beurten die zij al heeft afgevuurd blijven bestaan.

Een planning lezen

Op de eigen pagina van een planning staan haar klok, het label van haar type (Beurt of Evaluatie), haar laatste uitkomst en Uitvoeringen.

Voor een beurt-planning zijn dat de beurten die zij heeft afgevuurd, met status; een rij met een thread erachter opent die conversatie. Voor een evaluatie-planning zijn dat de uitvoeringen van die evaluatie die deze planning heeft ingepland, met agent, duur, score en status — dezelfde lijst als op de evaluatie zelf, maar dan beperkt tot wat deze planning aanstuurde; een rij opent die uitvoering. Beide lijsten verversen zichzelf zolang er iets nog loopt en stoppen daar vanzelf mee. Heeft de laatste tik van een evaluatieplanning al een uitvoering ingepland, dan staat Laatste uitvoering bekijken naast Instellingen bewerken.

Instellingen bewerken opent dezelfde lade als Planning toevoegen, gevuld met wat er nu is opgeslagen; het type ligt dan vast (zie hierboven).

Drie laatste uitkomsten:

Uitkomst Betekenis
Afgevuurd de laatste tik heeft een beurt in de rij gezet
Overgeslagen de vorige beurt liep nog toen de tik viel
Mislukt de tik kon niet vuren — bijvoorbeeld een ingetrokken sleutel; de planning blijft ingeschakeld en haar volgende keer wordt gewoon berekend

Een planning verwijderen

Verwijderen in het rijmenu van de lijst wist de planning. De beurten die zij al heeft afgevuurd, blijven bestaan.

Lege lijsten en toegangsbeperkingen

"Nog geen planningen" betekent dat er voor deze organisatie nog geen planningen zijn aangemaakt.

Zie je schedules staat uit voor deze organisatie, dan staat die capability 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. Schedules vereist ook runs, dat op zijn beurt threads vereist: een beurt die niemand met de hand vraagt is nog steeds een achtergrondbeurt op een thread.