AI Agent se detiene cuando falla la herramienta

Hola, uso el nodo AI Agent y tengo un problema. Cuando una herramienta no devuelve ningún resultado, el agente completo deja de funcionar. ¿Hay alguna forma de hacer que continúe o que omita esa herramienta en lugar de detener todo el flujo de trabajo?

@Asha_Naon abre el nodo de herramienta que está fallando → pestaña Settings (arriba a la derecha del panel de configuración de la herramienta) → establece On Error en «Continue (Using Error Output)». ahora cuando esa herramienta falle, el agente recibirá el error como respuesta de la herramienta en lugar de que todo el flujo de trabajo se rompa.

en el JSON del nodo se ve así:

{
  "parameters": { },
  "type": "n8n-nodes-base.yourToolNode",
  "typeVersion": 1,
  "position": [600, 300],
  "onError": "continueErrorOutput",
  "name": "Your Tool"
}

después de eso el agente ve algo como «tool returned error: …» y puede buscar una alternativa (disculparse con el usuario, probar una herramienta diferente, etc). ¿cuál es la herramienta que está rota? podría valer la pena ajustar sus entradas también para que no falle en primer lugar

Hola @Asha_Naon

El problema es que el Agente de IA de n8n actualmente trata cualquier fallo de herramienta o resultado vacío como un “colapso fatal”. En lugar de que la IA diga “no encontré nada”, todo el flujo de trabajo simplemente deja de ejecutarse. Desafortunadamente, la configuración estándar de “Continuar en caso de error” no funciona aquí porque el colapso ocurre dentro de la herramienta, no del agente en sí.

La solución más confiable es dejar de usar nodos de herramienta directa y en su lugar usar la herramienta “Llamar flujo de trabajo n8n”. Al poner la lógica de tu herramienta en un sub-flujo de trabajo separado, puedes activar “Continuar en caso de fallo” para los nodos específicos que son inestables. Esto asegura que el sub-flujo de trabajo siempre se complete y envíe algún tipo de respuesta al agente, evitando que el flujo de trabajo principal falle.

Otro truco clave es dejar de permitir que tus herramientas “fallen” en el sentido técnico. En lugar de permitir que un nodo se vuelva rojo y lance un error, configúralo para que devuelva un mensaje exitoso que contenga un “error suave”, como un objeto JSON que diga {"success": false, "error": "No data found"}. Esto engaña a n8n para que piense que la herramienta funcionó perfectamente, mientras que le da a la IA la información real que necesita para saber que la búsqueda falló.

Finalmente, necesitas indicarle a la IA cómo manejar estos “errores suaves” en su Indicación de Sistema. Instruye explícitamente al agente que si ve un mensaje “success: false” o un resultado vacío, no debe rendirse. Dile que intente un término de búsqueda diferente, que intente corregir la entrada o simplemente que le explique la situación al usuario en inglés simple.

gracias @kjooleng @achamm, lo intenté pero parece que no funciona

¿Qué modelo de IA estás usando? A veces, el modelo de IA también juega un papel importante

hola @Asha_Naon , ¡bienvenido a nuestra comunidad! Soy Jay y soy un creador verificado de n8n de Vietnam.

Me encontré con un problema muy similar antes, y en mi caso resultó ser un error en el nodo AI Agent v3.1. Siempre que una de las herramientas fallaba o no devolvía nada, todo el agente simplemente se detenía en lugar de continuar.

Pude solucionarlo degradando el nodo AI Agent a la versión 2.2. Con la v2.2, el agente siguió ejecutándose incluso si algunas llamadas de herramientas fallaban o no producían ningún resultado.

Esta es la forma en que degradé la versión del nodo:

  1. Abre tu workflow y copia el nodo AI Agent.

  2. Pégalo en un editor de texto (VS Code, Notepad, etc.) para que puedas ver el JSON.

  3. Encuentra el campo "typeVersion" para ese nodo y cámbialo de 3.1 a 2.2.

  4. Copia el JSON editado y pégalo de nuevo en n8n para reemplazar el nodo anterior.

Después de eso, el workflow usará AI Agent v2.2 nuevamente, y los fallos de herramientas ya no deberían detener completamente al agente.

Si lo deseas, también puedo compartir un workflow de ejemplo mínimo que reproduzca el comportamiento en la 3.1 y muestre que funciona nuevamente en la 2.2.

O puedes copiar aquí.

muchas gracias, finalmente funcionó

Configurar el nodo de la herramienta On Error a Continue (usando Error Output) es la solución correcta para evitar que todo el agente se bloquee. Aunque hay una cosa más que añadir, porque crea una nueva trampa.

Una vez que la herramienta continúa en caso de error, el fallo se vuelve invisible. El agente lo evita, la ejecución termina en verde, y nunca sabes que la herramienta ha estado fallando cada vez. Así que conecta la salida de error a algo que lo registre: un nodo Set que registre el nombre de la herramienta y el error en una hoja, o una notificación rápida en caso de fallos repetidos. De esa manera, “continue” no se convierte en “silenciosamente roto durante dos semanas”.

También vale la pena investigar por qué la herramienta no devuelve nada en primer lugar, ya que una herramienta que falla en cada ejecución suele ser un problema de entrada o autenticación, no algo que simplemente deba saltarse.