Vergleich

OpenAI Decisions API vs Function Calling

Function Calling lässt ein Modell entscheiden, ein Tool aufzurufen, und dessen Argumente bauen. Das Entscheidungsmuster hinter der OpenAI Decisions API — und der decisions-1-Endpoint dieser Seite — beantwortet nur, welche deiner endlichen Optionen zutrifft, mit einer Wahrscheinlichkeit für jede. Wenn die Aufgabe des Modells ist, einen Zweig zu wählen, ist eine der beiden Varianten deutlich weniger Plumbing.

Aktualisiert

Der tatsächliche Unterschied

Bei Function Calling deklarieren Sie Tools, senden die Konversation, erhalten ein tool_calls-Payload, validieren dessen Argumente, führen die Funktion aus und füttern das Ergebnis zurück. Es ist eine Schleife, die fürs Handeln gebaut ist.

Ein Entscheidungs-Call ist ein einziger Roundtrip: Zustand rein, Antwort raus. Kein Tool-Registry, kein Argument-Schema zum Validieren, kein zweiter Call für ein brauchbares Label. Die Antwort enthält bereits den Sieger plus eine Wahrscheinlichkeit pro Option.

Der Function-Calling-Weg

Ein Ticket über Function Calling zu routen heißt, die Antwort in eine Tool-Definition zu verpacken und tool_calls zu parsen. Es funktioniert — und ist das richtige Werkzeug, wenn das Modell tatsächlich Argumente für eine Aktion erzeugen muss.

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

Der Entscheidungsweg

Dieselbe Routing-Aufgabe als choice-Frage: Die Optionen sind in criteria benannt, und die Antwort kommt mit dem siegenden Label, Wahrscheinlichkeiten pro Option und einem Konfidenzwert zurück — bereit zum Schwellen.

Decision-Request

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

Wann welches verwenden

Nutzen Sie Function Calling, wenn das Modell strukturierte Argumente für eine Aktion erzeugen muss — buche dies, frage das ab, fülle diese Felder. Die Ausgabe speist Code, der ausgeführt wird.

Nutzen Sie einen Entscheidungs-Endpoint, wenn die Ausgabe die Eingabe der Aktion ist — welche Queue, welcher Zweig, durchlassen oder halten. Sie bekommen die Verteilung, nicht nur die Wahl, sodass Grenzfälle an einen Menschen gehen statt zu raten.

FAQ

Ist ein Tool mit Enum-Parameter nicht dasselbe?

Im Geiste nah — aber Sie müssen trotzdem die tool_calls-Schicht bauen und parsen, und die Wahl des Modells trägt keine Wahrscheinlichkeiten. Der Entscheidungs-Endpoint liefert die Verteilung — genau das macht Schwellenwerte möglich.

Kann ich nach einer Entscheidung noch eine Aktion ausführen?

Ja — mappen Sie das siegende Label lokal auf Ihre eigene Funktion. Der Entscheidungs-Endpoint wählt; Ihr Code handelt. So bleibt die Modell-Oberfläche minimal.

Ersetzt OpenAIs Decisions API Function Calling?

Unterschiedliche Aufgaben. Function Calling erzeugt Argumente für Tools, die Sie ausführen; eine Decisions API wählt unter endlichen Antworten mit Wahrscheinlichkeiten. Die Ankündigung vom 2026-09-29 beschreibt Letzteres.

Tool-Plumbing überspringen

Eine kostenlose Testentscheidung für neue Besucher — eine choice-Frage stellen und die ganze Verteilung zurückbekommen.