Saltearse al contenido

Tool Calling Agent

⚠️ ADVERTENCIA DE DEPRECACIÓN

Este componente está deprecado y será eliminado en una versión futura de Nappai. Por favor, migra a los componentes alternativos recomendados.

Este componente actúa como un asistente inteligente dentro de tu panel de automatización. Su función principal es tomar tu solicitud, recordar el contexto de conversaciones anteriores y utilizar diferentes herramientas externas (como consultar la fecha actual o buscar información) para resolver tu problema paso a paso. Una vez que analiza la situación, genera una respuesta clara y estructurada que puede ser enviada a otros nodos de tu flujo de trabajo. Está diseñado para funcionar de manera fluida en dashboards visuales, permitiéndote orquestar tareas complejas sin necesidad de escribir código.

¿Cómo funciona?

Internamente, el componente sigue un proceso lógico similar al de un asistente humano: primero lee las instrucciones del sistema y tu mensaje de entrada, verifica si necesita usar herramientas externas para avanzar, ejecuta esas herramientas si es necesario y finalmente redacta la respuesta. Utiliza un motor de lenguaje (LLM) para entender el contexto y tomar decisiones. Además, registra cada paso de ejecución en segundo plano para que puedas auditar el flujo si es necesario. Está optimizado para mantener la coherencia en conversaciones de varios turnos y entregar resultados listos para ser mapeados en nodos posteriores.

Entradas

Los siguientes campos están disponibles para configurar este componente. Cada campo puede estar visible en diferentes operaciones:

  • Chat History: Permite cargar el historial de conversaciones previas para que el agente mantenga el contexto y no pierda el hilo de la interacción.
  • Model [REQUERIDO]: Es el motor de inteligencia artificial principal que se encarga de comprender tus instrucciones, razonar y redactar la respuesta final.
  • Tools: Define qué funciones, APIs o recursos externos puede utilizar el agente para ejecutar acciones concretas.
  • Disable Streaming: Controla si la respuesta se entrega completa al finalizar o si se muestra de forma gradual en tiempo real para mayor interactividad.
  • Early Stopping Method: Determina el criterio que el agente usará para detenerse cuando una tarea no se resuelve en el número esperado de pasos.
  • Executor Name: Asigna un nombre identificable al proceso de ejecución para facilitar su localización y seguimiento dentro del panel.
  • Handle Parse Errors: Indica cómo debe reaccionar el sistema si recibe un formato de datos incorrecto o inesperado durante el procesamiento.
  • Input: Contiene la solicitud o pregunta principal que deseas que el agente procese y responda.
  • Max Iterations: Establece el límite máximo de pasos que el agente dará antes de detenerse, evitando bucles infinitos o consumos excesivos.
  • System Prompt: Instrucciones internas que definen el tono, las reglas de comportamiento y los límites permitidos para el agente.
  • Prompt: Plantilla principal donde se insertan las instrucciones y datos del usuario para generar la respuesta esperada.
  • Verbose: Activa un registro detallado de cada acción interna, útil para auditar cómo se resolvió la tarea o depurar comportamientos inesperados.

Salidas

  • Agent: Tipo de datos: AgentExecutor (método: build_agent) - Representa el flujo de trabajo completo y listo para ser ejecutado en el panel.
  • Response: Tipo de datos: Message (método: message_response) - Contiene la respuesta final generada por el agente después de procesar tu solicitud y aplicar las herramientas necesarias.

Ejemplo de Respuesta JSONjson

{ “text”: “La fecha actual es 24 de mayo de 2024. He revisado tus registros y agendado la reunión para las 10:00 AM con los participantes confirmados.”, “tool_calls”: [ { “tool”: “GetCurrentDatetime”, “result”: “2024-05-24T10:00:00Z” } ], “chat_history_updated”: true }

Conectividad

Este agente está diseñado para integrarse en secuencias lineales o ramificadas de un flujo de automatización. Lógicamente, recibe entradas desde nodos de entrada de datos o de mensajes, y se conecta a nodos de salida, visualización de texto o a otros agentes que necesiten completar una tarea. Su salida de respuesta suele alimentarse directamente en campos de mapeo de siguientes componentes, mientras que su historial actualizado permite mantener conversaciones multi-paso coherentes. En un dashboard de Nappai, es común conectar este componente a nodos de respuesta al usuario, a bases de datos o a herramientas de notificación.

Ejemplo de Uso

Imagina que estás automatizando la generación de reportes diarios. Configuras este componente ingresando una plantilla de prompt que incluye el marcador {input}. Conectas un modelo de lenguaje y activas el historial de chat para que recuerde el contexto del día. Cuando el sistema recibe la solicitud del usuario, el agente consulta automáticamente la fecha actual, aplica las reglas definidas en el sistema prompt y devuelve un mensaje estructurado con el reporte listo. La salida puede conectarse directamente a un nodo de correo o a una tabla de visualización, permitiendo que todo el flujo se ejecute sin intervención manual.

Notas Importantes

🔒 Dangerous Code Execution Enabled 🔴 El componente permite la ejecución de código arbitrario a través de herramientas. Utiliza solo herramientas y datos de confianza, y ten precaución si expones este componente a entradas no verificadas.

⚠️ User Prompt Requires {input} 🟢 El campo de la solicitud del usuario debe incluir el marcador {input}. Si falta, el agente no recibirá tu pregunta y no podrá generar una respuesta.

📋 LLM Must Be Provided 🟢 Debes conectar un modelo de lenguaje base al componente para que funcione. Sin un LLM configurado, el agente no podrá procesar instrucciones ni utilizar herramientas.

💡 Set a Custom System Prompt 🟢 Utiliza el prompt del sistema para guiar el comportamiento del agente (por ejemplo: “Eres un asistente útil”). Personalizar estas instrucciones mejora la claridad y el tono de las respuestas.

💡 Include Relevant Chat History 🟡 Proporcionar los mensajes anteriores en el historial de chat ayuda al agente a mantener el contexto. Esto mejora la coherencia, especialmente en conversaciones con varios pasos.

💡 Automatic GetCurrentDatetime Tool 🟢 El sistema incluye automáticamente una herramienta que proporciona la fecha y hora actual. No necesitas agregarla manualmente, lo que simplifica consultas relacionadas con el tiempo.

⚙️ Enable Streaming for Real-Time Output 🟢 Desmarca la opción “Disable Streaming” para recibir respuestas incrementales desde el modelo en tiempo real. Esto hace que el agente parezca más rápido, especialmente en respuestas largas.

⚙️ Adjust Early Stopping Method 🟡 El método de detención temprana controla cuándo el agente deja de generar. Elige cuidadosamente entre las opciones disponibles para evitar que termine prematuramente o entre en bucles infinitos.

ℹ️ Agent May Stop Early With ‘force’ Method 🟡 Si el método de detención temprana está configurado en ‘force’, el agente se detendrá inmediatamente aunque aún queden acciones pendientes. Esto puede dejar incompletas algunas tareas automatizadas.

Consejos y Mejores Prácticas

  • Verifica siempre que el modelo de lenguaje (LLM) esté correctamente conectado antes de ejecutar tu flujo.
  • Mantén los prompts claros y concisos para mejorar la precisión de las respuestas generadas.
  • Activa el historial de chat cuando necesites que el agente recuerde conversaciones anteriores y mantenga el contexto.
  • Monitoriza los logs o activa el modo “Verbose” solo cuando necesites depurar un comportamiento inesperado, ya que puede aumentar el consumo de recursos.
  • Revisa periódicamente las herramientas conectadas para asegurar que sigan siendo necesarias y funcionales.

Consideraciones de Seguridad

Dado que este componente permite la ejecución de herramientas y código externo, es crucial validar las entradas del usuario y restringir el acceso únicamente a herramientas de confianza. En un entorno de automatización, configura permisos adecuados y evita inyectar datos sensibles sin sanitizarlos. Para flujos empresariales, considera auditar regularmente los logs de ejecución, mantener las credenciales de conexión actualizadas y restringir el uso de este agente a usuarios autorizados. Recuerda que, por estar marcado como obsoleto, se recomienda migrar a versiones más recientes que incluyan mejoras nativas de seguridad y control de acceso.