Agente de IA para quando a ferramenta falha

Olá, uso o nó AI Agent e tenho um problema. Quando uma ferramenta não retorna nenhum resultado, o agente inteiro para de executar. Existe uma forma de fazer ele continuar ou pular essa ferramenta em vez de interromper todo o fluxo de trabalho?

@Asha_Naon abra o nó da ferramenta que está falhando → aba Settings (canto superior direito do painel de configuração da ferramenta) → defina On Error para “Continue (Using Error Output)”. agora quando essa ferramenta lançar um erro, o agente receberá o erro como resposta da ferramenta em vez de todo o fluxo de trabalho morrer.

no JSON do nó fica assim:

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

depois disso o agente vê algo como “tool returned error: …” e pode contornar (pedir desculpas ao usuário, tentar uma ferramenta diferente, etc). qual ferramenta é a que está quebrando? pode valer a pena ajustar suas entradas também para que não falhe em primeiro lugar

Olá @Asha_Naon

O problema é que o n8n AI Agent atualmente trata qualquer falha de ferramenta ou resultado vazio como um “travamento fatal”. Em vez da IA dizer “não encontrei nada”, todo o fluxo de trabalho simplesmente para de funcionar. Infelizmente, a configuração padrão “Continuar em Erro” não funciona aqui porque o travamento acontece dentro da ferramenta, não do agente em si.

A solução mais confiável é parar de usar nós de ferramenta diretos e, em vez disso, usar a ferramenta “Chamar Fluxo de Trabalho n8n”. Ao colocar a lógica da sua ferramenta em um sub-fluxo de trabalho separado, você pode ativar “Continuar em Falha” para os nós específicos que são instáveis. Isso garante que o sub-fluxo de trabalho sempre termine e envie algum tipo de resposta de volta ao agente, impedindo que o fluxo de trabalho principal morra.

Outro truque fundamental é parar de deixar suas ferramentas “falharem” no sentido técnico. Em vez de deixar um nó ficar vermelho e lançar um erro, configure-o para retornar uma mensagem bem-sucedida que contenha um “erro suave”, como um objeto JSON dizendo {"success": false, "error": "Nenhum dado encontrado"}. Isso engana o n8n fazendo-o pensar que a ferramenta funcionou perfeitamente, enquanto fornece à IA a informação real de que a busca falhou.

Por fim, você precisa dizer à IA como lidar com esses “erros suaves” no seu System Prompt. Instrua explicitamente o agente que se vir uma mensagem “success: false” ou um resultado vazio, ele não deve desistir. Diga-lhe para tentar um termo de busca diferente, tentar corrigir a entrada ou simplesmente explicar a situação ao usuário em linguagem simples.

obrigado @kjooleng @achamm, tentei mas parece que não funcionou

Qual modelo de IA você está usando? Às vezes, o modelo de IA também desempenha um papel importante

oi @Asha_Naon , bem-vindo à nossa comunidade! Sou Jay e sou criador verificado n8n vietnamita.

Eu tive um problema muito semelhante antes, e no meu caso acabou sendo um bug no nó AI Agent v3.1. Sempre que uma das ferramentas falhava ou não retornava nada, todo o agent simplesmente parava em vez de continuar.

Consegui contornar isso fazendo downgrade do nó AI Agent de volta para a versão 2.2. Com a v2.2, o agent continuava rodando mesmo se algumas chamadas de ferramentas falhassem ou não produzissem nenhuma saída.

Aqui está como fiz o downgrade da versão do nó:

  1. Abra seu workflow e copie o nó AI Agent.

  2. Cole em um editor de texto (VS Code, Notepad, etc.) para que você possa ver o JSON.

  3. Encontre o campo "typeVersion" para esse nó e mude de 3.1 para 2.2.

  4. Copie o JSON editado e cole de volta no n8n para substituir o nó antigo.

Depois disso, o workflow usará novamente AI Agent v2.2, e falhas em ferramentas não devem mais parar completamente o agent.

Se quiser, também posso compartilhar um workflow de exemplo mínimo que reproduz o comportamento na 3.1 e mostra funcionando novamente na 2.2.

Ou você pode copiar aqui.

muito obrigado, finalmente funcionou

Definir o nó da ferramenta On Error como Continue (Usando Error Output) é o ajuste correto para evitar que todo o agente falhe. Mas há uma coisa a adicionar, porque isso cria uma nova armadilha.

Uma vez que a ferramenta continua em caso de erro, a falha fica invisível. O agente contorna isso, a execução termina com sucesso, e você nunca fica sabendo que a ferramenta está falhando todas as vezes. Então conecte a saída de erro a algo que registre: um nó Set registrando o nome da ferramenta e o erro em uma planilha, ou uma notificação rápida em falhas repetidas. Dessa forma, “continuar” não se transforma em “silenciosamente quebrado por duas semanas”.

Vale também a pena corrigir por que a ferramenta não retorna nada em primeiro lugar, já que uma ferramenta que falha em cada execução geralmente é um problema de entrada ou autenticação, não algo para simplesmente ignorar.