IA Lab by amano
Neste termo

Function Calling

Function Calling · Tool Calling · Chamada de Função · Chamada de Ferramenta

Function Calling, também chamado de tool calling, é um mecanismo que permite a um modelo de Inteligência Artificial solicitar o uso de funções ou ferramentas externas por meio de uma saída estruturada. O modelo escolhe uma ferramenta e gera argumentos de acordo com um schema; a aplicação executa a função, devolve o resultado ao modelo e ele pode usar essa informação para responder ou decidir o próximo passo.

agentes, ferramentas, mcp e conectoresnível intermediárioevolução rápidaTexto + visual

Glossário visual · Execução · essencial

Explore o conceito em desenho

Mecanismo pelo qual um modelo produz uma solicitação estruturada para usar uma ferramenta disponibilizada pela aplicação. No fluxo ilustrado, a aplicação valida a solicitação e, quando permitido, executa a ferramenta e fornece o resultado ao modelo.

Ler o texto completo

Quem decide se a consulta de estoque pode ser executada?

O desenho apresenta a primeira etapa. Os dois cenários completos estão disponíveis em texto logo abaixo.

Como lerO modelo propõe uma chamada de ferramenta. A aplicação controla a validação e a execução. Neste exemplo, uma consulta permitida retorna “disponível”; uma consulta negada não executa a ferramenta nem fornece uma situação de estoque.

Etapa 1 de 4

Modelo solicita a ferramenta

A pessoa solicita uma consulta de estoque do ITEM-42. O modelo produz uma chamada estruturada para a ferramenta disponível, com o identificador do item como argumento.

Leia todas as etapas: Consulta permitida com retorno
  1. Modelo solicita a ferramenta. A pessoa solicita uma consulta de estoque do ITEM-42. O modelo produz uma chamada estruturada para a ferramenta disponível, com o identificador do item como argumento.
  2. Aplicação valida o pedido. A aplicação confere a ferramenta solicitada, os argumentos e a permissão para consultar esse estoque. Uma chamada gerada pelo modelo não vale como autorização.
  3. Executar ou bloquear. Com a execução permitida, a aplicação chama a ferramenta e recebe seu retorno. Este cenário assume que a consulta simulada terminou e que o resultado ficou disponível.
  4. Responder com o resultado disponível. A aplicação entrega o resultado ao modelo, que pode formular uma resposta baseada nele. O estoque descrito é o do retorno recebido, sem promessa de atualização permanente. O protótipo não consulta um sistema real.
Leia todas as etapas: Permissão negada
  1. Modelo solicita a ferramenta. A solicitação é a mesma: consultar o estoque do ITEM-42. O modelo pode propor a chamada mesmo quando a aplicação não permitirá executá-la.
  2. Aplicação valida o pedido. A aplicação avalia a permissão e identifica que essa operação não está autorizada. A decisão ocorre fora do texto gerado pelo modelo.
  3. Executar ou bloquear. A aplicação bloqueia a execução. Não há consulta de estoque nem retorno da ferramenta. O estado de bloqueio pode ser repassado ao modelo para orientar a resposta.
  4. Responder com o resultado disponível. O modelo informa que não conseguiu realizar a consulta por falta de permissão. Ele não deve afirmar disponibilidade nem inventar uma quantidade para preencher a ausência de resultado.

Aplicação prática

A chamada conecta a conversa a uma operação controlada.

Um assistente de vendas recebe a pergunta sobre o estoque do ITEM-42. Em vez de depender apenas do que o modelo conhece, a aplicação oferece uma ferramenta de consulta. O modelo produz a solicitação estruturada; a aplicação verifica se ela está correta e autorizada, executa a consulta e devolve o resultado para a continuação da conversa.

A separação de responsabilidades é central: o modelo propõe o uso, a aplicação controla a execução e a ferramenta produz um retorno. Se a permissão for negada, a resposta deve explicar o bloqueio. Uma chamada bem formada não comprova que o sistema foi consultado, e uma resposta fluente não comprova que houve retorno.

Limites do desenho

Solicitar uma ferramenta não é executá-la.

O desenho representa uma ferramenta executada pela aplicação, não todas as modalidades de ferramentas hospedadas por provedores. Validade estrutural não garante que argumentos, permissão ou resultado sejam corretos. A aplicação precisa tratar erros e não deve aceitar como autorização as instruções contidas no retorno da ferramenta. Nenhuma consulta real ocorre neste protótipo.

Três papéis participam da operação.

A solicitação estruturada indica o que o modelo propôs. A aplicação decide se a execução é válida e permitida. A ferramenta realiza a função disponível e produz dados ou um erro.

Modelo solicitaAplicação controlaFerramenta executa
Solicitação
Contém o nome da ferramenta e seus argumentos.
Execução
Depende das regras e dos recursos da aplicação.

O resultado precisa voltar à conversa.

Para formular a resposta com base na consulta, o modelo precisa receber o resultado ou o estado de falha. Um bloqueio comunicado pela aplicação não equivale a dados de estoque devolvidos pela ferramenta.

Retorno da ferramentaContexto da respostaResposta ao usuário
Evidência
É o resultado efetivamente recebido, com suas limitações.
Bloqueio
Deve ser informado sem simular uma consulta bem-sucedida.

Fontes conceituais

Roteiros e cenários: exemplos didáticos. As interações mostram simulações e não executam ações em sistemas externos.

O que é Function Calling?

Function Calling é um mecanismo que permite conectar modelos de Inteligência Artificial a funcionalidades externas.

A OpenAI descreve function calling, também chamado de tool calling, como uma forma de o modelo interagir com sistemas externos e acessar dados que não estão em seu treinamento.

Google Cloud define o recurso como uma ponte entre LLMs e ferramentas como APIs, bancos de dados, CRM e repositórios de documentos.

A ideia central é separar decisão linguística e execução de software: o modelo decide qual capacidade precisa; a aplicação executa essa capacidade.

O modelo não executa a função sozinho

Essa é uma distinção essencial. Em uma integração típica, o modelo não abre diretamente o banco de dados nem executa uma transferência.

Ele retorna uma chamada estruturada contendo o nome da ferramenta e os argumentos necessários.

O código da aplicação recebe essa chamada, valida permissões e parâmetros, executa a função real e devolve o resultado.

O modelo pode então usar o resultado para gerar uma resposta ou escolher outra ação.

Como uma função é definida?

A aplicação descreve cada ferramenta disponível para o modelo.

Normalmente são definidos nome, descrição e parâmetros esperados. JSON Schema é frequentemente usado para representar o formato dos argumentos.

Uma ferramenta de clima pode receber location; uma ferramenta de CRM pode exigir organization_id e action.

Descrições claras ajudam o modelo a selecionar a ferramenta correta.

O fluxo completo

O fluxo começa com uma solicitação do usuário ou objetivo do sistema.

O modelo analisa a tarefa e pode responder diretamente ou emitir uma tool call.

A aplicação executa a função e produz um tool output, que é enviado de volta ao modelo associado à chamada original.

O modelo processa o resultado e pode produzir a resposta final ou solicitar uma nova ferramenta.

Um exemplo simples

Um usuário pergunta: 'qual é o status do pedido 4821?'

O modelo recebe a definição de uma ferramenta consultar_pedido e gera uma chamada com pedido_id igual a 4821.

O backend consulta o sistema de pedidos e retorna que a encomenda saiu para entrega.

O LLM transforma esse resultado estruturado em uma resposta natural ao usuário.

Function Calling e dados atuais

Modelos possuem limites de conhecimento. Ferramentas permitem consultar fontes atualizadas no momento da execução.

Preço, estoque, clima, agenda e status de pedido são exemplos de dados que não deveriam ser inventados pelo modelo.

Function Calling oferece um caminho para buscar esses dados na fonte apropriada.

Isso reduz a dependência de conhecimento paramétrico para informações dinâmicas.

Function Calling e ações

Ferramentas não precisam apenas ler informação. Podem criar, atualizar ou excluir dados e acionar serviços.

Um agente pode criar atividade no CRM, reservar um horário ou emitir um reembolso, se a aplicação oferecer essas funções.

A partir desse ponto, o risco aumenta porque erros deixam de ser apenas textuais.

Ações com efeitos precisam de controles externos ao modelo.

Schemas e modo estrito

Schemas especificam os argumentos que uma função aceita.

Na API atual da OpenAI, strict mode usa Structured Outputs para aumentar a aderência da chamada ao schema e é recomendado quando disponível.

Isso evita muitos erros de formato, mas não garante que o valor semântico esteja correto.

Um campo pode estar perfeitamente válido em JSON e ainda conter um ID inexistente.

Validação continua sendo necessária

Toda chamada deve ser tratada como entrada não confiável até ser validada pela aplicação.

IDs precisam existir, valores precisam estar dentro de limites e o usuário precisa ter permissão para executar a ação.

Regras de negócio críticas devem ser implementadas em código.

O modelo pode decidir pedir uma ação; a aplicação continua responsável por autorizar.

Function Calling e Structured Outputs

Structured Outputs e Function Calling usam estruturas semelhantes, mas servem a objetivos diferentes.

A documentação da OpenAI recomenda function calling quando o modelo precisa interagir com funcionalidades da aplicação.

Quando queremos apenas uma resposta do modelo em JSON conforme um schema, Structured Outputs é mais adequado.

Em outras palavras, um estrutura ação; o outro estrutura resposta.

Function Calling e agentes

Agentes dependem fortemente de ferramentas.

O modelo interpreta o objetivo, chama funções, observa resultados e decide o próximo passo.

Function Calling fornece uma interface precisa entre decisão do modelo e capacidades externas.

Sem ferramentas, um agente ficaria limitado à geração de conteúdo e conhecimento presente no contexto.

Function Calling e MCP

MCP resolve um problema complementar.

Function Calling define como um modelo ou aplicação solicita uma ferramenta estruturada. MCP cria um protocolo padronizado para servidores publicarem ferramentas, recursos e prompts.

Um cliente MCP pode transformar ferramentas remotas em capacidades disponíveis para tool calling.

Isso permite combinar interoperabilidade do MCP com o fluxo de execução de Function Calling.

Disponibilizar centenas de funções em cada requisição pode consumir contexto e dificultar seleção.

Plataformas modernas oferecem estratégias para carregar ferramentas sob demanda.

A documentação atual da OpenAI, por exemplo, possui tool search para modelos compatíveis, permitindo adiar ferramentas raramente usadas.

O princípio geral é apresentar ao modelo apenas as capacidades relevantes para a tarefa quando possível.

Chamadas paralelas e sequenciais

Algumas tarefas permitem chamar ferramentas em paralelo. Outras dependem do resultado anterior.

Consultar clima de três cidades pode ser paralelo. Encontrar um cliente e depois atualizar seu registro é sequencial.

A orquestração precisa respeitar dependências e possíveis efeitos colaterais.

Paralelização pode reduzir latência, mas também aumenta complexidade.

Idempotência e efeitos colaterais

Uma função idempotente pode ser executada novamente sem produzir efeitos indesejados duplicados.

Isso é importante porque sistemas distribuídos podem repetir chamadas após timeout ou erro.

Consultar um pedido é naturalmente idempotente. Cobrar um cartão não é.

Funções com efeitos críticos precisam de chaves de idempotência, confirmação e registro de auditoria.

Human-in-the-loop

Nem toda ação precisa ser executada imediatamente.

O modelo pode preparar uma chamada e a aplicação solicitar aprovação humana antes de prosseguir.

Essa abordagem é importante para pagamentos, mensagens externas, exclusões, contratos e outras ações de impacto.

Autonomia pode variar conforme o risco.

Aplicações por setor

No varejo, function calling conecta assistentes a pedidos, estoque e clientes. Em hospitality, conecta reservas e serviços.

Em vendas, pode consultar CRM e criar atividades. Em arquitetura, pode acessar gestão de projetos, arquivos e tarefas.

Em educação, pode consultar conteúdos e sistemas acadêmicos. Em operações, pode integrar fluxos existentes sem reconstruí-los em linguagem natural.

A ferramenta transforma conversa em interface para software.

Limitações e riscos

O modelo pode selecionar ferramenta errada, omitir argumentos ou interpretar mal a intenção.

Ferramentas podem falhar, demorar ou retornar dados inesperados.

Prompt injection pode tentar induzir chamadas perigosas em agentes conectados a fontes externas.

Segurança depende de menor privilégio, validação, logs, aprovação e desenho de ferramentas claras.

O que muda na prática?

Function Calling é uma das tecnologias que transformam LLMs de geradores de texto em interfaces para sistemas.

A linguagem natural passa a determinar qual função deve ser utilizada, enquanto software tradicional continua executando a operação de forma controlada.

Isso aproxima IA de processos reais sem abandonar APIs, regras e segurança existentes.

O modelo interpreta; a aplicação autoriza e executa.

Perguntas frequentes

O que é Function Calling?

É um mecanismo em que o modelo solicita o uso de uma função externa por meio de nome e argumentos estruturados.

O modelo executa a função diretamente?

Normalmente não. A aplicação recebe a chamada, valida e executa a função e depois devolve o resultado ao modelo.

Function Calling e Tool Calling são a mesma coisa?

Os termos são frequentemente usados como equivalentes, embora Tool Use seja um conceito mais amplo.

Qual é a diferença entre Function Calling e Structured Outputs?

Function Calling estrutura chamadas a ferramentas. Structured Outputs estrutura a resposta produzida pelo modelo.

Qual é a relação entre Function Calling e MCP?

MCP padroniza como ferramentas podem ser publicadas e descobertas; Function Calling é o mecanismo usado para solicitar sua execução.

Function Calling é seguro por padrão?

Não. A aplicação precisa validar argumentos, permissões e efeitos e exigir aprovação para ações de maior risco.

Fontes principais

Revisado em 2026-09-23.