Tool Calling Explicado: Como Agentes de IA Decidem o Que Fazer


Se você vem acompanhando a evolução dos modelos de linguagem, já deve ter notado uma mudança fundamental: os LLMs deixaram de ser apenas geradores de texto para se tornarem agentes capazes de executar ações no mundo real.
O segredo por trás dessa transformação? Tool calling — o mecanismo que permite que uma IA decida qual ferramenta externa usar e com quais parâmetros.
O que é Tool Calling?
Tool calling (também chamado de function calling) é o mecanismo pelo qual um LLM pode solicitar a execução de funções externas ou APIs como parte da sua resposta. Em vez de simplesmente retornar texto, o modelo pode indicar: "execute esta função específica com estes argumentos específicos".
O ponto mais importante: o modelo não executa a ferramenta. Ele apenas decide qual ferramenta chamar e com quais argumentos. A execução real acontece no seu código — e essa distinção é uma das fontes mais comuns de confusão entre iniciantes.
Na prática, uma tool call significa que o modelo retorna uma resposta estruturada (via function calling), onde content é None e tool_calls contém o nome da função e os argumentos.
Exemplo prático: assistente de clima
Vamos ver um exemplo com a API da OpenAI. Primeiro, definimos a ferramenta:
tools = [{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Obtém o clima atual para uma cidade",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "Nome da cidade"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["city"]
}
}
}]
Ao enviar "Qual é o clima em Atenas agora?" junto com essa definição, o modelo retorna algo como:
ChatCompletionMessage(
content=None,
tool_calls=[{
id='call_abc123',
function=Function(
name='get_current_weather',
arguments='{"city": "Athens"}'
)
}]
)
O código então executa a função de fato (consultando a Open-Meteo API), adiciona o resultado ao histórico de mensagens e envia de volta ao modelo, que gera a resposta final: "Está 29°C em Atenas."
Cenários mais avançados
Múltiplas ferramentas simultâneas
Em aplicações reais, o modelo tem acesso a várias ferramentas e precisa decidir qual usar. Se adicionarmos uma ferramenta de conversão de moedas (usando a API Frankfurter), o modelo automaticamente escolhe convert_currency quando perguntamos "Quanto é 200 USD em EUR?" — preenchendo corretamente amount: 200, from_currency: "USD", to_currency: "EUR".
Chamadas paralelas
Modelos como o GPT-4o podem chamar múltiplas ferramentas em uma única resposta quando a pergunta do usuário exige. Se alguém pergunta "Qual o clima em Atenas e quanto é 100 USD em EUR?", o modelo retorna duas tool calls de uma só vez — get_current_weather e convert_currency — economizando latência.
O loop ReAct (Reason + Act)
Em agentes sofisticados, o ciclo de tool calling executa várias vezes: o modelo usa o resultado de uma chamada para decidir se (e qual) ferramenta chamar em seguida. Esse padrão, conhecido como ReAct loop, permite que agentes lidem com tarefas complexas e multi-etapas de forma autônoma.
Por que isso importa
O que torna o tool calling realmente fascinante é como ele muda a natureza de um LLM. Até agora, um modelo de linguagem era essencialmente uma função input-output sofisticada: texto entra, texto sai. Com tool calling, ganhamos acesso a um segundo canal de saída — um canal que produz ações em vez de palavras.
Isso transforma o LLM de um "oráculo passivo" em um componente ativo dentro de um sistema maior, capaz de consultar bancos de dados, enviar e-mails, controlar dispositivos, fazer cálculos precisos e muito mais. É a peça central que viabiliza os agentes de IA que estão dominando as manchetes — e os investimentos bilionários — em 2026.



