Bonjour à tous,
Je souhaite créer un nœud personnalisé qui intègre le nœud Agent IA existant avec des appels HTTP Request vers une couche de modération externe. L’objectif est d’exécuter des vérifications de modération avant l’exécution de l’agent tout en réutilisant les fonctionnalités existantes du nœud Agent IA.
Y a-t-il une méthode recommandée pour réutiliser ou wrapper le nœud Agent IA à l’intérieur d’un nœud personnalisé sans réimplémenter la logique complète de l’Agent IA ?
1 « J'aime »
Bienvenue dans la communauté n8n @AlexiaBiancaR
Je ne recommande pas d’essayer d’envelopper ou d’invoquer le nœud AI Agent existant depuis l’intérieur d’un nœud personnalisé.
D’après ce que j’en comprends, les nœuds personnalisés sont censés implémenter leur propre logique d’exécution, tandis que le nœud AI Agent est un nœud de workflow avec sa propre structure de modèles/outils connectés. Je ne pense pas qu’il existe une API publique supportée pour réutiliser l’intégralité des composants internes du nœud AI Agent à l’intérieur d’un autre nœud personnalisé.
Une solution plus sûre serait de conserver le nœud AI Agent comme un nœud normal dans le workflow et de placer la couche de modération avant celui-ci. Si vous avez besoin que cela soit réutilisable, vous pourriez envelopper ce pattern dans un sous-workflow et l’appeler avec Execute Workflow, plutôt que de créer un nœud personnalisé qui tenterait de contenir le nœud AI Agent. Donc j’utiliserais le nœud personnalisé uniquement pour l’appel de modération externe si nécessaire, et je conserverais l’orchestration du nœud AI Agent dans le workflow lui-même.
1 « J'aime »
Bienvenue dans la communauté, @AlexiaBiancaR ! C’est vraiment un super cas d’usage que tu es en train de construire ici.
Les conseils de Tamy sont parfaitement justes : le nœud AI Agent de n8n n’est pas conçu pour être enrobé ou invoqué de manière programmatique depuis l’intérieur d’un nœud personnalisé. Sa structure interne dépend de sous-nœuds connectés (modèle, outils, mémoire) qui sont câblés au niveau du workflow, pas via une API appelable.
L’architecture la plus propre pour ce que tu décris est :
- Nœud de pré-modération (ton nœud personnalisé ou un nœud HTTP Request) - appelle ton API de modération externe avec le message utilisateur entrant
- Nœud IF - vérifie le résultat de la modération, bloque ou autorise
- Nœud AI Agent - s’exécute uniquement si l’entrée a passé la modération
- Post-modération (optionnel) - peut aussi vérifier la sortie de l’agent avant de la renvoyer à l’utilisateur
Si tu as besoin que tout ce pipeline soit réutilisable sur plusieurs workflows, l’enrober dans un sous-workflow et l’appeler via le nœud Execute Workflow est la meilleure solution. Cela te donne la modularité que tu obtiendrais d’un wrapper de nœud personnalisé, sans te battre contre l’architecture de n8n.
Le nœud personnalisé reste très utile ici - juste pour l’appel de modération lui-même plutôt que d’essayer de contenir l’agent.
J’espère que cela clarifi e le pattern ! Si cette direction fonctionne pour toi, n’hésite pas à marquer l’une des réponses comme Solution.