XML 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.
XML Agent
El XML Agent es un componente de inteligencia artificial diseñado para actuar como un director automatizado dentro de tu flujo de trabajo. Su función principal es orquestar la interacción entre un Modelo de Lenguaje (LLM) y herramientas externas, asegurando que la IA siga un formato específico de etiquetas (XML) para razonar, ejecutar acciones y devolver una respuesta final estructurada.
Este componente es ideal para flujos complejos donde necesitas que la IA “piense” paso a paso, use datos de otras fuentes y devuelva una respuesta clara basada en el análisis realizado.
¿Cómo funciona?
El agente funciona mediante un ciclo iterativo de “pensamiento y acción”:
- Ingreso de Instrucciones: Recibe una pregunta o tarea del usuario y un modelo de lenguaje (LLM) para procesarla.
- Razonamiento: El modelo analiza la tarea y decide si necesita usar una herramienta externa para obtener información.
- Ejecución de Herramientas: Si es necesario, el agente genera comandos siguiendo un formato estricto de etiquetas (
<tool>,<tool_input>) para llamar a las herramientas conectadas. - Observación: Recibe el resultado de las herramientas (observación) y lo analiza.
- Respuesta Final: Repite el proceso hasta que considera que tiene toda la información necesaria, momento en el cual devuelve una respuesta final dentro de la etiqueta
<final_answer>.
Es fundamental que la comunicación entre el modelo y las herramientas respete este esquema XML para evitar errores.
Entradas
Los siguientes campos están disponibles para configurar este componente.
- Model: (Obligatorio) El modelo de lenguaje que procesará las instrucciones, razonará sobre las observaciones de las herramientas y generará las respuestas. Es el “cerebro” del agente.
- Tools: Conjunto de herramientas externas que el agente puede utilizar para realizar acciones.
- Prompt: Plantilla de texto que define el comportamiento del agente y las reglas estrictas de formateo XML para el uso de herramientas.
- Input: Entrada de texto principal que se inyectará en la plantilla del agente.
- Max Iterations: Número máximo de veces que el agente puede intentar razonar y ejecutar herramientas antes de detenerse para evitar bucles infinitos.
- Verbose: Opción para mostrar detalles adicionales del proceso de ejecución.
- Disable Streaming: Deshabilita la transmisión en tiempo real de las respuestas del LLM.
- Handle Parse Errors: Configura cómo se manejan los errores de interpretación del formato.
Salidas
Este componente produce resultados dinámicos que puedes conectar a otros nodos de tu flujo de trabajo:
- Agent: Es el objeto ejecutor del agente. Actúa como un procesador iterativo que puedes conectar a otros componentes para que sigan procesando la información generada.
- Response: Contiene el mensaje final generado por el agente, que generalmente incluye la respuesta completa dentro de la etiqueta
<final_answer>.
Ejemplo de Respuesta JSON
A continuación se muestra un ejemplo de cómo se estructuraría la respuesta final de este componente al ejecutarse correctamente: json { “agent_output”: { “output”: “Aquí está la información solicitada basada en el análisis del LLM y las herramientas.”, “source_documents”: [ { “page_content”: “Documento de ejemplo…”, “metadata”: {“source”: “tool_output”} } ] } }
Conectividad
Este componente se conecta lógicamente dentro de tus flujos de Nappai de la siguiente manera:
- Conexión de Entrada: Se conecta principalmente al componente Model (para recibir la inteligencia de base) y a las herramientas externas en Tools.
- Conexión de Salida: La salida Agent suele conectarse a nodos que necesitan recibir la decisión del agente, o directamente a un nodo de visualización para ver el resultado. La salida Response se utiliza cuando necesitas extraer el texto final para pasarlo a otros procesos.
Ejemplo de Uso
Imagina que necesitas crear un flujo para investigar precios de productos en internet y resumirlos.
- Conectas un componente de Model (como GPT-4) al campo Model del XML Agent.
- Conectas una herramienta de Búsqueda en Internet al campo Tools.
- Introduces tu pregunta en la entrada Input (ej: “¿Cuál es el precio actual del modelo X?”).
- El XML Agent procesará la solicitud, buscará la información en la herramienta conectada, leerá el resultado y finalmente devolverá un resumen estructurado en la salida Response.
Notas Importantes
🔒 Tool execution may expose sensitive data 🟡 Any tool connected to the agent can be executed. Verify that the tools do not inadvertently reveal or alter sensitive information. Cualquier herramienta conectada puede ser ejecutada. Verifica que las herramientas no revelen ni alteren información sensible por error.
⚠️ Strict XML formatting required 🟡
The agent expects all responses to be wrapped in specific XML tags (<tool>, <tool_input>, <observation>, <final_answer>). Any deviation can cause errors or misbehavior.
El agente espera que todas las respuestas estén envueltas en etiquetas XML específicas. Cualquier desviación puede causar errores o mal funcionamiento.
⚠️ Prompt customization is hidden by default 🟢 The prompt template is not visible in the main interface. If you want to modify how the agent prompts the LLM, you must enable the hidden field. La plantilla de prompt no es visible en la interfaz principal. Si deseas modificar cómo el agente habla con el LLM, debes activar el campo oculto.
📋 Provide a Language Model 🟢 The component requires you to supply a valid language model. Without an LLM input, the agent cannot generate responses. El componente requiere que proporciones un modelo de lenguaje válido. Sin una entrada de LLM, el agente no puede generar respuestas.
📋 Connect at least one Tool 🟢 The XML Agent will only function if you attach one or more tools. If no tools are provided, the agent cannot perform any actions. El XML Agent solo funcionará si conectas una o más herramientas. Si no se proporcionan herramientas, el agente no puede realizar ninguna acción.
💡 Use clear, concise prompts 🟢 Keep your questions simple and to the point. Complex queries can confuse the agent and lead to incorrect tool usage. Mantén tus preguntas simples y al punto. Las consultas complejas pueden confundir al agente y llevar a un uso incorrecto de las herramientas.
ℹ️ Agent outputs XML-wrapped responses 🟢 The assistant will return replies in XML format. If you expect plain text, you will need to extract the content from the tags or add a post‑processor. El asistente devolverá respuestas en formato XML. Si esperas texto plano, deberás extraer el contenido de las etiquetas o agregar un post-procesador.
Consejos y Mejores Prácticas
- Asegúrate de que tu modelo de lenguaje (LLM) sea potente y esté bien configurado para obtener mejores resultados.
- Verifica que las herramientas que conectas sean relevantes para la tarea, ya que el agente intentará usarlas según lo que le indiques.
- Si encuentras errores de formato, revisa que la plantilla de prompt (
Prompt) no haya sido modificada incorrectamente.
Consideraciones de Seguridad
Privacidad de Datos: Ten cuidado con las herramientas que conectas al agente, ya que pueden ejecutar acciones que afecten datos sensibles. Asegúrate de que las herramientas estén seguras y restringidas para evitar fugas de información.