Nodo personalizado que integra el nodo del agente de IA

Hola a todos,

Quiero crear un nodo personalizado que integre el nodo AI Agent existente junto con llamadas HTTP Request a una capa de moderación externa. El objetivo es ejecutar controles de moderación antes de la ejecución del agente mientras sigo reutilizando la funcionalidad existente del nodo AI Agent.

¿Hay una forma recomendada de reutilizar o envolver el nodo AI Agent dentro de un nodo personalizado sin reimplementar la lógica completa del AI Agent?

1 me gusta

Bienvenida a la comunidad de n8n @AlexiaBiancaR

No intentaría envolver o invocar el nodo AI Agent existente desde dentro de un nodo personalizado.

Según tengo entendido, los nodos personalizados están pensados para implementar su propia lógica de ejecución, mientras que el nodo AI Agent es un nodo de flujo de trabajo con su propia estructura de modelo/herramientas conectadas. No creo que haya una API pública compatible para reutilizar los internals completos del AI Agent dentro de otro nodo personalizado.

Una solución más segura sería mantener el AI Agent como un nodo normal en el flujo de trabajo y poner la capa de moderación antes de él. Si necesitas que sea reutilizable, podrías envolver ese patrón en un subflujo de trabajo e invocarlo con Execute Workflow, en lugar de crear un nodo personalizado que intente contener el AI Agent. Entonces usaría el nodo personalizado solo para la llamada de moderación externa si es necesario, y mantendría la orquestación del AI Agent en el flujo de trabajo mismo.

1 me gusta

¡Bienvenido a la comunidad, @AlexiaBiancaR! Realmente te felicito por el caso de uso que estás construyendo aquí.

El consejo de Tamy es muy acertado: el nodo AI Agent de n8n no está diseñado para ser envuelto o invocado programáticamente desde dentro de un nodo personalizado. Su estructura interna depende de sub-nodos conectados (modelo, herramientas, memoria) que están conectados a nivel de flujo de trabajo, no a través de una API invocable.

La arquitectura más limpia para lo que describes es:

  1. Nodo de pre-moderación (tu nodo personalizado o un nodo HTTP Request) - llama a tu API de moderación externa con el mensaje del usuario entrante
  2. Nodo IF - verifica el resultado de la moderación, bloquea o permite
  3. Nodo AI Agent - se ejecuta solo si la entrada pasó la moderación
  4. Post-moderación (opcional) - también puede verificar la salida del agente antes de devolverla al usuario

Si necesitas que todo este pipeline sea reutilizable en varios flujos de trabajo, envolverlo en un sub-flujo de trabajo e invocarlo a través del nodo Execute Workflow es la mejor opción. Eso te da la modularidad que obtendrías de un wrapper de nodo personalizado, sin entrar en conflicto con la arquitectura de n8n.

El nodo personalizado sigue siendo muy útil aquí - solo para la llamada de moderación en sí, en lugar de intentar contener el agente.

¡Espero que esto ayude a aclarar el patrón! Si esta dirección funciona para ti, no dudes en marcar una de las respuestas como Solución.