Pular para o conteúdo principal

Aprovação humana em chamadas de ferramentas de IA (Human-in-the-loop)

Você pode exigir que um agente de IA obtenha aprovação humana antes de executar uma ferramenta específica. Quando uma ferramenta configurada para aprovação humana for acionada, o fluxo de trabalho é pausado e aguarda que um revisor autorizado realize uma das seguintes ações:

  • Aprovar: a ferramenta é executada com os parâmetros fornecidos pela IA.
  • Rejeitar: a operação é cancelada e não é executada.

Essa funcionalidade permite supervisão seletiva sobre as chamadas de ferramentas em fluxos de trabalho de IA, facilitando a aplicação de aprovação humana adicional quando ferramentas forem usadas em operações de alto risco — como enviar mensagens, modificar registros ou excluir dados.

Quando usar aprovação humana

A aprovação humana (HITL – Human-in-the-loop) é especialmente útil nos seguintes cenários:

  • Operações irreversíveis: exclusão de dados, envio de comunicações externas ou realização de compras.
  • Exigências regulatórias: indústrias regulamentadas podem exigir aprovação humana para certas operações automatizadas.
  • Decisões de alto valor: ações com impacto significativo nos negócios se beneficiam da supervisão humana.
  • Construção de confiança em fluxos de trabalho de IA: comece com aprovação humana habilitada e reduza gradualmente à medida que a confiança aumenta.

O HITL pode ser aplicado a todas as ferramentas conectadas a um nó AI Agent ou apenas a ferramentas específicas, oferecendo um controle mais granular do que mecanismos gerais de controle de saída.

Como funciona

  1. O agente de IA determina que precisa usar uma ferramenta com aprovação humana habilitada.
  2. O fluxo de trabalho é pausado e uma solicitação de aprovação é enviada pelo canal configurado (por exemplo, Slack, Telegram ou interface de chat do n8n).
  3. O revisor humano recebe a solicitação, que inclui a ferramenta que a IA deseja usar e seus parâmetros.
  4. O revisor aprova ou rejeita a solicitação.
  5. Se aprovada, a ferramenta é executada com os parâmetros especificados pela IA; se rejeitada, a operação é cancelada e a IA é informada de que a solicitação foi rejeitada.

Canais de aprovação diferentes

A etapa de aprovação pode ocorrer por um canal diferente da interação principal. Por exemplo, um usuário pode interagir com o agente de IA pela interface de chat do n8n, enquanto a solicitação de aprovação é encaminhada para uma pessoa específica no Slack.

Configurando aprovação humana para ferramentas

Passo 1: Abrir o painel de ferramentas

No seu fluxo de trabalho, clique no conector Tools (Ferramentas) do nó AI Agent para abrir o painel de ferramentas.

Passo 2: Adicionar etapa de aprovação humana

  1. No painel de ferramentas, localize a seção Human review (Aprovação humana).
  2. Escolha seu canal de aprovação preferido entre as opções disponíveis.
  3. Configure o canal com as credenciais e configurações apropriadas.

Passo 3: Conectar ferramentas à etapa de aprovação

  1. Adicione as ferramentas que exigem aprovação ao conector de ferramentas da etapa de aprovação humana.
  2. Configure cada ferramenta da forma habitual.

Canais de aprovação disponíveis

Você pode usar qualquer um dos seguintes serviços como canal de aprovação humana:

CanalDescrição
ChatChat interno do n8n
SlackEnvia solicitações de aprovação para canais ou mensagens diretas no Slack
DiscordEnvia solicitações de aprovação para canais no Discord
TelegramEnvia solicitações de aprovação via Telegram
Microsoft TeamsEnvia solicitações de aprovação para canais ou chats no Teams
GmailEnvia solicitações de aprovação por e-mail via Gmail
WhatsApp Business CloudEnvia solicitações de aprovação via WhatsApp
Google ChatEnvia solicitações de aprovação para o Google Chat
Microsoft OutlookEnvia solicitações de aprovação por e-mail via Outlook

Usando expressões em ferramentas com aprovação humana

Variável $tool

Ao configurar a etapa de aprovação humana, você pode usar a variável $tool para construir uma mensagem contextualizada para o revisor, explicando o que a IA está tentando fazer. Essa variável possui dois atributos:

AtributoDescrição
$tool.nameNome da ferramenta que o agente de IA está tentando chamar (ou seja, o nome exibido no canvas do n8n).
$tool.parametersParâmetros que a IA está tentando usar na chamada da ferramenta, incluindo todos os campos definidos no schema de entrada da ferramenta com a expressão $fromAI().

Exemplo de configuração de mensagem:

A IA pretende usar {{ $tool.name }} com os seguintes parâmetros:
{{ $tool.parameters }}

Isso ajuda o revisor a entender claramente a ação proposta antes de aprovar ou rejeitar a solicitação.

Usando $fromAI() em ferramentas com aprovação humana

A função $fromAI() funciona normalmente em ferramentas conectadas a uma etapa de aprovação humana. Isso significa que a IA pode especificar dinamicamente os parâmetros da ferramenta, e esses valores determinados pela IA são exatamente os que o revisor humano vê e aprova.

Melhores práticas para prompts do sistema

Para que o agente de IA compreenda e responda corretamente quando uma chamada de ferramenta for rejeitada, inclua informações sobre a configuração de aprovação humana no seu prompt do sistema.

Necessidade de configurar o prompt do sistema

Certifique-se de incluir no prompt do sistema detalhes sobre as ferramentas configuradas e as etapas de aprovação humana. Isso ajuda a IA a entender quais ferramentas exigem aprovação e como responder de forma adequada quando uma chamada é rejeitada.

Recomenda-se incluir:

  • Quais ferramentas exigem aprovação humana
  • O que acontece quando uma aprovação é rejeitada
  • Como a IA deve responder à rejeição (por exemplo, notificar o usuário, sugerir alternativas ou solicitar esclarecimentos)

Chamadas em cadeia e subagentes

Quando um agente de IA é usado como ferramenta de outro agente de IA, as etapas de aprovação humana no subagente funcionam normalmente.

Recursos relacionados

  • Nó AI Agent
  • Tools Agent
  • O que são ferramentas em IA?
  • Permitir que a IA especifique parâmetros de ferramentas com $fromAI()