Tool Use
Tool use e a capacidade que permite a um LLM chamar funcoes, APIs, bancos de dados ou servicos externos no meio de uma resposta - buscando dados novos, executando calculos ou tomando acoes no mundo. Em vez de ficar preso aos seus dados de treinamento, um modelo que usa ferramentas consegue alcancar fora de si mesmo quando a tarefa exige.
Tool use e a capacidade que permite a um LLM chamar funcoes, APIs, bancos de dados ou servicos externos no meio de uma resposta - buscando dados novos, executando calculos ou tomando acoes no mundo. Em vez de ficar preso aos seus dados de treinamento, um modelo que usa ferramentas consegue alcancar fora de si mesmo quando a tarefa exige.
Por Que Importa
Um LLM puro tem tres limites rigidos: um knowledge cutoff congelado, nenhum acesso a dados privados e nenhuma capacidade de agir. O tool use remove os tres. Com ferramentas, o mesmo modelo consegue responder "qual e o MRR atual?", enviar um e-mail, reservar um voo, consultar um banco de dados ou executar codigo. O tool use e a base de todo agente de IA moderno, de todo "copilot" e de quase toda aplicacao de LLM em producao acima da camada de chatbot.
Como Funciona
1. Definicoes de ferramentas: quem chama fornece ao modelo uma lista de ferramentas disponiveis, cada uma com um nome, uma descricao e um schema de parametros.
2. O modelo decide chamar: quando a solicitacao do usuario precisa de uma ferramenta, o modelo gera uma chamada de ferramenta estruturada (JSON correspondente ao schema) em vez de texto comum.
3. O runtime executa a ferramenta: seu codigo recebe a chamada da ferramenta, executa a funcao real e retorna o resultado.
4. O resultado volta para o modelo: o modelo ve o resultado como parte do seu contexto e continua a resposta - respondendo ao usuario ou chamando outra ferramenta.
5. Loop ate concluir: tarefas com multiplas ferramentas encadeiam chamadas ate o modelo produzir uma resposta de texto final.
Tool Use vs Function Calling
Os dois termos sao em grande parte intercambiaveis, com uma diferenca sutil:
- Function calling: o enquadramento original - o modelo gera argumentos JSON para uma unica funcao nomeada.
- Tool use: o enquadramento mais amplo - as ferramentas podem ser funcoes, APIs, acoes de computador ou servidores MCP, e o modelo orquestra muitas em sequencia.
A Anthropic usa "tool use", a OpenAI historicamente usava "function calling" e agora diz "tools". Ambos descrevem a mesma capacidade subjacente.
Tipos de Ferramentas
Recuperacao: buscar documentos, pesquisar na web, consultar um banco de dados, consultar um registro.
Computacao: rodar Python, fazer calculos, converter unidades, analisar um arquivo.
Acao: enviar um e-mail, criar um evento de calendario, postar no Slack, atualizar um CRM.
Execucao de codigo: um interpretador em sandbox no qual o modelo pode escrever e executar codigo.
Computer use: clicar, digitar e ler a tela - a ferramenta mais geral.
Modelo para modelo: delegar a outro modelo especializado (por exemplo, geracao de imagem).
Projetando Bons Schemas de Ferramentas
Descricoes claras e curtas: a descricao e como o modelo decide quando chamar. Deixe-a inequivoca.
Tipos de parametro restritos: prefira enums e strings restritas em vez de texto livre - reduz argumentos alucinados.
Idempotente sempre que possivel: se o modelo pode tentar de novo, uma segunda chamada nao deve enviar o e-mail em duplicidade.
Retorne resultados estruturados: devolva JSON ao modelo, nao texto livre - ele raciocina melhor sobre estrutura.
As respostas de erro dizem ao modelo o que fazer: "Erro: cidade nao encontrada, tente uma grafia diferente" e mais util do que "500".
Erros Comuns
Ferramentas demais: acima de cerca de 20-30 ferramentas, os modelos comecam a escolher a errada. Agrupe ferramentas relacionadas ou roteie por uma selecao menor.
Descricoes vagas: "utilitario" nao diz ao modelo quando chamar. Seja especifico.
Sem tratamento de erros: falhas de ferramenta quebram o loop. Sempre retorne um erro estruturado ao qual o modelo possa reagir.
Ignorar a latencia: cada chamada de ferramenta adiciona uma ida e volta. Paralelize chamadas independentes; agrupe em lote sempre que possivel.
Pular as guardrails: ferramentas que tomam acao (enviar e-mail, transferir dinheiro) precisam de human-in-the-loop ou escopo estrito.
Fontes: