Le nœud autonome Botpress vous permet de créer des agents d'IA fonctionnels - pas des chatbots, mais des agents autonomes qui prennent des décisions en fonction du contexte dans lequel ils se trouvent.
En fournissant des instructions claires et en intégrant des outils, les créateurs de robots peuvent utiliser des nœuds autonomes pour définir le comportement d'un chatbot.
Le nœud est conçu pour gérer à la fois la prise de décision et l'exécution en comprenant les entrées des utilisateurs, en répondant avec les bonnes données et en tirant parti de ses outils.
Si vous souhaitez utiliser un nœud autonome, vous êtes au bon endroit. Dans cet article, je vais poser les bases de l'utilisation de la fonctionnalité de puissance agentique de notre plateforme.
Principales caractéristiques du nœud autonome
1. LLM Orienté vers la prise de décision
Un nœud autonome utilise les capacités d'un site LLM pour prendre des décisions intelligentes.
2. Comportement autonome
Un nœud autonome peut exécuter des actions sans intervention manuelle sur la base d'instructions et d'entrées utilisateur.
3. Les outils
Le nœud autonome comprend et utilise des outils spécifiques - par exemple, il peut interroger des bases de connaissances, effectuer des recherches sur le web et exécuter des transitions de flux de travail.
4. La personnalisation
En configurant un nœud autonome avec un persona approprié et des instructions détaillées, vous pouvez vous assurer qu'il se comporte conformément à la marque et au champ d'application pendant les conversations.
5. Écrire et exécuter du code
Le nœud autonome peut générer et exécuter un code personnalisé pour accomplir des tâches.
6. Autocorrection
Si le nœud autonome s'engage sur une mauvaise voie, il a la capacité de s'auto-corriger et de se remettre de ses erreurs.
Paramètres de configuration
Chaque nœud autonome nécessite une configuration minutieuse afin d'aligner son comportement sur les besoins de l'entreprise.
La partie la plus cruciale de la configuration d'un nœud autonome est la rédaction de l'invite et des instructions appropriées. L'invite aide l'agent à comprendre son persona et guide sa prise de décision.
Boîte d'instructions
Dans l'encadré "Instructions", donnez des directives claires. Plus les instructions sont précises, meilleure est la prise de décision de l'agent.
Exemple : "Vous êtes un assistant serviable qui répond toujours aux questions en utilisant l'outil 'knowledgeAgent.knowledgequery'. Si l'utilisateur dit "recherche", vous utilisez l'outil "browser.webSearch".
Permettre la conversation
La case à cocher Autoriser la conversation permet au nœud autonome de communiquer directement avec les utilisateurs. S'il est désactivé, le nœud traite uniquement les commandes et exécute sa logique interne sans envoyer de messages aux utilisateurs.
Comprendre les outils
En fonction des instructions que vous lui donnez, un nœud autonome est équipé de plusieurs outils qu'il peut appeler.
Chaque outil effectue une action spécifique - il est essentiel de comprendre quand et comment utiliser ces outils pour orienter les décisions du nœud.
Les 7 outils les plus courants
- global.think: Permet au moteur LLMz de réfléchir avant de poursuivre.
- browser.webSearch: Permet à l'agent de rechercher des réponses sur le web.
- knowledgeAgent.knowledgequery: Interroge une base de connaissances interne à la recherche d'informations pertinentes.
- clock.setReminder: Définit un rappel pour des tâches ou des réponses futures.
- workflow.transition: Exécute une transition de flux de travail, en passant d'une partie de la conversation à une autre en fonction des entrées de l'utilisateur.
- chat.sendText: Envoie un message texte à l'utilisateur en guise de réponse.
- chat.waitForUserInput: met l'exécution en pause et attend que l'utilisateur fournisse d'autres informations.
En spécifiant l'outil à utiliser en réponse aux actions de l'utilisateur, vous pouvez contrôler le flux et les résultats de la conversation.
Par exemple, vous pouvez demander à LLM de toujours effectuer certaines actions lorsque des conditions spécifiques sont remplies : Lorsque l'utilisateur dit "1", utilisez l'outil "workflow.transition" pour passer à l'étape suivante.
Ou : "Si l'utilisateur pose une question, essayez d'abord d'y répondre en utilisant l'outil 'knowledgeAgent.knowledgequery'".
Exemple de flux de travail
Voici un exemple, étape par étape, de la manière dont le nœud autonome peut être configuré et fonctionner au cours d'une conversation :
1. Entrée de l'utilisateur
L'utilisateur tape une question sur le produit de l'entreprise.
2. Exécution des instructions
Le nœud autonome suit l'invite et utilise l'outil knowledgeAgent.knowledgequery pour effectuer une recherche dans la base de connaissances interne.
3. LLM Décision
Si la base de connaissances ne fournit pas de réponse satisfaisante, le nœud peut alors utiliser l'outil browser.webSearch pour rechercher des informations supplémentaires sur le web.
4. Envoyer le message
Une fois la réponse prête, le nœud utilise chat.sendText pour répondre à l'utilisateur avec les informations pertinentes.
5. Attendre l'entrée
Après avoir répondu, le nœud utilise chat.waitForUserInput pour attendre d'autres questions ou interactions de la part de l'utilisateur.
Comment rédiger des instructions
Comme le montre l'exemple, des instructions claires sont essentielles pour garantir que le nœud autonome se comporte correctement.
La capacité du site LLMà prendre des décisions est fortement influencée par la manière dont les instructions sont structurées.
Voici trois bonnes pratiques pour rédiger des instructions pour votre nœud autonome :
1. Être précis
Au lieu d'ordres vagues, utilisez un langage explicite qui guide clairement l'agent.
Exemple : Si l'utilisateur dit "aide", envoyez-lui une liste prédéfinie d'options d'assistance à l'aide de "chat.sendText".
2. Définir l'utilisation de l'outil
Indiquer explicitement quel outil doit être utilisé dans quelles circonstances.
Exemple : "Utilisez toujours 'knowledgeAgent.knowledgequery' pour répondre aux questions relatives aux produits : "Utilisez toujours 'knowledgeAgent.knowledgequery' pour répondre aux questions relatives aux produits".
3. Guider le flux
Utilisez des transitions et des étapes claires pour vous assurer que la conversation va dans la bonne direction.
Exemple : "Si la base de connaissances ne peut pas répondre, passer à une requête de recherche en utilisant 'browser.webSearch'.
Vous trouverez plus d'informations sur les liens suivants :
- Meilleures pratiques pour l'ingénierie rapide avec l'API OpenAI
- Construire des systèmes avec l'API ChatGPT
- ChatGPT Ingénierie rapide pour les développeurs
Utiliser la syntaxe Markdown
Avant de commencer, il est important de parler de l'importance de l'utilisation de la syntaxe Markdown.
Pour créer un message structuré et visuellement clair, il est essentiel d'utiliser la syntaxe markdown, comme les en-têtes, les puces et le texte en gras.
Cette syntaxe aide le site LLM à reconnaître et à respecter la hiérarchie des instructions, en l'aidant à différencier les sections principales, les sous-instructions et les exemples.
S'il vous est difficile d'utiliser la syntaxe Markdown, utilisez n'importe quelle structure facile pour vous, à condition de rester clair et hiérarchique.
En savoir plus sur Markdown Basic Syntax
Suggestions utiles
Cette section contient une liste des exemples et des modèles les plus courants que vous pouvez utiliser pour contrôler le comportement du nœud autonome.
Ces exemples sont tirés de l'expérience pratique et montrent comment gérer différents scénarios en utilisant des instructions et des outils spécifiques.
Focus sur les connaissances internes
Pour que le nœud fasse la distinction entre les questions d'assistance et les autres types de demandes (comme les prix ou les caractéristiques), vous pouvez le guider comme suit :
**IMPORTANT Processus général**
- L'outil knowledgeAgent.knowledgequery doit être utilisé uniquement pour les questions relatives à l'assistance et NON pour les questions générales relatives aux caractéristiques ou aux prix.
- L'outil browser.websearch doit être utilisé UNIQUEMENT pour les questions relatives à l'assistance et ne doit PAS être utilisé pour les questions relatives aux caractéristiques générales ou aux prix.
Cette invite garantit que le site LLM s'en tiendra à l'utilisation d'outils spécifiques uniquement dans le cadre de requêtes liées à l'assistance, en gardant le contrôle sur le type d'informations qu'il récupère.
Nœud de transition dans un sous-flux
Parfois, vous souhaitez que le robot quitte le nœud autonome pour entrer dans un sous-flux.
Supposons que vous souhaitiez que votre robot recueille l'adresse électronique d'un utilisateur, puis qu'il recherche dans d'autres systèmes des informations complémentaires sur cette adresse afin d'enrichir les coordonnées de l'utilisateur.
Dans ce cas, il se peut que le robot doive sortir de la boucle du nœud autonome et se plonger dans un sous-flux qui contient de nombreuses étapes/systèmes pour enrichir ce contact :
Lorsque l'utilisateur souhaite obtenir davantage d'informations sur un courrier électronique, il se rend à l'outil de transition.
Cette instruction indique au nœud d'invoquer l'outil workflow.transition chaque fois que l'utilisateur demande plus de détails sur les courriels, en orientant le flux de conversation en conséquence.
Remplir une variable et effectuer une action
Pour les scénarios dans lesquels vous souhaitez que le nœud capture une entrée et déclenche une action simultanément, vous pouvez l'inviter à le faire :
Lorsque l'utilisateur souhaite obtenir davantage d'informations sur un courrier électronique, il peut accéder à l'outil de transition et remplir la variable "email" avec le courrier électronique sur lequel il souhaite obtenir des informations.
Ici, vous guidez le nœud non seulement pour qu'il déclenche la transition, mais aussi pour qu'il extraie et stocke l'adresse électronique de l'utilisateur dans une variable, ce qui permet un comportement dynamique plus tard dans la conversation.
Manipulation de la réponse en fonction d'une condition
Parfois, vous souhaiterez que le nœud exécute une logique supplémentaire basée sur des conditions. Voici un exemple d'invite liée à la fourniture de liens vidéo :
Si l'utilisateur choisit "1", dites quelque chose comme "merci", puis utilisez l'outil de transition.
Cette invite aide le nœud à comprendre la structure attendue d'un lien vidéo et à la modifier lorsque l'utilisateur demande à se référer à un point spécifique de la vidéo.
Exemple d'utilisation d'un modèle pour les liens vidéo
Vous pouvez clarifier davantage l'invite en fournissant un exemple concret de la manière dont le système doit se comporter lorsqu'il répond à une demande de liens vidéo de la part d'un utilisateur :
**Video Link Example:**
If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
Le nœud dispose ainsi d'indications claires sur la manière de générer dynamiquement des liens vidéo avec des horodatages spécifiques, ce qui garantit des réponses cohérentes et conviviales.
Dépannage et diagnostic
Lorsque l'on teste le comportement du nœud autonome dans l'émulateur, il est important de diagnostiquer ce qui se passe sous le capot. Comment le nœud prend-il ses décisions ?
Voici comment vous pouvez dépanner et inspecter le processus de réflexion et les performances du nœud.
Trois façons de résoudre les problèmes
1. Inspecter l'esprit du nœud
En cliquant sur Inspecter, vous pouvez jeter un coup d'œil à l'état interne du nœud autonome et comprendre ce que le site LLM est en train de traiter. En inspectant, vous pouvez voir
- Quelles sont les instructions auxquelles le nœud donne la priorité ?
- Comment il interprète votre message
- Qu'il s'agisse de respecter les contraintes et les instructions que vous avez fournies
Si vous remarquez que le nœud ne répond pas correctement ou semble ignorer certaines instructions, l'inspection vous permettra de savoir s'il a mal compris l'invite ou s'il n'a pas réussi à exécuter un outil spécifique.
2. Vérifier l'onglet Outils
La section Outils affiche tous les outils disponibles que le nœud autonome peut exploiter. Chaque fois que vous ajoutez une nouvelle carte ou que vous modifiez la configuration du nœud, la liste des outils est mise à jour.
- Veillez à ce que les outils énumérés correspondent à ce que vous pensez être disponible dans le processus de prise de décision du nœud.
- Veillez à ce que les noms des outils soient correctement orthographiés dans votre invite afin que le nœud puisse exécuter correctement l'action spécifiée.
3. Vérifier l'onglet Itérations
Le nœud autonome tente généralement d'exécuter toutes les instructions en une ou deux itérations. Le nombre d'itérations dépend de la complexité de l'invite et de la manière dont le nœud l'analyse.
Pour les tâches plus complexes, le nœud peut nécessiter plusieurs itérations pour collecter des données, prendre des décisions ou rechercher des informations externes.
En consultant l'onglet Itérations (ou l'onglet Tous), vous pouvez comprendre :
- Combien d'itérations ont été nécessaires pour que le nœud prenne sa décision finale.
- Ce qui a amené le nœud à prendre plusieurs mesures (par exemple, l'obtention de données supplémentaires à partir d'outils tels que knowledgeAgent.knowledgequery ou browser.webSearch).
- Les raisons pour lesquelles un résultat particulier a été obtenu.
Problèmes courants de dépannage
Taille du modèle
Le nœud autonome peut ne pas suivre votre invite, exécuter une partie de l'invite au lieu de la totalité, ou appeler le "workflowQueue" sans appeler les outils "workflowExecuteAll".
Il est logique de toujours changer la taille du nœud autonome LLM pour un modèle plus petit - parce que c'est moins cher - mais cela a un coût.
Si le site LLM est plus petit, certaines parties de l'invite risquent d'être tronquées, en particulier la définition que Botpress ajoute pour s'assurer que LLM comprend comment les cartes fonctionnent, quels sont les paramètres requis, etc. Sans cela, le robot ne saurait pas comment agir correctement.
Version LLMz
Assurez-vous toujours que vous utilisez la dernière version stable de LLMz. C'est le moteur autonome qui dirige le travail du nœud autonome.
Elle contient également des corrections de bogues, rendant les invites plus agnostiques à l'égard de LLMs.
Exemple : Diagnostiquer la création d'un code
Supposons qu'un nœud autonome génère du code mais ne suit pas l'invite correctement. Voici comment vous pourriez le dépanner :
- Inspecter: Vérifier les instructions suivies par le nœud. Comprend-il correctement la demande de génération de code ?
- Outils: Vérifier que le nœud a accès aux outils nécessaires (par exemple, les outils de génération de code ou les outils d'interrogation de la base de connaissances). Veillez à ce que l'invite fasse explicitement référence à ces outils.
- Itérations: Consultez l'onglet itérations pour voir comment le nœud a atteint le point de génération du code. A-t-il suivi une ou plusieurs étapes ? A-t-il d'abord interrogé une base de connaissances ou a-t-il essayé de générer le code immédiatement ?
Solution: Si le robot ne parvient pas à générer le code correctement :
- Assurez-vous que l'outil utilisé pour la génération de code est correctement référencé dans l'invite.
- Ajustez les instructions pour que le nœud soit guidé dans l'utilisation d'étapes spécifiques, telles que l'extraction de connaissances pertinentes avant de tenter de générer un code.
Exemple d'invite complète
**IMPORTANT: Query Knowledge Base is to be used only for support questions related explicitly to student courses, and NOT for general features or pricing inquiries.
**Role Description:
You are an AI-powered troubleshooting chatbot named XYZ Assistant’, focused on providing support related to professional courses offered by XYZ LMS. Your primary goal is to handle student inquiries efficiently by retrieving accurate information from the knowledge base and answering questions clearly.
**Tone and Language:
• Maintain a courteous, professional, and helpful demeanor at all times.
• Use language that is clear, concise, and appropriate for students and professionals in finance and investment.
• Ensure user data is handled securely and confidentially, adhering to all relevant data protection policies.
• Utilize information solely from **LMS Knowledge Base**.
• Personalize interactions to enhance user engagement and satisfaction.
• Reflect **XYZ branding** throughout the conversation, ensuring clarity and professionalism.
• Avoid providing answers outside the knowledge base or surfing the internet for information.
• If the user expresses frustration, acknowledge their concern and reassure them that you are here to help.
**Interaction Flow and Instructions
1. Greeting and Initial Query
• Start with a friendly and professional greeting.
• Encourage users to ask questions about course content, support materials, or other course-related concerns.
2. Information Retrieval and Issue Resolution
• Utilize the ‘Query Knowledge Base’ tool to find accurate answers to student inquiries.
• Provide clear, concise, and helpful responses to resolve the user's question.
• If the inquiry involves linking to a video, use the provided video link structure. To link to a specific moment in the video, append the "t" parameter for the desired time (e.g., for the 15-second mark, use "t=15").
3. Conclusion
Once the issue is resolved, politely conclude the interaction and ask if there's anything else you can assist with.
**Extra Instructions
*Video Link Example
-If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
*Handling Edge Cases
If the user asks a general or unclear question, prompt them to provide more details so that you can offer a better solution.
Décomposition de l'énoncé
Dans l'invite complète ci-dessus, l'utilisateur a créé un assistant IA qui répond aux questions des étudiants sur les cours de formation.
L'exemple ci-dessus est une ligne directrice qui peut être modifiée en fonction de vos besoins, mais cette structure est celle que j'ai trouvée la plus efficace jusqu'à présent.
Voyons pourquoi l'invite est présentée de cette manière :
1. Avis important
**IMPORTANT : La base de connaissances doit être utilisée uniquement pour des questions de support liées explicitement aux cours des étudiants, et NON pour des questions d'ordre général sur les fonctionnalités ou les prix.
Objectif: définir les limites de l'utilisation de l'outil Base de connaissances sur les requêtes. Insister sur le fait qu'il s'agit d'une aide strictement liée au cours, et non d'une demande de renseignements généraux sur les fonctionnalités ou les prix.
Importance: Permet de réduire le champ d'action du robot, de cibler ses réponses et d'améliorer la pertinence pour les utilisateurs, notamment en veillant à ce que les réponses s'alignent sur le contenu éducatif.
2. Description du rôle
Vous êtes un chatbot de dépannage doté d'une intelligence artificielle, nommé XYZ Assistant', dont l'objectif est de fournir une assistance relative aux cours professionnels proposés par XYZ LMS. Votre objectif principal est de traiter efficacement les demandes des étudiants en récupérant des informations précises dans la base de connaissances et en répondant clairement aux questions.
Objectif: définir le rôle de l'IA en tant qu'assistant orienté vers le soutien, en précisant clairement son objectif principal, qui est de résoudre les problèmes liés aux cours.
Importance: Veille à ce que les réponses de l'assistant soient conformes à l'objectif visé, en gérant les attentes des utilisateurs et en restant pertinentes par rapport à son domaine (qui, dans ce cas, est le système de gestion de contenu XYZ).
3. Ton et langue
- Maintenir une attitude courtoise, professionnelle et utile à tout moment.
- Utiliser un langage clair, concis et adapté aux étudiants et aux professionnels de la finance et de l'investissement.
- S'assurer que les données des utilisateurs sont traitées de manière sûre et confidentielle, en adhérant à toutes les politiques de protection des données pertinentes.
-Utiliser uniquement les informations de la **Base de connaissances LMS**. Personnaliser les interactions afin d'améliorer l'engagement et la satisfaction de l'utilisateur.
-Refléter la **marque XYZ** tout au long de la conversation, en veillant à la clarté et au professionnalisme.
- Éviter de fournir des réponses en dehors de la base de connaissances ou de surfer sur Internet pour trouver des informations.
- Si l'utilisateur exprime sa frustration, reconnaissez son inquiétude et rassurez-le en lui disant que vous êtes là pour l'aider.
Objectif: fournir des conseils sur le comportement, le ton et le professionnalisme de l'assistant tout en maintenant des interactions sécurisées et protectrices des données.
Importance: Donne un ton amical et sûr, conforme à l'image de marque et aux attentes des utilisateurs en matière d'assistance et de professionnalisme.
4. Flux d'interaction et instructions
Accueil et demande initiale
- Commencez par un accueil amical et professionnel.
- Encouragez les utilisateurs à poser des questions sur le contenu du cours, le matériel d'assistance ou d'autres problèmes liés au cours.
Objet: Cette directive demande à l'assistant de commencer par un accueil chaleureux et professionnel et d'encourager les utilisateurs à poser des questions spécifiques sur leur cours.
Importance: Établit un point d'entrée invitant qui améliore l'engagement de l'utilisateur et aide le robot à recueillir des détails pour une meilleure réponse.
Recherche d'informations et résolution de problèmes
- Utiliser l'outil "Interroger la base de connaissances" pour trouver des réponses précises aux questions des étudiants.
- Fournissez des réponses claires, concises et utiles pour résoudre la question de l'utilisateur.
- Si la demande implique un lien vers une vidéo, utilisez la structure de lien vidéo fournie. Pour créer un lien vers un moment précis de la vidéo, ajoutez le paramètre "t" correspondant à la durée souhaitée (par exemple, pour les 15 secondes, utilisez "t=15").
Objectif: Indiquer à l'assistant comment exploiter la base de connaissances pour obtenir des réponses pertinentes et claires. En outre, il comprend une approche structurée pour le partage de ressources vidéo avec des liens temporels.
Importance: Permet des réponses efficaces et précises et une manière structurée de traiter les requêtes spécifiques au contenu comme les vidéos, favorisant ainsi une expérience utilisateur transparente.
Conclusion
Une fois le problème résolu, concluez poliment l'interaction et demandez s'il y a autre chose que vous pouvez faire.
Objectif: Guide le robot sur la manière de conclure poliment les interactions, en lui demandant s'il a besoin d'une aide supplémentaire.
Importance: Maintient un ton professionnel et encourageant tout au long de l'interaction et permet aux utilisateurs de continuer à s'engager si nécessaire.
5. Instructions supplémentaires
If the user is asking for a video link, the link to the video is provided below. To direct them to a specific second, append the "t" parameter with the time you want to reference. For example, to link to the 15-second mark, it should look like this: "t=15":
"""{{workflow.contentLinks}}"""
Objectif: Démontrer le format des liens vers des parties spécifiques d'une vidéo afin d'aider les étudiants à trouver des informations précises.
Importance: Clarifie le partage des ressources vidéo, en particulier pour les contenus pédagogiques à durée déterminée.
*Gestion des cas marginaux
Si l'utilisateur pose une question générale ou peu claire, invitez-le à fournir plus de détails afin que vous puissiez lui proposer une meilleure solution.
Objectif: Préparer l'assistant à traiter des demandes vagues ou générales en invitant les utilisateurs à fournir davantage de détails.
Importance: Permet d'éviter les confusions et de s'assurer que l'assistant peut répondre aux questions des utilisateurs avec le plus de spécificité possible.
Créer un agent d'IA dès aujourd'hui
Botpress est une plateforme d'agents d'intelligence artificielle entièrement extensible pour les entreprises.
Notre plateforme d'IA conversationnelle tout-en-un en tant que service (PaaS) permet aux entreprises de créer, de déployer et de surveiller les solutions alimentées par LLM.
Appliqués à tous les secteurs d'activité, à tous les cas d'utilisation et à tous les processus commerciaux, les projets Botpress sont toujours évolutifs, sécurisés et conformes à la marque.
Avec plus de 500 000 utilisateurs et des millions de bots déployés dans le monde entier, Botpress est la plateforme de choix pour les entreprises et les développeurs. Notre niveau de sécurité élevé et notre service clientèle dédié garantissent que les entreprises sont parfaitement équipées pour déployer des agents d'IA de niveau professionnel.
En configurant efficacement les nœuds autonomes à l'aide d'invites et de définitions d'outils appropriées, les entreprises peuvent créer des agents intelligents qui gèrent les interactions avec les utilisateurs de manière autonome.
Commencez à construire dès aujourd'hui. C'est gratuit.
Table des matières
Restez au courant des dernières nouveautés en matière d'agents d'IA
Partager ce message sur :