El nodo autónomo Botpress permite crear agentes de IA funcionales, no chatbots, sino agentes autónomos que toman decisiones en función del contexto disponible.
Al proporcionar instrucciones claras e integrar herramientas, los creadores de bots pueden utilizar los Nodos Autónomos para perfilar el comportamiento de un chatbot.
El Nodo está diseñado para gestionar tanto la toma de decisiones como la ejecución mediante la comprensión de las entradas del usuario, la respuesta con los datos adecuados y el aprovechamiento de sus herramientas.
Si estás interesado en utilizar un Nodo Autónomo, estás en el lugar adecuado. En este artículo, voy a sentar las bases para el uso de nuestra plataforma de agentic powerhouse característica.
Características principales del nodo autónomo
1. LLM En función de las decisiones
Un Nodo Autónomo utiliza las capacidades de un LLM para tomar decisiones inteligentes.
2. Comportamiento autónomo
Un Nodo Autónomo puede ejecutar acciones sin intervención manual basándose en instrucciones y entradas del usuario.
3. Herramientas
El Nodo Autónomo entiende y utiliza herramientas específicas: por ejemplo, puede consultar bases de conocimiento, realizar búsquedas en Internet y ejecutar transiciones de flujo de trabajo.
4. Personalización
Configurando un Nodo Autónomo con una persona adecuada e instrucciones detalladas, puedes asegurarte de que se comporta según la marca y dentro del alcance durante las conversaciones.
5. Escribir y ejecutar código
El Nodo Autónomo puede generar y ejecutar código personalizado para realizar tareas.
6. Autocorrección
Si el Nodo Autónomo se encuentra yendo por un camino equivocado, tiene la capacidad de autocorregirse y recuperarse de los errores.
Ajustes de configuración
Cada Nodo Autónomo requiere una cuidadosa configuración para alinear su comportamiento con las necesidades del negocio.
La parte más importante de la creación de un nodo autónomo es escribir las instrucciones adecuadas. Las instrucciones ayudan al agente a entender a su persona y le guían en la toma de decisiones.
Caja de instrucciones
En el cuadro de instrucciones, proporcione directrices claras. Cuanto más específicas sean las instrucciones, mejor será la toma de decisiones del agente.
Ejemplo: "Eres un asistente servicial que siempre responde a las preguntas utilizando la herramienta 'knowledgeAgent.knowledgequery'. Si el usuario dice 'buscar', utiliza la herramienta 'browser.webSearch'".
Permitir la conversación
La opción Permitir Conversación permite al Nodo Autónomo comunicarse directamente con los usuarios. Si está desactivado, el Nodo sólo procesa comandos y ejecuta su lógica interna sin enviar mensajes a los usuarios.
Conocer las herramientas
En función de las instrucciones que le des, un Nodo Autónomo está equipado con varias herramientas a las que puede llamar.
Cada herramienta realiza una acción específica: entender cuándo y cómo utilizarlas es fundamental para impulsar las decisiones del Nodo.
Las 7 herramientas más comunes
- global.reflexionar: Permite que el motor LLMz reflexione antes de continuar.
- browser.webSearch: Permite al agente buscar respuestas en la web.
- knowledgeAgent.knowledgequery: Consulta una base de conocimientos interna en busca de información relevante.
- clock.setReminder: Establece un recordatorio para futuras tareas o respuestas.
- workflow.transition: Ejecuta una transición de flujo de trabajo, pasando de una parte de la conversación a otra en función de la entrada del usuario.
- chat.sendText: Envía un mensaje de texto al usuario como respuesta.
- chat.waitForUserInput: Detiene la ejecución y espera a que el usuario introduzca más datos.
Al especificar qué herramienta utilizar en respuesta a las acciones del usuario, puede controlar el flujo y los resultados de la conversación.
Por ejemplo, puede indicar a LLM que realice siempre determinadas acciones cuando se cumplan determinadas condiciones: "Cuando el usuario diga '1', utilice la herramienta 'workflow.transition' para pasar al siguiente paso".
O bien: "Si el usuario hace una pregunta, primero intenta responderla con la herramienta 'knowledgeAgent.knowledgequery'".
Ejemplo de flujo de trabajo
He aquí un ejemplo paso a paso de cómo podría configurarse y funcionar el Nodo Autónomo durante una conversación:
1. Entrada del usuario
El usuario escribe una pregunta sobre el producto de la empresa.
2. Ejecución de instrucciones
El Nodo Autónomo sigue la indicación y utiliza la herramienta knowledgeAgent.knowledgequery para buscar en la base de conocimientos interna.
3. LLM Decisión
Si la base de conocimientos no ofrece una respuesta satisfactoria, el nodo puede utilizar la herramienta browser.webSearch para buscar información adicional en Internet.
4. Enviar mensaje
Una vez que la respuesta está lista, el nodo utiliza chat.sendText para responder al usuario con la información pertinente.
5. Espere la entrada
Tras responder, el nodo utiliza chat.waitForUserInput para esperar más consultas o interacciones del usuario.
Cómo redactar instrucciones
Como se muestra en el ejemplo, unas instrucciones claras son vitales para garantizar que el Nodo Autónomo se comporta correctamente.
La capacidad de decisión de LLMdepende en gran medida de la estructura de las instrucciones.
Aquí tienes 3 buenas prácticas para escribir instrucciones para tu Nodo Autónomo:
1. Sea específico
En lugar de órdenes vagas, utilice un lenguaje explícito que guíe al agente con claridad.
Ejemplo: "Si el usuario dice 'ayuda', envíale una lista predefinida de opciones de ayuda usando 'chat.sendText'".
2. Definir el uso de la herramienta
Indicar explícitamente qué herramienta debe utilizarse y en qué circunstancias.
Ejemplo: "Utilice siempre 'knowledgeAgent.knowledgequery' para responder a preguntas relacionadas con productos".
3. Guiar el flujo
Utilice transiciones y pasos claros para asegurarse de que la conversación fluye en la dirección correcta.
Ejemplo: "Si la base de conocimientos no puede responder, pase a una consulta de búsqueda utilizando 'browser.webSearch'".
Puede encontrar más información en los siguientes enlaces:
- Buenas prácticas de ingeniería rápida con la API OpenAI
- Creación de sistemas con la API ChatGPT
- ChatGPT Ingeniería rápida para desarrolladores
Uso de la sintaxis Markdown
Antes de empezar, es importante hablar de la importancia de utilizar la sintaxis Markdown.
Para crear un aviso estructurado y visualmente claro, es esencial utilizar la sintaxis markdown, como encabezados, viñetas y texto en negrita.
Esta sintaxis ayuda a LLM a reconocer y respetar la jerarquía de las instrucciones, guiándole para diferenciar entre secciones principales, subinstrucciones y ejemplos.
Si le resulta difícil utilizar la sintaxis Markdown, utilice cualquier estructura que le resulte sencilla, siempre que sea clara y jerárquica.
Más información sobre la sintaxis básica de Markdown
Sugerencias útiles
Esta sección contiene una lista de los ejemplos y patrones más comunes que puede utilizar para controlar el comportamiento del Nodo Autónomo.
Estos ejemplos se han extraído de la experiencia práctica y muestran cómo manejar distintos escenarios utilizando instrucciones y herramientas específicas.
Centrarse en el conocimiento interno
Para asegurarse de que el nodo distingue entre preguntas de soporte y otros tipos de consultas (como precios o características), puede guiarlo de la siguiente manera:
**Proceso general IMPORTANTE**
- La herramienta knowledgeAgent.knowledgequery debe utilizarse únicamente para preguntas relacionadas con el soporte y NO para preguntas generales sobre características o precios.
- La herramienta browser.websearch debe utilizarse SÓLO para preguntas relacionadas con el soporte y NO para preguntas generales sobre características o precios.
Este aviso garantiza que LLM se limite a utilizar herramientas específicas sólo en el contexto de consultas relacionadas con la asistencia, manteniendo el control sobre el tipo de información que recupera.
Nodo de transición a un subflujo
A veces, quieres que el bot salga del Nodo Autónomo hacia un sub-flujo.
Digamos que quieres que tu bot recoja el correo electrónico de un usuario y luego busque más información sobre ese correo electrónico en otros sistemas para enriquecer la información de contacto.
En ese caso, puede que necesites que el bot salga del bucle del Nodo Autónomo y se adentre en un subflujo que contenga muchos pasos/sistemas para enriquecer ese contacto:
Cuando el usuario desea más información sobre un correo electrónico, acude a la herramienta de transición.
Esta instrucción indica al nodo que invoque la herramienta workflow.transition siempre que el usuario solicite más detalles sobre los correos electrónicos, dirigiendo el flujo de la conversación en consecuencia.
Rellenar una variable y realizar una acción
Para escenarios en los que quieras que el nodo capture la entrada y active una acción simultáneamente, puedes indicarlo así:
Cuando el usuario desee más información sobre un correo electrónico, vaya a la herramienta de transición y rellene la variable "correo electrónico" con el correo electrónico por el que pregunta el usuario.
Aquí, usted guía al Nodo no sólo para activar la transición, sino también para extraer y almacenar el correo electrónico del usuario en una variable, permitiendo un comportamiento dinámico más adelante en la conversación.
Manipulación de la respuesta en función de una condición
A veces, querrá que el nodo realice una lógica adicional basada en condiciones. He aquí un ejemplo de solicitud relacionada con el suministro de enlaces de vídeo:
Si el usuario selecciona "1", diga algo como "gracias" y, a continuación, utilice la herramienta de transición.
Este aviso ayuda al nodo a entender la estructura esperada de un enlace de vídeo y cómo modificarla cuando el usuario pide referirse a un punto específico del vídeo.
Ejemplo de uso de una plantilla para enlaces de vídeo
Puede aclarar aún más la consulta proporcionando un ejemplo real de cómo debe comportarse el sistema al responder a una solicitud de enlaces de vídeo por parte de un usuario:
**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}}"""
De este modo, el nodo recibe una orientación clara sobre cómo generar dinámicamente enlaces de vídeo con marcas de tiempo específicas, lo que garantiza respuestas coherentes y fáciles de usar.
Resolución de problemas y diagnóstico
Al probar el comportamiento del Nodo Autónomo en el emulador, es importante diagnosticar lo que está ocurriendo bajo el capó. ¿Cómo toma decisiones el Nodo?
Así es como puedes solucionar problemas e inspeccionar el proceso de pensamiento y el rendimiento del Nodo.
Tres formas de solucionar problemas
1. Inspeccionar la mente del nodo
Haciendo clic en Inspeccionar, puede echar un vistazo al estado interno del Nodo Autónomo y comprender qué está procesando LLM . Al inspeccionar, puedes ver:
- Qué instrucciones prioriza el nodo
- Cómo interpreta tu mensaje
- Tanto si se atiene a las limitaciones e instrucciones que le proporcionó
Si observa que el nodo no responde correctamente o parece ignorar ciertas instrucciones, la inspección le revelará si ha entendido mal la indicación o si no ha ejecutado una herramienta específica.
2. Marque la pestaña Herramientas
La sección Herramientas muestra todas las herramientas disponibles que el Nodo Autónomo puede aprovechar. Cada vez que añada una nueva tarjeta o realice un cambio en la configuración del nodo, se actualizará la lista de Herramientas.
- Asegúrese de que las herramientas enumeradas coinciden con lo que espera que esté disponible en el proceso de toma de decisiones del nodo.
- Asegúrese de que los nombres de las herramientas están escritos correctamente en su prompt para garantizar que el nodo puede ejecutar correctamente la acción especificada.
3. Compruebe la pestaña Iteraciones
Normalmente, el Nodo Autónomo intenta ejecutar todas las instrucciones en una o dos iteraciones. El número de iteraciones depende de la complejidad de la instrucción y de cómo la analice el Nodo.
Para tareas más complejas, el nodo puede necesitar varias iteraciones para recopilar datos, tomar decisiones o buscar información externa.
Si revisa la pestaña Iteraciones (o la pestaña Todas), podrá comprenderlo:
- Cuántas iteraciones fueron necesarias para que el nodo llegara a su decisión final.
- Lo que causó que el nodo tomara múltiples pasos (por ejemplo, obtener datos adicionales de herramientas como knowledgeAgent.knowledgequery o browser.webSearch).
- Por qué se ha conseguido un resultado concreto.
Problemas comunes
Tamaño del modelo
El Nodo Autónomo podría no estar siguiendo su indicación, ejecutando parte de la indicación en lugar de toda, o llamando al "workflowQueue" sin llamar a las herramientas "workflowExecuteAll".
Tiene sentido cambiar siempre el tamaño del Nodo Autónomo LLM a un modelo más pequeño -porque es más barato-, pero eso tiene un coste.
Un LLM más pequeño podría dar lugar a que se truncaran partes del prompt, concretamente la envoltura de definición que Botpress añade para asegurarse de que LLM entiende cómo funcionan las tarjetas, qué parámetros son necesarios, etc. Sin esto, el bot no sabría cómo actuar correctamente.
Versión LLMz
Asegúrate siempre de que estás utilizando la última versión estable de LLMz. Es el motor autónomo que dirige el nodo autónomo para que funcione.
También contiene correcciones de errores, lo que hace que las indicaciones sean más agnósticas a LLMs.
Ejemplo: Diagnóstico de la creación de códigos
Digamos que un Nodo Autónomo está generando código pero no está siguiendo el prompt correctamente. Así es como puedes solucionarlo:
- Inspeccionar: Comprueba qué instrucciones sigue el nodo. Comprende correctamente la solicitud de generación de código?
- Herramientas: Compruebe que el nodo tiene acceso a las herramientas necesarias (por ejemplo, herramientas de generación de código o herramientas de consulta de la base de conocimientos). Asegúrese de que el aviso hace referencia explícita a estas herramientas.
- Iteraciones: Mira la pestaña iteraciones para ver cómo el nodo llegó al punto de generar el código. ¿Tomó uno o varios pasos? ¿Consultó primero una base de conocimientos o intentó generar código inmediatamente?
Solución: Si el bot no está generando código correctamente:
- Asegúrese de que la herramienta que se utiliza para la generación de código está correctamente referenciada en el prompt.
- Ajuste las instrucciones para que el nodo sea guiado a seguir pasos específicos, como recuperar primero el conocimiento relevante antes de intentar la generación de código.
Ejemplo de solicitud completa
**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.
Desglose de preguntas
En la imagen de arriba, el usuario ha creado un asistente de inteligencia artificial que responde a las preguntas de los estudiantes sobre cursos educativos.
El ejemplo anterior es una pauta que puede modificarse en función de sus necesidades, pero esta disposición es la que me ha parecido la estructura más eficaz hasta el momento.
Veamos por qué la pregunta está planteada de esta manera:
1. Aviso importante
**IMPORTANTE: La Base de Conocimientos de Consultas debe utilizarse únicamente para preguntas de soporte relacionadas explícitamente con los cursos de los estudiantes, y NO para consultas sobre características generales o precios.
Propósito: Establecer límites sobre cuándo y cómo se debe utilizar la herramienta Base de conocimientos de consultas. Enfatiza que es estrictamente para soporte relacionado con el curso, no para consultas generales sobre características o precios.
Importancia: Ayuda a acotar el alcance del bot, centrando sus respuestas y mejorando la relevancia para los usuarios, sobre todo asegurando que las respuestas se alinean con el contenido educativo.
2. Descripción de funciones
Eres un chatbot de resolución de problemas basado en IA llamado "Asistente XYZ", centrado en proporcionar soporte relacionado con los cursos profesionales ofrecidos por XYZ LMS. Tu objetivo principal es gestionar las consultas de los estudiantes de forma eficiente recuperando información precisa de la base de conocimientos y respondiendo a las preguntas con claridad.
Finalidad: Define el papel de la IA como asistente orientado al apoyo, exponiendo claramente su objetivo principal de resolver las consultas relacionadas con el curso.
Importancia: Asegura que las respuestas del asistente se alinean con su propósito, gestionando las expectativas del usuario y manteniéndose relevante para su dominio (que, en este caso, es XYZ LMS).
3. Tono y lenguaje
- Mantener un comportamiento cortés, profesional y servicial en todo momento.
- Utilizar un lenguaje claro, conciso y apropiado para estudiantes y profesionales de las finanzas y la inversión.
- Garantizar que los datos de los usuarios se manejan de forma segura y confidencial, respetando todas las políticas de protección de datos pertinentes.
- Personalizar las interacciones para mejorar el compromiso y la satisfacción del usuario.
-Reflejar la marca **XYZ** en toda la conversación, garantizando claridad y profesionalidad.
- Evite dar respuestas fuera de la base de conocimientos o buscar información en Internet.
- Si el usuario expresa su frustración, reconozca su preocupación y asegúrele que está aquí para ayudarle.
Finalidad: Orientar al asistente sobre la conducta, el tono y la profesionalidad, manteniendo al mismo tiempo interacciones seguras y que protejan los datos.
Importancia: Establece un tono amistoso y seguro, en consonancia con la marca y las expectativas de los usuarios de un asistente comprensivo y profesional.
4. Flujo de interacción e instrucciones
Saludo y consulta inicial
- Empiece con un saludo amistoso y profesional.
- Anima a los usuarios a hacer preguntas sobre el contenido del curso, los materiales de apoyo u otras cuestiones relacionadas con el curso.
Finalidad: Esta directiva indica al asistente que empiece con un saludo cordial y profesional y anime a los usuarios a hacer preguntas concretas sobre su curso.
Importancia: Establece un punto de entrada atractivo que mejora el compromiso del usuario y ayuda al bot a recopilar detalles para una mejor respuesta.
Recuperación de información y resolución de problemas
- Utilizar la herramienta "Query Knowledge Base" para encontrar respuestas precisas a las preguntas de los estudiantes.
- Proporcione respuestas claras, concisas y útiles para resolver la pregunta del usuario.
- Si la consulta incluye un enlace a un vídeo, utilice la estructura de enlaces de vídeo proporcionada. Para enlazar a un momento específico del vídeo, añada el parámetro "t" para el tiempo deseado (por ejemplo, para la marca de 15 segundos, utilice "t=15").
Finalidad: Instruir al asistente para que aproveche la base de conocimientos para obtener respuestas pertinentes y claras. Además, incluye un enfoque estructurado para compartir recursos de vídeo con enlaces temporales.
Importancia: Permite respuestas eficientes y precisas y una forma estructurada de abordar consultas sobre contenidos específicos, como vídeos, fomentando una experiencia de usuario fluida.
Conclusión
Una vez resuelto el problema, concluye amablemente la interacción y pregunta si hay algo más en lo que puedas ayudar.
Propósito: Guiar al bot sobre cómo terminar las interacciones cortésmente, preguntando si se necesita más ayuda.
Importancia: Mantiene un tono profesional y de apoyo durante toda la interacción y permite a los usuarios seguir participando si es necesario.
5. Instrucciones adicionales
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}}"""
Propósito: Demostrar el formato para enlazar a partes específicas de un video para ayudar a los estudiantes a localizar información precisa.
Importancia: Aporta claridad a la hora de compartir recursos de vídeo, especialmente para contenidos didácticos de duración específica.
*Manejar los casos límite
Si el usuario hace una pregunta general o poco clara, pídele que te dé más detalles para que puedas ofrecerle una solución mejor.
Finalidad: Preparar al asistente para responder a consultas vagas o generales solicitando más detalles a los usuarios.
Importancia: Ayuda a evitar confusiones y garantiza que el asistente pueda responder a las preguntas de los usuarios con la mayor especificidad posible.
Crea un agente de IA hoy mismo
Botpress es una plataforma de agentes de IA totalmente ampliable para empresas.
Nuestra plataforma como servicio (PaaS) de IA conversacional todo en uno permite a las empresas crear, desplegar y supervisar soluciones basadas en LLM.
Aplicados a todos los sectores, casos de uso y procesos empresariales, los proyectos de Botpress son siempre escalables, seguros y acordes con la marca.
Con más de 500.000 usuarios y millones de bots desplegados en todo el mundo, Botpress es la plataforma elegida tanto por empresas como por desarrolladores. Nuestro alto nivel de seguridad y nuestro servicio de atención al cliente garantizan que las empresas estén totalmente equipadas para desplegar agentes de IA de nivel empresarial.
Configurando eficazmente los Nodos Autónomos con las indicaciones y definiciones de herramientas adecuadas, las organizaciones pueden crear agentes inteligentes que gestionen las interacciones de los usuarios de forma autónoma.
Empieza a construir hoy mismo. Es gratis.
Índice
Manténgase al día sobre lo último en agentes de IA
Comparte esto en: