Bonnes pratiques concernant les playbooks

Les bonnes pratiques suivantes peuvent vous aider à créer des agents robustes.

Nom du playbook en langage naturel

Utilisez un langage naturel avec des noms de playbooks clairs. Par exemple, "Guide du centre d'aide client" est plus descriptif que "company_specialist", ce qui améliore les performances des générateurs d'IA au moment de l'exécution.

Objectifs concis

Les objectifs doivent être une description concise de l'objectif du playbook.

Fournir des instructions de qualité

Les instructions doivent:

  • refléter 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 spécifier les scénarios d'utilisation de l'outil ;

Au moins un exemple pour chaque playbook

Vous devez inclure au moins un exemple pour chaque playbook, mais nous vous recommandons d'en inclure au moins quatre. Les exemples doivent inclure des scénarios de parcours réussis.

Sans suffisamment d'exemples, un playbook est susceptible de générer 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.

Précision des instructions et des exemples

Bien qu'il soit utile d'écrire 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, consacrez plus de temps à rédiger des exemples détaillés qu'à rédiger des instructions parfaitement précises.

Faire référence à des outils dans des exemples

Si le playbook est conçu pour fournir des réponses à l'aide d'outils, référencez-les 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 d'attribution de noms pour ce champ:

  • Lettres, chiffres et traits de soulignement uniquement.
  • Doit être unique parmi tous les operationId dé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 l'éditeur Swagger pour vérifier la syntaxe de votre schéma OpenAPI 3.0.

Gérer les résultats vides de l'outil

Lorsque votre playbook s'appuie sur un outil pour définir 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 playbooks génère des informations dans une réponse au lieu d'un résultat d'outil. Pour éviter cela, vous pouvez ajouter des instructions spécifiques pour vous assurer que le générateur d'IA de playbook n'essaie pas de répondre de lui-même.

Certains cas d'utilisation exigent que les réponses du playbook soient bien ancrées dans les résultats de l'outil ou les données fournies, et doivent atténuer les réponses uniquement en fonction des connaissances du générateur d'IA du playbook.

Exemples d'instructions pour 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 avez un playbook complexe, envisagez de le diviser 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.

Fournir des informations de calcul d'itinéraire pour les exemples

Lorsqu'un playbook doit être redirigé vers un autre playbook, vous devez fournir ces informations aux exemples. Il s'agit d'un exemple du champ Exemple de fin avec informations de sortie de la section d'exemples Entrée et sortie.

Par exemple, la dernière phrase de ce champ pourrait être "Rerouter vers le playbook par défaut pour d'autres requêtes".

Utiliser des fonctions JavaScript Messenger pour les agents de conversation (Dialogflow CX) à des fins de personnalisation

Lorsque vous utilisez Messenger avec des agents de conversation (Dialogflow CX), les fonctions suivantes sont utiles pour envoyer des informations de personnalisation de l'utilisateur depuis 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 la fluidité des conversations, il est essentiel de gérer les temps de réponse pour maintenir une expérience positive pour l'utilisateur final. Voici quelques stratégies pour optimiser les performances:

  • Équilibrer l'utilisation des fonctionnalités génératives

    Réfléchissez attentivement 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 d'utiliser trop ces fonctionnalités si elles ne contribuent pas de manière significative à l'objectif de l'utilisateur.

  • Minimiser l'entrée 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.

  • Utiliser la mise en cache de 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 de contexte Vertex AI pour éviter les requêtes répétitives pour les mêmes données. Implémentez des réponses fixes pour accélérer le processus:

    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 classique telle que Firebase. Étant donné qu'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 instantanément.

  • Demander au générateur d'IA de produire des réponses concises aux playbooks

    Pour l'entrée et la sortie 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.

  • Réponses en flux :

    Transmettez les réponses du playbook au client Dialogflow, qui les transmet à l'utilisateur final. Contrairement à l'attente de la génération de l'intégralité de la réponse avant d'en envoyer une partie. Les réponses en streaming améliorent l'expérience utilisateur en fournissant des réponses partielles à mesure qu'elles deviennent disponibles. Cette approche réduit le délai perçu et le temps d'attente de l'utilisateur.