Définition
L'appel d'outils, c'est quand un LLM, au lieu de répondre par des mots, renvoie une requête structurée pour exécuter une fonction nommée, comme consulter une commande. L'application l'exécute et rend le résultat pour que le modèle puisse poursuivre sa réponse.
Comment fonctionne l’appel d’outils
Le LLM n’exécute jamais rien lui-même. Le développeur décrit chaque outil au modèle avec un nom, une description en langage courant et un schéma de ses paramètres. Pendant la conversation, le modèle peut répondre par une requête d’outil qui nomme un outil et renseigne les paramètres, par exemple get_order_status avec un numéro de commande. L’application vérifie la requête, exécute la fonction et renvoie le résultat sous forme de nouveau message. Le modèle lit alors ce résultat et rédige la réponse parlée.
Dans la documentation de Cartesia, la description de chaque outil est ce qui guide le modèle sur le moment de l’utiliser. Les valeurs des paramètres peuvent provenir de trois sources : le modèle lui-même, une constante fixe ou une variable dynamique, comme le numéro de téléphone de l’appelant. Managed Agents propose des outils système intégrés comme end_call, send_dtmf, transfer_to_number et voicemail_detection, et des outils personnalisés qui appellent votre propre point de terminaison de webhook.
Trois conséquences découlent de cette conception. Le modèle choisit les outils d’après les descriptions : des descriptions vagues provoquent des appels erronés ou manquants. Le modèle fournit les paramètres : les valeurs qu’il invente doivent donc être validées par le code récepteur. Et l’appel est un aller-retour : la réponse du modèle est suspendue jusqu’au retour du résultat.
Pourquoi c’est important pour les agents vocaux
Les appels d’outils permettent à un agent de faire un travail, comme réserver un rendez-vous ou transférer un appel, au lieu de seulement parler. C’est aussi là que l’attente s’allonge. Le temps de réponse de l’outil tombe dans la latence vocale, et une recherche de trois secondes, ce sont trois secondes de silence sur une ligne téléphonique.
Les agents vocaux traitent donc les appels d’outils autrement que le chat. Ils parlent avant un travail lent, avec une courte phrase comme « Je vérifie cela ». Les outils système de Cartesia disposent pour cela d’un réglage pre_tool_speech, de valeurs auto, force et off. Ils ont aussi besoin d’un plan en cas d’échec. Si un outil dépasse le délai ou renvoie une erreur, l’agent doit le dire et proposer une suite, sans jamais inventer la réponse. Voir hallucination.
Les outils comportent aussi des risques. Un outil qui annule une réservation ou déplace de l’argent doit se trouver derrière des contrôles qui ne dépendent pas du jugement du modèle, comme une relecture et une confirmation de l’appelant, et des droits dans le système destinataire. Les paroles d’un appelant peuvent influencer l’outil que le modèle appelle : c’est donc l’outil, et non le prompt, qui doit faire respecter ce qui est autorisé.
Exemple
Un appel illustratif :
- Appelant : « Où est ma commande ? C’est la 5521. »
- Agent : « Je regarde cela. » (le modèle demande
get_order_statusavec le numéro de commande 5521) - Résultat de l’outil : expédiée mardi, arrivée vendredi
- Agent : « Elle est partie mardi et devrait arriver vendredi. »