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.