Saltearse al contenido

LanggraphReactAgentV2

El LanggraphReactAgentV2 es un componente avanzado dentro de Nappai diseñado para crear asistentes inteligentes que no solo responden, sino que “piensan” antes de actuar. Basado en el patrón ReAct (Reasoning + Acting), este agente puede dividir una pregunta compleja en pasos lógicos, buscar información en el exterior utilizando herramientas conectadas y devolver una respuesta final precisa.

Es ideal para automatizar procesos que requieren consulta de datos, cálculos o interacciones con otras aplicaciones, permitiendo que el sistema resuelva problemas paso a paso en lugar de depender de una única respuesta genérica.

¿Cómo funciona?

Imagina que le preguntas al agente: “¿Qué ventas hizo nuestro equipo en marzo?”. Un agente normal podría intentar adivinar o no saber qué hacer. El LanggraphReactAgentV2 funciona de la siguiente manera:

  1. Razonamiento (Pensar): El agente lee tu pregunta y decide que necesita datos. “Pienso que debo buscar las ventas de marzo”.
  2. Acción (Hacer): Utiliza una herramienta conectada (como una base de datos o una API) para recuperar esa información específica.
  3. Observación (Ver): Recibe los datos crudos de la herramienta.
  4. Iteración: Si necesita más contexto (por ejemplo, convertir esas ventas a dólares), repite el ciclo de pensar y actuar hasta tener toda la información necesaria.
  5. Respuesta Final: Cuando tiene toda la información, genera la respuesta final para ti.

Este componente utiliza LangGraph, un framework que permite crear flujos de trabajo complejos y estructurados, asegurando que el agente no se pierda ni entre en bucles infinitos.

Conexión y Credenciales

Este componente no requiere configuración de credenciales directas en su interior. Sin embargo, para que sea útil, deberás conectar Tools (Herramientas) desde otros componentes de Nappai (como conectores a Bases de Datos, Gmail, Google Calendar, etc.) para que el agente tenga capacidades de “acción”.

Entradas

Campos de Entrada

A continuación se describen los campos disponibles para configurar este agente. Ten en cuenta que algunos campos son esenciales para el funcionamiento básico, mientras que otros permiten personalizaciones avanzadas.

  • Model: Es el “cerebro” del agente. Selecciona aquí el modelo de lenguaje (LLM) que deseas usar (por ejemplo, GPT-4, Claude, etc.). La calidad de la respuesta depende directamente de este modelo.
  • Tools: Lista de herramientas disponibles para el agente. Conecta aquí nodos que representan acciones externas (ej. buscar en Google, consultar base de datos). Sin herramientas, el agente solo puede generar texto.
  • State custom schema: Permite definir campos personalizados para el estado interno del agente. Usa esto si necesitas que el agente guarde información específica (como un task_id) durante su ejecución. Se proporciona como un esquema JSON.
  • Agent Description: Una descripción breve de lo que hace este agente. Útil si este agente va a ser usado como herramienta por otro agente superior.
  • Agent Name: El nombre interno del executor. Ayuda a identificar el agente en los registros del sistema.
  • Input: El mensaje inicial que inicia la conversación o la tarea.
  • Max Iterations: El número máximo de pasos que el agente puede dar antes de detenerse. Útil para evitar bucles infinitos si el agente no encuentra una solución.
  • Memory top message: Controla cuántos mensajes anteriores el agente recuerda como contexto. Usa -1 para enviar todos los mensajes anteriores.
  • Structured Output Schema: Define un formato JSON específico para la respuesta final. Si lo configuras, el agente deberá responder siguiendo ese esquema (ej. solo devolver nombre y email), lo cual es ideal para automatizaciones posteriores.
  • System Prompt: Instrucciones especiales que le dices al agente sobre cómo debe comportarse (ej. “Siempre responde en inglés”, “Sé muy breve”).
  • Use short term memory: Activa la memoria de corto plazo para que el agente recuerde el estado actual de la conversación paso a paso.
  • Stream: Si activas esta opción, verás la respuesta generarse en tiempo real en lugar de esperar a que termine por completo.
  • User Prompt: Permite insertar un prompt adicional del usuario que guía al agente.
  • Tool Name: El nombre con el que este agente aparecerá si lo usas como herramienta dentro de otro flujo.
  • Tool Description: Explicación de qué hace este agente cuando otro agente lo llama.

Salidas

Este componente produce resultados estructurados que puedes usar en pasos posteriores de tu automatización.

  • Agent: El grafo compilado y listo para ser ejecutado.
  • Response: El mensaje final generado por el agente después de su razonamiento y acciones. Este es el dato principal que probablemente quieras conectar a un nodo de respuesta o base de datos.
  • Tool: Convierte este agente en una herramienta utilizable para otros nodos dentro de la plataforma.

Ejemplo de Respuesta JSON

Si utilizas la opción Structured Output Schema, la salida Response podría tener una estructura como la siguiente: json { “full_name”: “Juan Pérez”, “email”: “juan.perez@ejemplo.com”, “status”: “active” }

Sin esquema definido, la salida será un mensaje de texto libre que contiene la conclusión final tras todas las iteraciones.

Conectividad

Este componente es central en flujos de automatización inteligente.

  • Entradas: Suele conectarse a nodos que proveen Modelos de LLM (como nodos de configuración de OpenAI o Azure) y a nodos de Herramientas (como Google Search, SQL Database, API Calls).
  • Salidas: La salida Response se conecta comúnmente a nodos de respuesta final (como Email o Slack) o a nodos de procesamiento de datos (como Filter o Code) para validar la respuesta del agente.

Ejemplo de Uso

Escenario: Quieres un asistente que verifique el stock de un producto y luego notifique al proveedor si está bajo.

  1. Conecta un nodo de Base de Datos al campo Tools del LanggraphReactAgentV2.
  2. Configura el Model con un modelo potente.
  3. En Input, escribe: “¿Cuál es el stock actual del producto ‘Widget A’?”
  4. El agente pensará, llamará a la base de datos (Tool), leerá el resultado y luego responderá con el número exacto.
  5. Conecta la salida Response a un nodo de Filtro para decidir si se envía una alerta.

Plantillas

[Esta sección se omite ya que no hay plantillas específicas proporcionadas en la información]

Componentes Relacionados

[Esta sección se omite ya que no hay componentes relacionados explícitos en la información]

Notas Importantes

⚠️ Development Release 🔴 This component is marked as a development build. It may contain bugs or incomplete features, so use it with caution and avoid relying on it for production deployments.

📋 Prerequisite Dependency 🟡 Make sure the LanggraphBaseComponentV2 library is installed and properly configured before using this component. Missing dependencies will prevent it from initializing.

💡 Quick Start with Prebuilt Agent 🟢 If you need a ready‑to‑use Langgraph react Agent with minimal setup, this component is ideal. Just provide the standard base inputs and you’ll have a working agent.

ℹ️ Inherited Base Behavior 🟢 The component does not add any new behavior beyond what is defined in LanggraphAgentBaseV2. It simply exposes the same set of inputs and functionality.

⚙️ No Additional Configuration Needed 🟢 Because it uses the base component’s input set, there are no extra configuration parameters to set. Just provide the inputs required by LanggraphAgentBaseV2.

Consejos y Mejores Prácticas

  • Define límites claros: Usa el campo Max Iterations para evitar que el agente gaste demasiado tiempo o recursos buscando información que no encuentra. Un valor inicial de 5 a 10 suele ser suficiente para la mayoría de las tareas simples.
  • Estructura tus salidas: Si el resultado de este agente va a ser usado por otro sistema (por ejemplo, para llenar un formulario), utiliza Structured Output Schema. Esto asegura que los datos lleguen en un formato predecible y fácil de procesar.
  • Prueba con herramientas simples: Antes de conectar herramientas complejas, prueba el agente con herramientas básicas como “Calculadora” o “Search” para entender cómo reacciona el modelo.
  • Monitorea el historial: Si el agente no responde bien, revisa el Memory top message. A veces, demasiada información anterior puede confundir al agente; probar con un número menor de mensajes puede mejorar la precisión.

Consideraciones de Seguridad

Este componente, al poder ejecutar herramientas y acceder a APIs externas, debe usarse con precaución. Asegúrate de que las herramientas conectadas tengan los permisos adecuados y no expongan datos sensibles. Además, al estar en fase de desarrollo (Development Release), vigila atentamente las salidas generadas en entornos de producción hasta que se consolide su estabilidad.