Tutoriais

Como funciona o function calling em modelos de IA

Resposta rápida

Function calling é o mecanismo pelo qual um modelo de IA, ao processar sua mensagem, decide que a melhor resposta não é texto e sim uma chamada estruturada a uma função externa, descrita por você em um schema JSON com nome, descrição e parâmetros.

Monte o seu agente e veja ele respondendo com as informações do seu negócio.

Criar meu agente de graça Montar é livre, sem cadastro e sem cartão.

O que você vai encontrar neste artigo

· Leitura de 5 min

Function calling em IA: como o modelo decide

Em resumo

  • O modelo escolhe chamar uma função com base na descrição do schema, não no nome dela
  • Ele gera um JSON com os parâmetros; seu código valida e executa a função de verdade
  • A maioria dos erros vem de descrição vaga ou schema mal tipado, não do modelo em si

O que é function calling na prática

Function calling é um formato de saída. Em vez de responder só com texto livre, o modelo pode responder com um bloco estruturado dizendo 'chame a função X com estes parâmetros'. Quem executa a função é sempre o seu código, nunca o modelo — ele só decide quando chamar e com quais dados.

Isso resolve um problema real: modelos de linguagem não sabem a temperatura de hoje, não sabem o saldo de um cliente no seu banco de dados, e não devem inventar esses números. Function calling dá ao modelo um jeito de pedir esse dado a uma fonte confiável em vez de alucinar.

Como o modelo decide chamar uma ferramenta

Na chamada de API, você envia junto com a mensagem do usuário uma lista de ferramentas disponíveis, cada uma com nome, descrição e schema de parâmetros. O modelo lê essa lista como parte do contexto — o texto inteiro que ele processa antes de gerar a resposta.

Durante o treinamento, o modelo aprendeu a reconhecer um padrão: quando a pergunta do usuário 'casa' semanticamente com a descrição de uma ferramenta, a saída de maior probabilidade estatística é o formato de chamada de função, não texto solto. Não existe lógica de decisão separada — é o mesmo mecanismo de previsão de próximo token, só que treinado para preferir esse formato em certos contextos.

O modelo não 'entende' que precisa de dados externos. Ele reconhece um padrão textual e prevê que a resposta mais provável é uma chamada de função, com base em como foi treinado e no que você escreveu na descrição.

Qual é o papel do schema json no function calling

O schema JSON é o contrato entre você e o modelo. Ele define o nome da função, uma descrição em texto livre do que ela faz, e os parâmetros aceitos com tipo (string, número, enum, booleano) e quais são obrigatórios.

A descrição pesa mais do que o nome da função. Um schema com nome buscar_cliente e descrição vaga do tipo 'busca um cliente' funciona pior do que um com descrição detalhada dizendo quando usar a função e o formato esperado de cada campo.

O que colocar num schema bem escrito

  • Descrição que diz quando usar a função, não só o que ela faz
  • Tipos estritos: use enum em vez de string livre sempre que o valor for uma lista fechada
  • Campos obrigatórios marcados como required, nunca deixados implícitos na descrição
  • Exemplos de valor dentro da descrição do parâmetro, quando o formato não é óbvio (data, CPF, telefone)

Onde o function calling costuma dar errado

A maior parte dos bugs em produção não é o modelo 'errando' — é o schema comunicando mal a intenção. Os padrões mais comuns se repetem entre projetos diferentes.

SintomaCausa provável
Modelo chama a função errada entre duas parecidasDescrições muito parecidas ou nomes ambíguos
Parâmetro vem vazio ou inventadoCampo obrigatório sem exemplo de formato na descrição
Modelo chama a função sem precisarDescrição da função soa relevante demais para perguntas genéricas
Modelo nunca chama a função quando deviaDescrição técnica demais, sem linguagem do usuário final
Erro de tipo ao validar o JSON retornadoSchema aceita string onde deveria exigir enum ou número

Como reduzir erro de chamada de função na prática

Trate o schema como parte do produto, não como detalhe de implementação. Reescreva a descrição pensando em como um humano explicaria a função por telefone para outra pessoa, sem jargão de código.

  1. Valide sempre o JSON retornado no seu código antes de executar a função — nunca confie cegamente no formato
  2. Limite o número de ferramentas ativas por chamada; muitas opções parecidas aumentam a chance de confusão
  3. Teste com frases ambíguas de usuário real, não só com o caso ideal que você imaginou ao escrever o schema
  4. Registre os erros de chamada em produção e ajuste a descrição, não o nome da função, quando o erro se repete

Function calling substitui o RAG

Não. São mecanismos diferentes que resolvem problemas diferentes. Function calling busca um dado pontual e estruturado (preço, saldo, status de pedido); RAG busca trechos relevantes dentro de uma base grande de texto não estruturado, como documentos e manuais.

Na prática, os dois convivem no mesmo agente: uma função pode disparar uma busca vetorial e devolver o resultado como parâmetro de retorno. Se sua dúvida é sobre como a IA lê documentos em vez de chamar uma API, vale ler o material sobre RAG separado deste.

Leia também

Perguntas frequentes

Function calling funciona igual em todos os provedores de IA?
O conceito é o mesmo, mas o formato do schema e o nome do campo variam entre OpenAI, Anthropic e Google. Sempre confira a documentação oficial do provedor antes de portar um schema de um para outro.
O modelo pode chamar mais de uma função na mesma resposta?
Depende do provedor e da versão do modelo. Alguns suportam chamadas paralelas, retornando uma lista de chamadas para seu código executar em sequência ou ao mesmo tempo.
Function calling é a mesma coisa que agente de IA?
Não. Function calling é uma peça técnica; agente é o sistema que usa function calling em loop, decidindo a próxima ação com base no resultado da anterior.
Preciso pagar mais para usar function calling?
Geralmente não há custo extra pela funcionalidade em si, mas o schema e a resposta da função entram no contexto e contam como tokens. Consulte a página de preços oficial do provedor para entender como isso pesa na conta.
Certu
Automação com IA para o seu negócio