Skip to navigation

Procedures

Taakspecifieke instructies die je agent laadt wanneer ze relevant zijn

Overzicht

Een procedure bevat instructies voor één specifieke taak. Elke procedure heeft een trigger die beschrijft wanneer deze van toepassing is en inhoud die beschrijft wat er moet gebeuren. Wanneer een gesprek overeenkomt met de trigger, laadt de agent de procedure.

Gebruik procedures wanneer je agent veel verschillende taken moet afhandelen. Een voorbeeld is een klantenserviceagent, waarbij elke procedure één type verzoek behandelt: terugbetalingen, identiteitsverificatie, accountherstel of het oplossen van verbindingsproblemen.

Tabblad Procedures in het agent-
dashboard

Proceduretypen

Er zijn twee soorten procedures:

  • Vrije-vormprocedures worden geschreven als instructies in natuurlijke taal die de agent interpreteert en aanpast aan de situatie.
  • Gestructureerde procedures zijn een geordende lijst met getypeerde stappen die de agent telkens op dezelfde manier uitvoert.

Je kunt beide soorten voor dezelfde agent gebruiken. De agent kiest op basis van de trigger de relevante procedure, ongeacht het type.

Procedures kunnen elkaar aanroepen. Een vrije-vormprocedure roept een andere procedure aan met een inline- verwijzing, en een gestructureerde procedure roept een andere gestructureerde procedure aan met een Subprocedure- stap. Een veelvoorkomend patroon is om open afhandeling in een vrije-vormprocedure te houden en de onderdelen die telkens op dezelfde manier moeten worden uitgevoerd over te dragen aan een gestructureerde procedure.

Een agent kan procedures, een workflow of beide hebben. Wanneer beide aanwezig zijn, is elke procedure beschikbaar vanuit elk punt in de workflow; je kunt een procedure niet beperken tot specifieke workflownodes. De meeste agents zijn gebaseerd op één van beide benaderingen, maar je kunt ze combineren.

Wanneer je procedures gebruikt

Elke agent heeft een systeemprompt. Procedures en workflows zijn twee manieren om daar structuur aan toe te voegen, en een agent kan beide gebruiken. Kies een uitgangspunt op basis van hoeveel het gesprek kan variëren.

VereisteGebruikWaarom
Eenvoudige proof-of-conceptagentAlleen systeempromptHet snelst om in te stellen en te itereren, maar één prompt wordt onhandig naarmate de reikwijdte van de agent groeit.
Taak waarbij de agent de formulering en volgorde kan aanpassenVrije-vormprocedureHoudt het hele gesprek in de context van één LLM, zodat de agent de formulering en volgorde aanpast en onverwachte wendingen kan volgen. Gebruikt meer van het contextvenster.
Taak waarvan de stappen telkens op dezelfde manier moeten worden uitgevoerdGestructureerde procedureElke stap wordt uitgevoerd in de volgorde die je instelt, telkens op dezelfde manier, en je schrijft deze als een korte lijst met stappen.
Volledige controle over complexe vertakkingen en edge casesWorkflowWerkt als een grafiek van subagents die je zelf ontwerpt en verbindt, met volledige controle over vertakkingen en het model dat elke stap gebruikt.

Vrije-vormprocedures zijn de standaardkeuze. Ze zijn het snelst te schrijven, lezen als een document zodat niet-technische teams ze kunnen beheren, en de agent kan herstellen wanneer een gesprek afwijkt van het script. Kies een gestructureerde procedure wanneer de gevolgen van een overgeslagen of anders geordende stap groot zijn, zoals bij authenticatie, escalatie of een financiële transactie. Kies een workflow wanneer je routeringslogica of controle over het model per stap nodig hebt die geen van beide proceduretypen biedt.

Procedures beheren

Het dashboard is de aanbevolen manier om procedures te schrijven. Gebruik de CLI of de API om procedures programmatisch te beheren of ze te integreren in deploymenttools.

Open je agent in het dashboard en selecteer vervolgens Procedures. Gebruik + om een vrije-vormprocedure of gestructureerde procedure te maken. Je kunt procedures vanuit hetzelfde menu in mappen groeperen. Zie Vrije-vormprocedures en Gestructureerde procedures voor richtlijnen voor het schrijven.

Procedures per gesprek kiezen

Standaard kan elk gesprek alle procedures van de agent gebruiken, en laadt de agent een procedure pas nadat het gesprek overeenkomt met de trigger ervan. Je applicatie weet vaak al meer voordat het gesprek begint: wie de gebruiker is, in welke regio die zich bevindt of waarover die heeft gebeld. Geef procedure-ID’s door in de clientdata voor gespreksinitiatie om die kennis te gebruiken. Jij bepaalt welke procedures de agent kan gebruiken en welke procedures deze vanaf de eerste beurt volgt.

VeldWat het doetWaarom je het gebruikt
procedure_idsBeperkt het gesprek tot deze procedures. Een lege array schakelt alle procedures van de agent uit.Geef elke gebruiker alleen de procedures die op diegene van toepassing zijn, bijvoorbeeld door accountprocedures te verbergen voor een gebruiker die niet is ingelogd. Gebruik dit ook wanneer procedures vergelijkbare triggers hebben die je niet kunt vermijden, zoals één terugbetalingsprocedure per regio. Geef alleen de regio van de gebruiker door, zodat de agent niet de procedure van een andere regio kan volgen.
start_procedure_idsStart deze vrije-vormprocedures met het gesprek, zodat de agent ze vanaf de eerste beurt volgt. Accepteert maximaal vijf ID’s.Reageer sneller wanneer je de taak van de gebruiker al kent, bijvoorbeeld via een keuze in een IVR-menu, de pagina waarop de widget staat of CRM-data.

Een procedure in start_procedure_ids is al geladen wanneer de gebruiker voor het eerst spreekt, zodat de agent de LLM-aanroep die deze zou laden overslaat. Elke actieve procedure blijft bij elke beurt in de prompt, ongeacht of de agent of je applicatie deze is gestart. Een gestarte procedure die het gesprek nooit nodig heeft, voegt nog steeds de inhoud toe aan elke beurt, dus start alleen procedures die het gesprek waarschijnlijk zal gebruiken.

1

Procedureselectie toestaan

De override Procedures staat standaard uit. Schakel deze in voor elke agent die procedure-ID’s van de client moet accepteren.

Open je agent in het dashboard, selecteer het tabblad Beveiliging en schakel de override Procedures in.

2

Geef de ID’s door wanneer het gesprek start

Als voor de agent de override Procedures niet is ingeschakeld, of een ID ongeldig is, kan het gesprek niet worden gestart.

Haal procedure-ID’s op via Procedures weergeven. Voeg procedure_ids, start_procedure_ids of beide toe aan de clientdata voor gespreksinitiatie:

Payload voor gespreksinitiatie
{
"type": "conversation_initiation_client_data",
"procedure_ids": [
"agtprc_4101k8f3w2pqv6xs9mhdr0tz7n3b",
"agtprc_2301k8f3xq9zfa7tkrqs6m4bdn5e",
"agtprc_7801k8f3yt4mfzh2xbq9d0vcpw1r"
],
"start_procedure_ids": ["agtprc_4101k8f3w2pqv6xs9mhdr0tz7n3b"]
}

De agent start het gesprek terwijl de eerste procedure al actief is. De andere twee kan de agent nog steeds starten wanneer het gesprek overeenkomt met hun triggers.

De Python- en JavaScript-SDK’s voor gesprekken versturen geen procedure_ids of start_procedure_ids. Stuur het initiatiebericht zelf via de WebSocket om deze velden te gebruiken.

Voor beide velden gelden deze regels:

  • Elke ID in procedure_ids moet bij de agent horen. Als een geselecteerde procedure subprocedures aanroept, neem dan ook de subprocedures op.
  • Elke ID in start_procedure_ids moet een vrije-vormprocedure zijn. Wanneer je ook procedure_ids doorgeeft, moet elke ID ook in die lijst staan.
  • procedure_ids is alleen van toepassing op de agent waarmee het gesprek start. Het is niet van toepassing na een agentoverdracht.
  • Gestarte procedures tellen mee voor de vijf actieve procedures in Beperkingen. De gespreksgeschiedenis registreert elke procedure als een toolaanroep van start_procedure.

Beperkingen

  • De inhoud van een procedure is beperkt tot 50.000 tekens.
  • De agent houdt de vijf meest recent gestarte procedures in context. Wanneer er meer zijn gestart in één gesprek, verdwijnen de inhoud, inline tools en kennisbankdocumenten van de oudste vrije-vormprocedures uit de prompt. Houd procedures gericht en gebruik subprocedures zodat er maar weinig tegelijk actief zijn.
  • Je kunt het type van een procedure niet wijzigen nadat je deze hebt gemaakt. Maak een nieuwe procedure en werk eventuele verwijzingen ernaar bij om tussen vrije vorm en gestructureerd te converteren.
  • Procedures horen bij één agent. Je kunt ze niet delen tussen agents of opslaan als resources op workspaceniveau.
  • Wanneer je een agent dupliceert, worden de procedures gekopieerd in plaats van gedeeld. De kopieën krijgen nieuwe procedure-ID’s, dus verwijzingen in de gedupliceerde agent moeten die nieuwe ID’s gebruiken.
  • Je kunt procedures niet beperken tot specifieke workflownodes. Wanneer een agent beide heeft, is elke procedure beschikbaar vanuit elke node.
  • Gestructureerde procedures kunnen niet verwijzen naar kennisbankdocumenten.