📖

O que é Function Calling?

A chamada de funções é uma capacidade dos grandes modelos de linguagem que lhes permite pedir a execução de código externo ou ferramentas através da emissão de argumentos estruturados em vez de gerar texto livre. Liga instruções em linguagem natural a software determinístico, para que um LLM possa interagir de forma fiável com bases de dados, APIs ou outros serviços

A chamada de funções é uma capacidade dos grandes modelos de linguagem que lhes permite pedir a execução de código externo ou ferramentas, emitindo argumentos estruturados em vez de gerar texto livre. Liga instruções em linguagem natural a software determinístico, para que um LLM possa interagir de forma fiável com bases de dados, APIs ou outros serviços. O modelo decide quando é necessária uma função e fornece um payload legível por máquina, enquanto a aplicação que faz a chamada é responsável por executar efetivamente a função e devolver o resultado ao modelo.

Como funciona a chamada de funções

Os programadores registam um conjunto de definições de funções junto do modelo, tipicamente como esquemas JSON que descrevem o nome, o objetivo e os parâmetros de cada função. Quando um utilizador envia um pedido como "Como está o tempo em Tóquio?", o modelo não responde diretamente. Em vez disso, devolve um objeto estruturado — por exemplo, {"name": "get_weather", "arguments": {"city": "Tokyo"}}. A aplicação anfitriã analisa esse objeto, executa a função real (muitas vezes chamando uma API de terceiros) e anexa o resultado à conversa como uma nova mensagem. O LLM converte então esse resultado numa resposta em linguagem natural para o utilizador.

A maioria dos fornecedores expõe o mesmo fluxo através das suas APIs de conclusão de chat. O modelo nunca executa código por si próprio; a chamada de funções é, essencialmente, uma forma disciplinada de fazer com que um modelo de linguagem "fale JSON", para que software determinístico possa operar sobre isso de forma segura.

Porque é importante

Os LLMs são bons a linguagem e raciocínio, mas fracos em aritmética, dados em tempo real e efeitos colaterais. A chamada de funções transforma um modelo de chat na camada de raciocínio de um sistema agêntico: o modelo planeia, as ferramentas executam. Este padrão alimenta assistentes de IA que podem agendar calendários, consultar CRMs, executar SQL, chamar microsserviços internos ou acionar ações robóticas, tudo isto enquanto o programador mantém controlo apertado sobre que código é efetivamente executado. Também reduz drasticamente as alucinações em consultas factuais, porque as respostas são fundamentadas em resultados reais de ferramentas e não na memória paramétrica do modelo.

Principais tipos de padrões de chamada de funções

  • Uso de ferramenta pontual: o modelo chama uma função por turno, como uma calculadora ou uma pesquisa na web.
  • Chamadas paralelas: o modelo pede várias funções independentes numa só resposta, útil para obter dados de várias fontes em simultâneo.
  • Ciclos multi-passo / agênticos: a aplicação devolve os resultados das ferramentas em loop até o modelo decidir que não são necessárias mais chamadas, permitindo cadeias de ações.
  • Decoding restringido: técnicas que forçam a saída token a token do modelo a respeitar um esquema JSON, melhorando a fiabilidade para APIs estritas.

A chamada de funções é agora uma capacidade padrão nos principais fornecedores de modelos e é a base sobre a qual são construídos a maioria dos agentes de IA, copilots e pipelines de recuperação modernos.

Perguntas Frequentes

Is function calling the same as an AI agent?
No, but it is a building block. Function calling is the mechanism that lets a model request tools; an agent is the surrounding system that plans, loops, and decides which tools to call and when to stop. Most agents rely on function calling under the hood.</</a>
Does the language model actually execute the function?
No. The model only proposes a function name and arguments. Your application receives the structured request, runs the real code in a controlled environment, and sends the output back to the model for the next turn. This separation is what makes function calling safe.
How is function calling different from standard prompt-based tool use?
Earlier approaches asked the model to "write a function call" as plain text, which required fragile regex parsing. Modern function calling is a first-class API feature where the model emits a schema-conformant JSON object, dramatically improving reliability and reducing parsing errors.
What are common pitfalls when using function calling?
Common issues include ambiguous function descriptions that make the model pick the wrong tool, missing or weakly typed parameters in the schema, and failing to validate arguments before execution. Clear, well-scoped function definitions and schema-constrained decoding help avoid most of these problems.