Comparaison

OpenAI Decisions API vs Function Calling

Function calling permet à un modèle de décider d'invoquer un outil et de construire ses arguments. Le motif de décision derrière l'OpenAI Decisions API — et l'endpoint decisions-1 de ce site — répond simplement quelle option finie s'applique, avec une probabilité pour chacune. Si le travail du modèle est de choisir une branche, l'un des deux demande beaucoup moins de plomberie.

Mis à jour

La vraie différence

Avec function calling vous déclarez des outils, envoyez la conversation, recevez un payload tool_calls, validez ses arguments, exécutez la fonction et renvoyez le résultat. C'est une boucle conçue pour faire des choses.

Un appel de décision est un aller-retour : état dedans, réponse dehors. Pas de registre d'outils, pas de schéma d'arguments à valider, pas de second appel pour obtenir une étiquette exploitable. La réponse contient déjà le gagnant plus une probabilité par option.

La voie function calling

Router un ticket via function calling, c'est enfermer la réponse dans une définition d'outil et parser tool_calls. Ça marche — et c'est le bon outil quand le modèle doit vraiment produire des arguments pour une action.

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"] }
        }
      }
    }
  }]
}

La voie décision

La même tâche de routage en question choice : les options sont nommées dans criteria, et la réponse revient avec l'étiquette gagnante, les probabilités par option et une valeur de confiance — prête pour les seuils.

Requête de décision

// 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."
      }
    }
  }
}

Quand utiliser lequel

Utilisez function calling quand le modèle doit produire des arguments structurés pour une action — réserve ceci, interroge cela, remplis ces champs. La sortie alimente du code qui s'exécute.

Utilisez un endpoint de décision quand la sortie est l'entrée de l'action — quelle file, quelle branche, passer ou retenir. Vous obtenez la distribution, pas seulement le choix, donc les cas limites peuvent aller à un humain plutôt qu'à une devinette.

FAQ

Un outil avec un paramètre enum, ce n'est pas pareil ?

Dans l'esprit si — mais il faut toujours construire et parser la couche tool_calls, et le choix du modèle ne porte pas de probabilités. L'endpoint de décision renvoie la distribution, ce qui rend le seuillage possible.

Puis-je exécuter une action après une décision ?

Oui — mappez l'étiquette gagnante à votre propre fonction en local. L'endpoint de décision choisit ; votre code exécute. La surface du modèle reste minimale.

La Decisions API d'OpenAI remplace-t-elle function calling ?

Des travaux différents. Function calling produit des arguments pour des outils que vous exécutez ; une decisions API choisit parmi des réponses finies avec probabilités. L'annonce du 2026-09-29 décrit le second.

Zappez la plomberie d'outils

Deux décisions d'essai gratuites pour les nouveaux visiteurs — posez une question choice et recevez toute la distribution.