Bonnes pratiques concernant les playbooks

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.