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 en anglais naturel. Cela permet d'améliorer les performances du générateur d'IA lors 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 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 :
- reflètent l'approche étape par étape pour résoudre un problème d'utilisateur final.
- être des phrases concises en langage naturel contenant des instructions de haut niveau.
- être simple et préciser les scénarios d'utilisation de l'outil ;
Au moins un exemple pour chaque playbook
Vous devez fournir 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 chemin heureux.
Si les exemples sont insuffisants, 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, la cause est probablement liée à 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 de rédiger des instructions claires et descriptives, ce sont 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'à écrire des instructions parfaitement précises.
Outils de référence 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 demande.
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 quelques recommandations pour nommer ce champ :
- Lettres, chiffres et traits de soulignement uniquement.
- Le nom doit être unique parmi tous les
operationId
décrits dans le schéma. - Le nom doit être significatif et refléter la fonctionnalité fournie.
Validation du schéma de l'outil
Vous devez valider le schéma de votre outil. Vous pouvez utiliser l'éditeur Swagger 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, le générateur d'IA de 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 d'IA du playbook ne tente 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 des outils ou les données fournies, et qu'elles atténuent les réponses basées uniquement sur les connaissances du générateur 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 l'outil ne renvoie aucune donnée, indique que tu ne connais pas la réponse à la requête de l'utilisateur."
- "N'invente pas de réponse si l'outil ne renvoie aucune donnée"
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 votre playbook est complexe, envisagez de le diviser en sous-playbooks plus petits.
Éviter les boucles et la récursivité
Ne créez pas de boucles ni de récursions lorsque vous associez des agents dans vos instructions. Une boucle peut se produire si vous essayez de définir un itinéraire vers un playbook ancêtre qui a appelé le playbook actuel, directement ou indirectement.
Fournir des informations de routage aux exemples
Lorsqu'un playbook doit être redirigé vers un autre playbook, vous devez fournir ces informations dans les exemples. Il s'agit d'un exemple tiré du champ Exemple de fin avec informations sur la sortie de la section d'exemple Entrée et sortie.
Par exemple, la dernière phrase de ce champ pourrait être "Redirigez vers le playbook par défaut pour d'autres requêtes.".
Utiliser les fonctions JavaScript de Messenger pour les agents conversationnels (Dialogflow CX) pour la personnalisation
Lorsque vous utilisez les agents conversationnels (Dialogflow CX) Messenger, les fonctions suivantes sont utiles pour envoyer des informations de personnalisation de l'utilisateur depuis l'interface Web vers le playbook :
Planifier les performances
Les fonctionnalités génératives mettent généralement plusieurs secondes, voire des dizaines de secondes, à générer une réponse. Bien que les playbooks améliorent le naturel des conversations, 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 bien au compromis à faire entre le temps nécessaire pour exécuter plusieurs fonctionnalités génératives et la valeur qu'elles apportent à la conversation. Évitez de trop utiliser ces fonctionnalités si elles ne contribuent pas de manière significative à l'objectif de l'utilisateur.
Minimiser 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 puisse générer 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, consultez les informations sur la 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émenter 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.
Demander au générateur d'IA de produire des réponses de playbook concises
Pour les entrées et sorties de texte, 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.