Aberto a posições de AI Engineer remoto ou híbrido
Competência

Agentes de IA e tool calling: o que aplico em produção

Projeto agentes que operam sistemas reais por meio de ferramentas. Esta página conta como fiz isso no AgendaGo, que está em produção, e no Nux, que ainda está em construção.

Onde a apliquei

O que é tool calling

Em tool calling o modelo não executa nada: ele devolve qual ferramenta quer chamar e com quais parâmetros. Quem valida essa chamada, a executa e devolve o resultado é o sistema, e o ciclo se repete até o modelo responder. Um agente é esse ciclo mais as regras que o limitam.

O que importa no design não é o prompt, e sim o conjunto de ferramentas: o que o modelo pode ler, o que pode propor e o que só uma pessoa pode fazer.

AgendaGo: dois agentes em produção

O assistente do painel tem 21 ferramentas: 11 de leitura, 2 de simulação ou explicação e 8 de proposta. O agente de WhatsApp tem 9: disponibilidade, reserva, horários, endereço, serviços, cobertura, requisitos, nova pergunta e encaminhamento para uma pessoa. Os dois rodam em Edge Functions do Supabase e chamam a OpenAI por HTTP direto, sem SDK, atrás de uma abstração de provedor.

  • Cada turno do assistente tem no máximo 4 rodadas de ferramentas e 700 tokens, além de um teto de gasto por turno e um orçamento mensal por negócio.
  • As execuções podem ser canceladas, e a resposta chega em streaming da Edge até o frontend.

Decisões de design e o que elas custam

  • As ferramentas de proposta nunca escrevem. Elas criam uma proposta com o diff e sua consequência, que expira em 15 minutos, e um clique humano a aplica. Paga-se um passo a mais por mudança; em troca, o modelo não tem um caminho direto até a escrita.
  • Aplicar é protegido no banco de dados, não no prompt: uma função SECURITY DEFINER para o papel admin, com bloqueio de linha e uma etapa atômica.
  • Reservar por WhatsApp passa por três barreiras: o horário sai do motor de disponibilidade no mesmo turno, o cliente não pode ter outra reserva no dia e um trigger do banco bloqueia o overbooking.
  • Um router determinístico responde cerca de 44% das mensagens sem chamar o modelo.
  • O negócio vem do JWT, nunca do modelo, e os parâmetros proibidos são descartados.

Nux: em construção, com o LLM desligado

O Nux é o assistente do painel do Bonuxo e está em construção. Seu agente usa tool calling com 19 ferramentas: 12 de leitura, 5 de confirmação e 2 de confirmação forte. As escritas exigem confirmação humana e respeitam as permissões do usuário. Há no máximo 8 rodadas de ferramentas por turno.

O provedor é intercambiável entre OpenAI e Anthropic, e há tetos de custo por plano e um registro de uso. A camada de LLM está construída e testada, mas desligada em produção; a parte determinística do Nux está ativa para todos os negócios.

Stack relacionado

  • OpenAI
  • Anthropic
  • Supabase Edge Functions
  • WhatsApp Cloud API
  • TypeScript