Comparação
OpenAI Decisions API vs Function Calling
Function calling permite que um modelo decida invocar uma ferramenta e construa seus argumentos. O padrão de decisão por trás da OpenAI Decisions API — e o endpoint decisions-1 deste site — apenas responde qual das suas opções finitas se aplica, com uma probabilidade para cada. Se o trabalho do modelo é escolher uma ramificação, uma dessas opções tem bem menos encanamento.
Atualizado
A diferença real
Com function calling você declara ferramentas, envia a conversa, recebe um payload tool_calls, valida seus argumentos, executa a função e devolve o resultado. É um laço projetado para fazer coisas.
Uma chamada de decisão é uma ida e volta: estado entra, resposta sai. Sem registro de ferramentas, sem esquema de argumentos para validar, sem segunda chamada para obter um rótulo utilizável. A resposta já contém o vencedor mais uma probabilidade por opção.
O caminho do function calling
Rotear um ticket via function calling significa embrulhar a resposta numa definição de ferramenta e parsear tool_calls. Funciona — e é a ferramenta certa quando o modelo realmente precisa produzir argumentos para uma ação.
Function calling
// Function calling: the model decides to call a tool and
// builds its arguments. You parse tool_calls and execute it.
{
"tools": [{
"type": "function",
"function": {
"name": "route_ticket",
"parameters": {
"type": "object",
"properties": {
"team": { "enum": ["payments", "frontend", "account"] }
}
}
}
}]
}O caminho da decisão
A mesma tarefa de roteamento como pergunta choice: as opções são nomeadas em criteria, e a resposta volta com o rótulo vencedor, probabilidades por opção e um valor de confiança — pronta para receber limiares.
Requisição de decisão
// Decision endpoint: pick among finite answers and get a
// probability per option — no tool plumbing, no arg parsing.
{
"model": "decisions-1",
"state": "The page renders blank in Safari.",
"questions": {
"team": {
"type": "choice",
"instructions": "Which team should own this ticket?",
"criteria": {
"payments": "Checkout or billing.",
"frontend": "Rendering or browser behavior.",
"account": "Login or permissions."
}
}
}
}Quando usar cada um
Use function calling quando o modelo deve produzir argumentos estruturados para uma ação — reserve isto, consulte aquilo, preencha estes campos. A saída alimenta código que executa.
Use um endpoint de decisão quando a saída é a entrada da ação — qual fila, qual ramo, passa ou segura. Você recebe a distribuição, não só a escolha, então casos limítrofes podem ir para um humano em vez de adivinhar.
Perguntas frequentes
Uma ferramenta com parâmetro enum não é a mesma coisa?
Em espírito sim — mas você ainda precisa construir e parsear a camada tool_calls, e a escolha do modelo não carrega probabilidades. O endpoint de decisão retorna a distribuição, que é o que torna possível definir limiares.
Posso executar uma ação depois de uma decisão?
Sim — mapeie o rótulo vencedor para sua própria função localmente. O endpoint de decisão escolhe; seu código executa. Isso mantém a superfície do modelo mínima.
A Decisions API da OpenAI substitui function calling?
Trabalhos diferentes. Function calling produz argumentos para ferramentas que você executa; uma decisions API escolhe entre respostas finitas com probabilidades. O anúncio de 2026-09-29 descreve o segundo.
Pule o encanamento de ferramentas
Uma decisão de teste grátis para novos visitantes — faça uma pergunta choice e receba a distribuição inteira.