Deep-dive

Function calling: como fazer um LLM agir, não só responder

Function calling (tool use) é o que transforma um modelo de linguagem de tagarela em agente que executa. Como funciona, como projetar boas ferramentas e os erros que quebram em produção.

22 jul 2026·9 min de leitura·.md

Um modelo de linguagem, sozinho, só sabe fazer uma coisa: gerar texto. Ele é um conversador brilhante e um executor nulo. Pergunte a ele qual o seu saldo bancário e, sem ajuda, ele vai inventar um número convincente — porque gerar texto plausível é literalmente tudo que ele faz. Function calling é a ponte entre esse conversador e o mundo real. É o mecanismo que transforma "IA que fala" em "IA que faz".

Se você quer construir agentes que resolvem — e não chatbots que empurram o cliente pro portal — precisa entender isso a fundo.

O que é, de verdade

Function calling (também chamado de tool use) é a capacidade do modelo de, no meio de uma conversa, decidir que precisa de uma ferramenta externa e pedir para usá-la. O fluxo é este:

  1. Você diz ao modelo quais ferramentas existem (nome, descrição, parâmetros).
  2. Na conversa, o modelo percebe que precisa de uma delas e, em vez de responder texto, devolve uma chamada estruturada: buscar_pedido(id: "123").
  3. O seu código executa essa função de verdade — consulta o banco, chama a API — e devolve o resultado ao modelo.
  4. O modelo usa esse dado real para continuar a conversa: "Seu pedido 123 saiu para entrega hoje."

O ponto que muita gente erra: o LLM não executa nada. Ele só decide o quê chamar e com quais argumentos. Quem executa — e valida — é você. Essa separação é a espinha dorsal de um agente seguro.

Por que isso muda tudo

Sem tools, o teto de um LLM é dar informação genérica e, na pior das hipóteses, alucinar. Com tools, ele passa a operar sobre a realidade do seu negócio: os dados reais do cliente, o estoque real, o pagamento real. A conversa deixa de ser sobre o problema e passa a resolver o problema.

É exatamente essa a diferença que separa um agente de IA de um chatbot. O chatbot diz "para segunda via, acesse o portal". O agente chama gerar_segunda_via(cliente_id), recebe o boleto e manda o PIX na conversa. Mesma pergunta, categorias de software completamente diferentes — e a diferença é function calling bem-feito.

Como projetar boas ferramentas

A qualidade do seu agente depende mais do design das ferramentas do que do modelo. Princípios que eu sigo:

Descrições que o modelo entende. A description de cada ferramenta é um prompt. "Busca informações" é ruim; "Busca o status de entrega de um pedido pelo número do pedido" é bom. O modelo escolhe a ferramenta lendo isso — seja específico.

Parâmetros tipados e mínimos. Peça exatamente o que a função precisa, com tipos claros. Menos parâmetros, menos chance do modelo errar o preenchimento. Enums quando os valores são fixos.

Ferramentas atômicas, não canivetes suíços. Uma ferramenta que faz cinco coisas dependendo de um parâmetro acao confunde o modelo. Prefira abrir_chamado, consultar_chamado, fechar_chamado separados. Cada uma faz uma coisa bem.

Retornos que o modelo consegue usar. Devolva dados estruturados e concisos. Um JSON gigante gasta contexto e confunde. Devolva o essencial para a próxima decisão.

Os erros que quebram em produção

Vi (e cometi) todos estes:

A regra de ouro

Eu resumo assim: o LLM é o cérebro que decide; a camada de ferramentas é o corpo que age com responsabilidade. O cérebro pode divagar, hesitar, até alucinar. O corpo — o seu código — não pode. Ele valida cada intenção, confirma o que é perigoso, executa o que é seguro, e registra tudo.

Function calling é o que faz IA sair da tela e tocar o negócio. Mas é também onde mora o risco. Fazer bem essa camada é a diferença entre um agente que você confia em produção e um que você não deveria ter ligado.


Construo agentes de IA que agem de verdade — com function calling seguro, integrado aos sistemas do negócio. Se você quer sair do chatbot e ter IA que executa, vamos conversar.

Perguntas frequentes

O que é function calling?

Function calling (ou tool use) é a capacidade de um modelo de linguagem decidir chamar funções/APIs externas durante uma conversa. Em vez de só gerar texto, o LLM devolve uma requisição estruturada ('chame buscar_pedido com id=123'), o seu código executa e devolve o resultado, e o modelo continua a conversa com esse dado real. É o que transforma um chatbot em agente que age.

Qual a diferença entre function calling e um agente de IA?

Function calling é o mecanismo; o agente é o sistema. O agente usa function calling como sua 'mão' para agir no mundo — consultar sistemas, criar registros, processar pagamentos — combinado com memória, contexto e lógica de negócio. Sem tools, um agente só conversa.

O LLM executa a função sozinho?

Não. O modelo apenas decide e propõe qual função chamar e com quais argumentos. Quem executa é o seu código, que valida os argumentos, roda a operação e devolve o resultado ao modelo. Essa separação é crucial: o LLM pode alucinar, mas a camada de execução valida e controla.

LS
Escrito por Lucas Silva
Construo produtos de IA em produção — do diagnóstico ao deploy.
Function CallingTool UseLLMAgentes de IAEngenharia de IA

Tem um problema de negócio pra resolver com IA?

Me conta o problema que eu te devolvo um produto rodando de verdade.

Falar comigo

Continue lendo

Guia

Guardrails: como impedir um agente de IA de fazer besteira em produção

Um LLM alucina, obedece a quem manipula e erra com confiança. O guia prático das travas (guardrails) que separam um agente seguro de um acidente esperando pra acontecer.

Guia

MCP (Model Context Protocol): o que é e por que importa pra agentes de IA

O guia direto pra entender o Model Context Protocol: o que resolve, quando usar, e por que ele virou o 'USB-C' que conecta agentes de IA às ferramentas do seu negócio.