Les bonnes pratiques suivantes peuvent vous aider à créer des agents robustes.
Nom du playbook en langage naturel
Les noms des playbooks doivent être clairs, descriptifs et rédigés en anglais naturel. Cela permet d'améliorer les performances du générateur IA au moment de l'exécution. Par exemple, "centre d'aide client Playbook" est préférable à "company_specialist".
Tous les noms doivent comporter moins de 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 bonne qualité
Les instructions doivent :
- Adoptez une approche étape par étape pour résoudre les problèmes des utilisateurs finaux.
- Rédigez des phrases concises en langage naturel contenant des instructions générales.
- Soyez direct et précisez les scénarios d'utilisation des outils.
Au moins un exemple pour chaque playbook
Vous devez disposer d'au moins un exemple pour chaque playbook, mais il est recommandé d'en avoir au moins quatre. Les exemples doivent inclure des scénarios de parcours heureux.
Sans un nombre suffisant d'exemples, un playbook risque d'entraîner un comportement imprévisible. Si votre playbook ne répond pas ou ne se comporte pas comme prévu, cela est probablement dû à des exemples manquants ou mal définis. Essayez d'améliorer vos exemples ou d'en ajouter d'autres.
Précision des instructions et des exemples
Bien qu'il soit utile d'écrire des instructions claires et descriptives, ce sont vraiment 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, référencez les outils dans les exemples correspondant à ce type de requête.
Champ operationId du schéma de l'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 les recommandations de nommage pour ce champ :
- Lettres, chiffres et traits de soulignement uniquement.
- Il doit être unique parmi tous les
operationIddécrits dans le schéma. - Il doit s'agir d'un nom significatif reflétant la fonctionnalité fournie.
Validation du schéma de l'outil
Vous devez valider le schéma de votre outil. Vous pouvez utiliser 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 formuler sa réponse, un résultat d'outil vide peut entraîner un comportement imprévisible du playbook. Parfois, le générateur 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 le générateur IA du playbook n'essaie pas de répondre de lui-même.
Certains cas d'utilisation nécessitent que les réponses du playbook soient bien ancrées dans les résultats de l'outil ou les données fournies, et que les réponses basées uniquement sur les connaissances du générateur d'IA du playbook soient atténuées.
Voici quelques exemples d'instructions permettant de limiter les hallucinations :
- "Vous devez utiliser l'outil pour répondre à toutes les questions des utilisateurs"
- "Si l'outil ne renvoie aucune donnée, répondez que vous ne connaissez pas la réponse à la requête de l'utilisateur."
- "N'invente pas de réponse si tu ne reçois 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 "Peux-tu 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 avez un playbook complexe, envisagez de le décomposer en sous-playbooks plus petits.
Éviter les boucles et la récursion
Ne créez pas de boucles ni de récursion lorsque vous associez des agents dans vos instructions. Une boucle peut se produire si vous essayez d'effectuer un routage vers un playbook ancêtre qui a appelé, directement ou indirectement, 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. Il est fourni à un exemple 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 pourrait être "Reroute back to the default playbook for further queries." (Rediriger vers le playbook par défaut pour les requêtes ultérieures).
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 :
Planifier les performances
Les fonctionnalités génératives nécessitent généralement plusieurs secondes, voire des dizaines de secondes, pour générer une réponse. Bien que les playbooks améliorent le naturel de la conversation, il est crucial de gérer les temps de réponse pour maintenir une expérience utilisateur positive.
Voici quelques stratégies pour optimiser les performances :
- Équilibrez l'utilisation des fonctionnalités génératives : réfléchissez bien au compromis entre le temps nécessaire pour exécuter plusieurs fonctionnalités génératives et la valeur qu'elles apportent à la conversation. Évitez d'utiliser ces fonctionnalités de manière excessive si elles ne contribuent pas de manière significative à l'objectif de l'utilisateur.
- Réduire les entrées des fonctionnalités génératives : essayez de collecter et de traiter la quantité minimale d'informations requise pour qu'un générateur d'IA génère une réponse utile. Cela peut réduire considérablement le temps de traitement.
- Utilisez la mise en cache du contexte : si vous utilisez Gemini via un outil et que vous disposez d'un contexte initial volumineux, explorez les informations de mise en cache à 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émentez des réponses fixes pour plus de rapidité : si votre application ne nécessite pas de contenu dynamique unique, 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.
- Demandez au générateur IA de produire des réponses concises pour le playbook : pour les entrées et sorties textuelles, le temps de réponse du générateur 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 un facteur, la longueur de la sortie a un impact plus important.