Ces bonnes pratiques peuvent vous aider à créer des agents robustes.
Nom du playbook en langage naturel
Les noms des playbooks doivent être clairs, descriptifs et en anglais naturel. Cela permet d'améliorer les performances du générateur d'IA au moment de l'exécution. Par exemple, "Playbook du centre d'aide client" est préférable à "company_specialist".
Tous les noms doivent comporter moins de 64 caractères, y compris les lettres anglaises et les espaces.
Objectifs concis
Les objectifs doivent décrire de manière concise l'objectif du playbook.
Fournir des instructions de bonne qualité
Utilisez les instructions pour :
- 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.
- Spécifiez clairement les scénarios d'utilisation des outils.
Au moins un exemple pour chaque playbook
Incluez au moins un exemple pour chaque playbook, et essayez d'en inclure au moins quatre. Incluez des scénarios de parcours heureux.
Sans un nombre suffisant d'exemples, un playbook peut 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.
Suivez ces recommandations pour nommer ce champ :
- Les noms ne doivent contenir que des lettres, des chiffres et des traits de soulignement.
- Assurez-vous que le nom est unique parmi tous les
operationIddécrits dans le schéma. - Choisissez un nom explicite qui reflète la fonctionnalité fournie.
Validation du schéma de l'outil
Validez 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 tout comportement imprévisible, ajoutez 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 d'ancrer les réponses du playbook dans les résultats de l'outil ou les données fournies, et de limiter les réponses en fonction des connaissances du générateur 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 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. Demande plutôt à l'utilisateur de reformuler sa requête ou de la clarifier."
Générer un schéma avec Gemini
Gemini peut générer un schéma pour vous. Par exemple, demandez-lui de créer un exemple de schéma OpenAPI 3.0 pour Google Agenda.
Playbooks ciblés
Ne créez pas de 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 redirige vers un autre playbook, fournissez ces informations aux exemples. Fournissez ces informations à 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 suivantes).
Utiliser les fonctions JavaScript de Dialogflow CX Messenger pour la personnalisation
Lorsque vous utilisez Dialogflow CX Messenger, les fonctions JavaScript suivantes vous permettent d'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 important de gérer les temps de réponse pour maintenir une expérience utilisateur positive.
Pour optimiser les performances, utilisez les stratégies suivantes :
- Équilibrez l'utilisation des fonctionnalités génératives : évaluez soigneusement le 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 d'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 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.