Les bonnes pratiques suivantes peuvent vous aider à créer des agents robustes.
Nom du playbook en langage naturel
Les noms de playbook doivent être clairs, descriptifs et en anglais naturel. Cela permet d'améliorer les performances de l'outil de génération d'IA au moment de l'exécution. Par exemple, "Customer Help Center Playbook" (Playbook du centre d'aide client) est préférable à "company_specialist" (spécialiste_entreprise).
Les noms ne doivent pas dépasser 64 caractères, y compris les lettres de l'alphabet anglais et les espaces.
Objectifs concis
Les objectifs doivent être une description concise de l'objectif du playbook.
Fournir des instructions de qualité
Les instructions doivent :
- adopter une approche étape par étape pour résoudre les problèmes des utilisateurs finaux ;
- être des phrases concises en langage naturel contenant des instructions générales ;
- être directes et préciser les scénarios d'utilisation des outils.
Au moins un exemple pour chaque playbook
Vous devez fournir au moins un exemple pour chaque playbook, mais il est recommandé d'en fournir au moins quatre. Les exemples doivent inclure des scénarios de parcours heureux.
Sans suffisamment d'exemples, un playbook est susceptible d'entraîner un comportement imprévisible. Si votre playbook ne répond pas ou ne se comporte pas comme prévu, la cause est probablement due à des exemples manquants ou mal définis. Essayez d'améliorer vos exemples ou d'en ajouter de nouveaux.
Précision des instructions et des exemples
Bien qu'il soit utile de rédiger des instructions claires et descriptives, c'est la qualité et la quantité de vos exemples qui déterminent la précision du comportement du playbook. En d'autres termes, passez plus de temps à rédiger des exemples complets qu'à rédiger des instructions parfaitement précises.
Faire référence aux outils dans les exemples
Si le playbook est conçu pour fournir des réponses à l'aide d'outils, faites référence aux outils dans les exemples correspondant à ce type de requête.
Champ operationId du schéma d'outil
Lorsque vous définissez des schémas pour vos outils, la valeur operationId est importante. Les instructions de votre playbook feront référence à cette valeur.
Voici quelques recommandations de nommage pour ce champ :
- Lettres, chiffres et traits de soulignement uniquement.
- Doit être unique parmi tous les
operationIddécrits dans le schéma. - Doit être un nom significatif reflétant la fonctionnalité fournie.
Validation du schéma d'outil
Vous devez valider le schéma de votre outil. Vous pouvez utiliser le Swagger Editor pour vérifier la syntaxe de votre schéma OpenAPI 3.0.
Gérer les résultats d'outil vides
Lorsque votre playbook s'appuie sur un outil pour informer sa réponse, un résultat d'outil vide peut entraîner un comportement imprévisible du playbook. Parfois, l'outil de génération d'IA du playbook hallucine des informations dans une réponse au lieu d'un résultat d'outil. Pour éviter cela, vous pouvez ajouter des instructions spécifiques afin de vous assurer que l'outil de génération d'IA du playbook ne tente pas de répondre seul.
Certains cas d'utilisation nécessitent que les réponses du playbook soient bien ancrées dans les résultats d'outil ou les données fournies, et qu'elles atténuent les réponses basées uniquement sur les connaissances de l'outil de génération d'IA du playbook.
Voici quelques exemples d'instructions permettant d'atténuer les hallucinations :
- "Vous devez utiliser l'outil pour répondre à toutes les questions des utilisateurs"
- "Si vous ne recevez aucune donnée de l'outil, répondez que vous ne connaissez pas la réponse à la requête de l'utilisateur"
- "N'inventez pas de réponse si vous ne recevez aucune donnée de l'outil"
Générer un schéma avec Gemini
Gemini peut générer un schéma pour vous. Par exemple, essayez "Pouvez-vous créer un exemple de schéma OpenAPI 3.0 pour Google Agenda ?".
Playbooks ciblés
Évitez de créer des playbooks très volumineux et complexes. Chaque playbook doit accomplir une tâche spécifique et claire. Si vous disposez d'un playbook complexe, envisagez de le décomposer en sous-playbooks plus petits.
Éviter les boucles et la récursivité
Ne créez pas de boucles ni de récursivité lorsque vous associez des agents dans vos instructions. Une boucle peut se produire si vous essayez de rediriger vers un playbook ancêtre qui, directement ou indirectement, a appelé le playbook actuel.
Fournir des informations de routage aux exemples
Lorsqu'un playbook doit être redirigé vers un autre playbook, vous devez fournir ces informations aux exemples. Ces informations sont fournies à un exemple à partir du champ End example with output information (Terminer l'exemple avec des informations sur la sortie) de la section d'exemple Input &Output (Entrée et sortie).
Par exemple, la dernière phrase de ce champ peut être "Redirigez vers le playbook par défaut pour d'autres requêtes".
Utiliser les fonctions JavaScript de Dialogflow CX Messenger pour la personnalisation
Lorsque vous utilisez Dialogflow CX Messenger, les fonctions suivantes sont utiles pour envoyer des informations de personnalisation de l'utilisateur de l'interface Web au playbook :
Planification des performances
Les fonctionnalités génératives nécessitent généralement plusieurs secondes, voire plusieurs dizaines de secondes, pour générer une réponse. Bien que les playbooks améliorent le naturel conversationnel, il est essentiel de gérer les temps de réponse pour maintenir une expérience utilisateur positive.
Voici quelques stratégies pour optimiser les performances :
- Équilibrer l'utilisation des fonctionnalités génératives : réfléchissez attentivement au compromis entre le temps nécessaire à l'exécution de plusieurs fonctionnalités génératives et la valeur qu'elles apportent à la conversation. Évitez de surutiliser ces fonctionnalités si elles ne contribuent pas de manière significative à l'objectif de l'utilisateur.
- Minimiser l'entrée de la fonctionnalité générative : essayez de collecter et de traiter le minimum d'informations requis pour qu'un outil de génération d'IA génère une réponse utile. Cela peut réduire considérablement le temps de traitement.
- Utiliser la mise en cache du contexte : si vous utilisez Gemini via un outil et que vous disposez d'un contexte initial volumineux, explorez la mise en cache des informations à l'aide de la mise en cache du contexte Vertex AI pour éviter les requêtes répétitives pour les mêmes données.
- Implémenter des réponses fixes pour plus de rapidité : si votre application ne nécessite pas de contenu unique et dynamique, envisagez de stocker les réponses fréquemment utilisées dans une base de données traditionnelle comme Firebase. Comme elles sont prédéfinies et facilement disponibles, ces réponses fixes offrent des temps de réponse beaucoup plus rapides qu'une fonctionnalité générative qui doit calculer une réponse à la volée.
- Demander à l'outil de génération d'IA de produire des réponses de playbook concises : pour l'entrée et la sortie de texte, le temps de réponse de l'outil de génération d'IA dépend fortement du modèle utilisé et de la longueur de la sortie. Les réponses courtes peuvent améliorer considérablement les performances. Bien que la longueur de l'entrée soit également prise en compte, la longueur de la sortie a un impact plus important.