Outils

Les outils permettent de connecter votre agent à des systèmes externes ou à du code intégré fourni à l'agent. Cela permet à votre agent d'interagir avec d'autres systèmes pour récupérer, mettre à jour, mettre en forme ou analyser des informations. Les sections de cette page décrivent les différents types d'outils compatibles.

Créer un outil

Pour créer un outil :

  1. Cliquez sur l'icône Outil à droite du générateur d'agents.
  2. Sélectionnez un type d'outil (voir les descriptions des types d'outils dans ce document).
  3. Fournissez les informations demandées pour l'outil.
  4. Utilisez snake case pour le nom de l'outil.
  5. Les descriptions des outils sont fournies aux modèles d'agent.

Utiliser un outil dans un agent

Après avoir créé un outil, vous devez demander à un agent spécifique de l'utiliser.

  1. Pointez sur un agent.
  2. Cliquez sur Ajouter un outil.
  3. Sélectionnez un outil.
  4. Décrivez comment l'outil doit être utilisé dans les instructions de votre agent.

Tester un outil

Avant d'utiliser un outil dans votre agent, vous pouvez le tester dans la console :

  1. Ouvrez le panneau d'outils.
  2. Cliquez sur le bouton Outil de test en haut du panneau.
  3. Fournissez des entrées pour l'outil, telles que définies par le schéma de l'outil. Par exemple, s'il s'agit d'un schéma JSON avec des propriétés place et city, vous pouvez utiliser l'entrée suivante :

    {
      "place": "automobile repair center",
      "city": "austin texas"
    }
    
  4. Cliquez sur Envoyer. L'outil est exécuté avec l'entrée et la sortie est renseignée.

Après avoir testé l'outil directement, vous pouvez également le tester à l'aide de Aperçu de l'agent.

Outils disponibles

Les outils suivants sont disponibles :

Outil Description
Protocole A2A Connectez votre agent à des agents externes à l'aide de la norme de messagerie A2A. (Preview)
Agent en tant qu'outil Réutiliser les capacités des agents sans transférer la conversation à un autre agent.
Outils de fonction client Outils de code exécutés côté client, et non par l'agent.
Outils Confluence Connectez votre agent à une instance Confluence.
Outils de datastore Fournissez des réponses d'agent générées par IA basées sur le contenu de sites Web et sur des données importées.
Outils de recherche de fichiers Importer un fichier ou fournir une base de connaissances RAG à un agent.
Outils Google Maps Connectez votre agent à Google Maps. (Preview)
Outils de recherche Google Connectez votre agent à la puissance de l'ancrage avec la recherche Google.
Outils Integration Connectors Créez des outils qui utilisent vos connexions configurées.
Outils Jira Connectez votre agent à une instance Jira.
Outils MCP Connectez-vous à un serveur MCP.
Outils OpenAPI Se connecter à une API externe à l'aide d'un schéma OpenAPI
Outils de code Python Fournissez du code Python en tant qu'outil pour votre agent.
Outils Salesforce Associez votre agent à une instance Salesforce.
Outils Service Now Connectez votre agent à une instance ServiceNow.
Outils SharePoint connectez votre agent à une instance SharePoint.
Outils système Outils intégrés que l'agent peut utiliser pour effectuer des tâches courantes.
Outils de widget Des outils de widget flexibles pour créer des interactions utilisateur riches.

Type d'exécution

Les outils sont compatibles avec deux types d'exécution : asynchrone (non bloquant) et synchrone (bloquant). Le choix du type d'exécution approprié dépend de la latence de l'outil et de l'expérience souhaitée pour l'agent. Ce paramètre est disponible dans l'onglet Paramètres avancés de la configuration de l'outil.

Type d'exécution synchrone

Ce type doit être utilisé lorsque l'exécution de l'outil doit bloquer la génération de la réponse de l'agent jusqu'à ce que la réponse de l'outil soit disponible. L'agent ne générera aucune réponse tant que la réponse de l'outil ne sera pas disponible. Idéalement, ces outils devraient avoir une faible latence (moins de cinq secondes) pour maintenir une faible latence de réponse globale de l'agent.

Type d'exécution asynchrone

Ce type doit être utilisé pour l'exécution non bloquante des outils. Lorsqu'un appel d'outil est déclenché, l'agent fournit une réponse "en attente". L'agent peut continuer à parler à l'utilisateur pendant que la réponse de l'outil est récupérée. Une fois la réponse disponible, elle est ajoutée au contexte la prochaine fois qu'une réponse d'agent est générée. Idéal pour les outils dont la latence de réponse est comprise entre 5 et 60 secondes.

Flux de conversation pour le type d'exécution asynchrone :

  1. L'agent déclenche un appel de fonction : l'agent déclenche un appel de fonction et attend une réponse. Par exemple, appelez l'outil d'état de la commande.
  2. Réponse en attente de l'outil : l'outil renvoie immédiatement un function_response contenant un état en attente, tel que "status": "pending".
  3. L'agent gère l'outil en attente : L'agent doit être invité à gérer les réponses en attente comme il le souhaite. Exemple d'instruction : "Demande à l'utilisateur s'il a d'autres questions pendant que tu récupères l'état de la commande." Exemple de réponse de l'agent : "Y a-t-il autre chose que je puisse faire pour vous pendant que je récupère l'état de votre commande ?".
  4. L'agent gère la réponse finale : la réponse réelle de l'outil est disponible pour l'agent. Il sera inclus en tant que tag de contexte. Exemple :

    <context>function [<tool_name>] completed with response <response JSON></context>
    

Bonnes pratiques

Suivez les bonnes pratiques suivantes pour les outils :

  • Écrivez toujours des noms d'outils sémantiquement pertinents pour la tâche qu'ils effectuent.
  • Fournissez toujours des descriptions de haute qualité de vos outils et des tâches qu'ils peuvent accomplir.
  • Pour les outils asynchrones, incluez des instructions détaillées pour les scénarios suivants :
    • Indiquez à l'agent que est un outil asynchrone et qu'il renverra initialement une réponse en attente.
    • Incluez des instructions sur la façon dont l'agent doit répondre lorsque l'outil renvoie "En attente".
    • Incluez des instructions sur la façon dont l'agent doit répondre lorsque la réponse réelle de l'outil est disponible.
    • Incluez des instructions sur la façon dont l'agent doit répondre si l'outil renvoie une erreur.