Function Calling / Tool Use
LLM emite JSON estruturado especificando qual ferramenta chamar e com quais argumentos. Host executa.
O quê
Function calling (também tool use) é o padrão pelo qual um LLM declara que precisa chamar uma função externa — uma API, uma busca, um interpretador de código, um banco de dados — e o sistema executa essa chamada, retornando o resultado para o modelo continuar processando. Lançado como feature canônica da API da OpenAI em junho de 2023, virou padrão da indústria em 2024 e fundação de toda arquitetura agente moderna.
A intuição é simples: LLMs não precisam saber tudo — precisam saber quando consultar. Function calling formalizou o protocolo: o modelo gera JSON estruturado dizendo “vou chamar get_weather(city='SP')”, o sistema executa, retorna o resultado, o modelo continua a resposta.
Em Magik LLM Gathering, function-calling é tratado como Technique · Inference · Common, primitiva que torna o LLM dependente de infraestrutura externa — modelo + ferramentas é o que vira agente.
Como funciona
Setup canônico (OpenAI / Anthropic / Google)
Quando você faz a chamada à API, fornece:
- A pergunta do usuário (“Qual o clima em SP?”)
- Uma lista de funções disponíveis em JSON Schema:
{ "name": "get_weather", "description": "Retorna clima atual de uma cidade", "parameters": { "type": "object", "properties": { "city": { "type": "string", "description": "Nome da cidade" } }, "required": ["city"] } }
O modelo então decide entre:
- Responder direto (se não precisa de nenhuma função): texto comum.
- Chamar uma função: emite JSON estruturado:
{ "name": "get_weather", "arguments": { "city": "São Paulo" } }
Seu código:
- Recebe esse JSON.
- Executa
get_weather("São Paulo")(chama API externa). - Devolve o resultado ao modelo via nova mensagem de role
tool. - Modelo continua: “Em São Paulo está 24°C com chuva fraca.”
Padrões modernos
- Parallel tool calling — modelo pede 3 chamadas simultaneamente (preço Bitcoin + clima + horário); seu código executa em paralelo e devolve as 3 respostas.
- Multi-turn tool use — modelo chama tool A, vê resultado, decide chamar tool B baseado no que viu. Loop dinâmico.
- Forced tool use — você força o modelo a chamar uma função específica (
tool_choice: { name: "X" }), útil para extração estruturada. - Streaming tool calls — modelo envia o nome + argumentos em tokens conforme gera; cliente pode começar a preparar antes de receber tudo.
Como o modelo aprende isso
Function calling não é arquitetural — é fine-tuning específico. Os modelos são treinados com:
- SFT em demonstrações de tool use — exemplos curados de conversas com
tool_callno formato correto. - RLHF onde respostas que usam tools corretamente ganham reward.
- Synthetic data scaling — milhões de exemplos sintéticos gerados pelos próprios labs.
Toolformer (Schick et al., 2023, Meta) foi o primeiro a mostrar que LLMs podem aprender a usar tools de forma auto-supervisionada — sem rotulagem humana detalhada.
MCP — Model Context Protocol (Anthropic, 2024)
Em novembro de 2024, Anthropic publicou MCP — padrão aberto que padroniza interfaces entre LLMs e fontes de dados/ferramentas. Em vez de cada provedor de LLM ter seu próprio formato (OpenAI tools vs Claude tools vs Gemini tools), MCP define um servidor que expõe tools/resources/prompts e um cliente (qualquer LLM compatível) que consome. Adoção rapida — Cursor, Zed, vários IDEs e Claude Desktop suportam MCP. Em 2025 virou o “REST das ferramentas de LLM”.
Por que importa
Resolveu a falácia “modelo grande sabe tudo”. Hallucination cai quando o modelo busca em vez de inventar. Function calling estabeleceu padrão: “se precisa de fato, chame uma fonte; se precisa de cálculo, chame calculadora”. Modelos hoje declinam mais — “preciso buscar para responder isso” — em vez de inventar com confiança.
Inaugurou a era dos agentes. Antes de function calling, agentes (sistemas que tomam ações no mundo) eram protótipos frágeis com prompt engineering acrobático. Function calling estandardizou a interface — agentes industriais (Cursor, Devin, Replit Agent, Claude Computer Use) são todos construídos em cima de loops de tool use.
Estabeleceu o paradigma “model + tools = product”. Antes, produto era prompt engineering. Agora, produto é: qual conjunto de tools você fornece + como você curve a interação. Toda startup de AI vertical (jurídica, médica, financeira) entrega valor via tools especializadas mais do que via modelo único.
Habilitou multimodalidade prática. Antes, mostrar imagem para modelo era novidade. Agora, modelo pode chamar analyze_image(url), generate_image(prompt), transcribe_audio(file) — modelos texto puros virtualmente virtualizam multimodalidade via composição de tools.
Forçou padronização e protocolos. MCP virou indústria do próprio Anthropic; Google e OpenAI seguiram com variações compatíveis. Em 2025, virou esperado que qualquer LLM lançado tenha schema clear de tool calling documentado.
Tem implicações de segurança. Modelo com tools pode fazer chamadas reais — comprar coisa, mandar email, executar código. Falhas (alucinação de tool name, argumentos errados, prompt injection via output de tool) podem causar dano real. Sandboxing, confirmação humana, allow-listing de tools viraram engenharia obrigatória.
Estado em 2026
- Function calling é mesa-stakes — qualquer LLM frontier (Claude 3.5/3.7, GPT-4o, Gemini 2.0, Llama 3.3+) tem suporte robusto.
- MCP virou padrão de fato para integração entre LLMs e fontes externas. Centenas de MCP servers públicos disponíveis para Postgres, GitHub, Notion, Slack, Linear, AWS, etc.
- Computer use (Anthropic Claude 3.5 Sonnet, outubro 2024) é evolução natural — em vez de tools estruturadas, o modelo controla mouse/teclado em screenshots. Function calling sobre mundo arbitrário.
- Reasoning models + tool use — o-3, Claude Opus com extended thinking são especialmente bons em decidir quando chamar tools versus quando confiar em conhecimento interno.
- Tool ecosystems crescem: LangChain, LlamaIndex, Composio, Arcade — cada um vende coleção de tools pré-integradas com SDK próprio.
Tratamento de carta — proposta
Function Calling Technique · Inference · Neutral · custo
Inference.
Quando você joga este Construct em um Modelo, ele recebe:
1 ⚡, Tap: Escolha 1 Construct de outro tipo em jogo (em qualquer lado). Ative sua habilidade ativada como se fosse a sua, pagando o custo dela.
“O modelo não precisa saber. Precisa saber quem perguntar.”
A mecânica encena: o modelo (com function calling) pode “chamar” qualquer ferramenta no campo — sua ou do adversário — e executar como se fosse sua. Tool use vira primitiva de composição.
Veja também
RAG — Retrieval-Augmented Generation · MCP — Model Context Protocol · ReAct — Reason + Act · Hallucination · Computer Use
Feito pela Magik LLM Gathering
Isto que você acabou de ler é o nosso trabalho.
A Magik LLM Gathering constrói produtos de IA de verdade — e escreve sobre eles em português, sem hype. Se quiser conversar sobre o seu, deixe seu contato.
Recebido. Vamos te escrever em breve.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. NeurIPS 2023. arXiv:2302.04761.
- OpenAI (2023). Function calling and other API updates. openai.com/blog/function-calling-and-other-api-updates (Jun 13).
- Yao, S. et al. (2023). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023.
- Anthropic (2024). Tool use with Claude. docs.anthropic.com/claude/docs/tool-use.
- Anthropic (2024). Introducing the Model Context Protocol. anthropic.com/news/model-context-protocol.
