Systeemtools
Systeemtools stellen je assistent in staat de interne status van een gesprek bij te werken. Anders dan webhooktools of clienttools voeren systeemtools geen externe API-aanroepen uit en activeren ze geen client-side functies. Ze wijzigen de interne status van het gesprek zonder externe aanroepen te doen.
Overzicht
Voor sommige applicaties moeten agents het verloop of de status van een gesprek kunnen beheren. Systeemtools bieden deze mogelijkheid doordat de assistent acties kan uitvoeren die betrekking hebben op de status van het gesprek en waarvoor geen communicatie met externe servers of de client nodig is.
Beschikbare systeemtools
Implementatie
Wanneer je via de API een agent maakt, kun je systeemtools aan je agentconfiguratie toevoegen. Zo implementeer je zowel de tools voor gesprek beëindigen als taaldetectie:
Aangepaste LLM-integratie
Wanneer je een aangepaste LLM gebruikt met ElevenLabs-agents, worden systeemtools beschikbaar gesteld als functiedefinities die je LLM kan aanroepen. Elke systeemtool heeft specifieke parameters en activeringsvoorwaarden:
Beschikbare systeemtools
Gesprek beëindigen
Doel: Gesprekken automatisch beëindigen wanneer aan de juiste voorwaarden is voldaan.
Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:
- De hoofdtaak is voltooid en de gebruiker tevreden is
- Het gesprek op natuurlijke wijze is afgerond en beide partijen het eens zijn
- De gebruiker expliciet aangeeft het gesprek te willen beëindigen
Parameters:
reason(string, vereist): De reden voor het beëindigen van het gesprekmessage(string, optioneel): Een afscheidsbericht dat je naar de gebruiker stuurt voordat je het gesprek beëindigt
Indeling van de functieaanroep:
Implementatie: Configureer dit als een system tool in de instellingen van je agent. De LLM ontvangt gedetailleerde instructies over wanneer deze functie moet worden aangeroepen.
Meer informatie: Tool voor gesprek beëindigen
Taaldetectie
Doel: Tijdens gesprekken automatisch overschakelen naar de gedetecteerde taal van de gebruiker.
Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:
- De gebruiker een andere taal spreekt dan de huidige gesprekstaal
- De gebruiker expliciet vraagt om van taal te wisselen
- Ondersteuning voor meerdere talen nodig is voor het gesprek
Parameters:
reason(string, verplicht): De reden voor de taalwissellanguage(string, verplicht): De taalcode om naar over te schakelen (moet in de lijst met ondersteunde talen staan)
Indeling voor functieaanroepen:
Implementatie: Configureer ondersteunde talen in de agentinstellingen en voeg de systeemtool voor taaldetectie toe. De agent schakelt automatisch van stem en antwoorden om overeen te komen met gedetecteerde talen.
Meer informatie: Tool voor taaldetectie
Agentoverdracht
Doel: Gesprekken overdragen tussen gespecialiseerde AI-agents op basis van gebruikersbehoeften.
Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:
- Het verzoek van de gebruiker gespecialiseerde kennis of andere agentmogelijkheden vereist
- De huidige agent de vraag niet goed genoeg kan afhandelen
- De gespreksstroom aangeeft dat een ander agenttype nodig is
Parameters:
reason(string, optioneel): De reden voor de agentoverdrachtagent_number(integer, vereist): Nummer vanaf nul van de agent waarnaar moet worden overgedragen (op basis van geconfigureerde overdrachtsregels)
Indeling van functieaanroep:
Implementatie: Definieer overdrachtsregels die voorwaarden aan specifieke agent-ID’s koppelen. Configureer naar welke agents de huidige agent kan overdragen. Agents worden in de overdrachtsconfiguratie aangeduid met nummers vanaf nul.
Meer informatie: Tool voor agentoverdracht
Naar nummer doorverbinden
Doel: Gesprekken naadloos doorverbinden met menselijke medewerkers wanneer AI-ondersteuning niet toereikend is.
Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:
- Er complexe kwesties zijn die menselijk oordeel vereisen
- De gebruiker expliciet om menselijke hulp vraagt
- De AI voor het specifieke verzoek de grenzen van zijn mogelijkheden bereikt
- Escalatieprotocollen worden geactiveerd
Parameters:
reason(string, optioneel): De reden voor de doorverbindingtransfer_number(string, vereist): Het telefoonnummer waarnaar wordt doorverbonden (moet overeenkomen met geconfigureerde nummers)client_message(string, vereist): Bericht dat aan de klant wordt voorgelezen tijdens het wachten op de doorverbindingagent_message(string, vereist): Bericht voor de menselijke medewerker die het gesprek ontvangt
Indeling van de functieaanroep:
Implementatie: Configureer telefoonnummers en voorwaarden voor doorverbinden. Definieer berichten voor zowel de klant als de menselijke medewerker die het gesprek ontvangt. Werkt met zowel Twilio als SIP trunking.
Meer informatie: Tool voor doorverbinden naar nummer
Beurt overslaan
Doel: De agent toestaan te pauzeren en op invoer van de gebruiker te wachten zonder te spreken.
Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:
- De gebruiker aangeeft een moment nodig te hebben (“Geef me even”, “Laat me nadenken”)
- De gebruiker om een pauze in de gespreksstroom vraagt
- De agent detecteert dat de gebruiker tijd nodig heeft om informatie te verwerken
Parameters:
reason(string, optioneel): Vrije reden die uitlegt waarom de pauze nodig is
Indeling voor functieaanroepen:
Implementatie: Geen aanvullende configuratie nodig. De tool geeft de agent eenvoudig het signaal om stil te blijven totdat de gebruiker weer spreekt.
Meer informatie: Tool voor beurt overslaan
Toetsbloktoon afspelen
Parameters:
reason(string, optioneel): De reden voor het afspelen van de DTMF-tonen (bijv. “naar een extensie navigeren”, “pincode invoeren”)dtmf_tones(string, verplicht): De af te spelen DTMF-reeks. Geldige tekens: 0-9, *, #, w (pauze van 0,5 s), W (pauze van 1 s)
Indeling voor functieaanroepen:
Meer informatie: Tool voor toetsbloktoon afspelen
Voicemaildetectie
Parameters:
reason(string, verplicht): De reden voor het detecteren van voicemail (bijvoorbeeld “geautomatiseerde begroeting gedetecteerd”, “geen menselijke reactie”)
Indeling van functieaanroep:
Meer informatie: Tool voor voicemaildetectie
Status bijwerken
Doel: Laat de agent een of meer dynamische variabelen bijwerken op basis van het gesprek, zonder een externe API aan te roepen.
Triggervoorwaarden: De LLM moet deze tool aanroepen wanneer:
- Het gesprek informatie bevat die moet worden vastgelegd (bijvoorbeeld een escalatievlag, een gekozen optie of een waarde die de gebruiker heeft opgegeven)
- Een geconfigureerde statusupdate afhankelijk is van een waarde die de LLM uit het gesprek moet beoordelen of extraheren
Parameters:
De parameters van de functie zijn afhankelijk van hoe de tool is geconfigureerd. Elke geconfigureerde statusupdate die een door een LLM geëxtraheerde waarde gebruikt, voegt één eigenschap toe aan het schema. Deze eigenschap is vernoemd naar de dynamische variabele van die update en heeft het type string, number of boolean. Statusupdates die alleen uit constanten of andere dynamische variabelen zijn opgebouwd, voegen geen parameters toe.
Indeling van functieaanroep:
Implementatie: De agent evalueert elke geconfigureerde expressie met de geëxtraheerde parameters en de huidige dynamische variabelen van het gesprek, en wijst de resultaten vervolgens toe aan de bijbehorende dynamische variabelen. Er wordt geen externe request gedaan.
Meer informatie: Tool voor status bijwerken
Veelgestelde vragen
Kunnen systeemtools worden gecombineerd met andere soorten tools?
Ja, systeemtools kunnen in dezelfde assistent worden gebruikt naast webhooktools en clienttools. Dit maakt uitgebreide functionaliteit mogelijk die intern statusbeheer combineert met externe interacties.