DEVELOPER NOTES
Decisions API, October 2026 beta: build a classifier that knows when to hand off
A practical design for typed routing, abstention, error handling, and evaluation after the October 2026 beta.

Documentation snapshot: October 14, 2026. This guide discusses the dated release described below; check the linked official documentation for current API behavior and account availability before implementation.
Not every AI feature needs a conversation. Sometimes the application needs one bounded answer: which queue should receive this ticket? OpenAI's Decisions API entered beta with GPT-6 Luna on October 6, 2026. The official guide describes typed decisions; the changelog provides the release date. Documentation was checked on October 14. I would start with routing, where a human can easily correct a mistake.
Define the labels before the prompt
Suppose the queues are access, billing, and product support. Write what belongs in each and provide boundary examples. “I cannot see my invoice because sign-in fails” could involve two teams. Decide whether the classifier chooses the first blocking issue, allows a review queue, or delegates ambiguity. Otherwise two reviewers can disagree while both think the model is wrong.
Keep the input small: a sanitized issue description and the minimum context needed to route it. Treat text inside the ticket as data, including requests to ignore your rules. Do not include account secrets merely because the model could probably read them.
Separate classification from action
Use the current official SDK example to construct the typed question; beta request schemas can evolve. Then place your own validation layer between its answer and the ticket system. This is application pseudocode, not an undocumented API signature:
allowed = {"access", "billing", "product"}
if refused or choice not in allowed or needs_review:
queue = "human-review"
else:
queue = choice
A confidence value is an input to your decision policy, not a universal probability of correctness. Choose any threshold from measured performance on your own held-out cases. Never let an unavailable response default to the most convenient business action.
Evaluate the expensive mistakes
Build a confusion matrix from reviewed tickets. Look at each label's false positives and misses, not just overall accuracy. If product questions dominate the dataset, predicting product every time can look deceptively good. Include short messages, mixed-language messages, ambiguous requests, refusals, and timeout behavior.
For the first deployment, run in shadow mode: compute the suggested queue while the current process remains authoritative. Compare the suggestion with the reviewed outcome, then enable a reversible subset. Record request identifiers, model configuration, and routing outcome without storing unnecessary message contents.
A typed classifier can reduce parsing work. It does not remove the need for a definition of the task, an uncertainty path, or a person who owns routing failures. Start with one narrow decision and make its mistakes visible before adding more autonomy.
Decisions APIで引き継ぎ先を選ぶ小さな分類器
この記事は2026年10月14日に確認した資料に基づく。以下で紹介するのは、その日付の公開情報だ。実装前に、リンク先の公式資料で現在のAPI仕様とアカウントの利用条件を確認してほしい。
会話ではなく「この問い合わせをどこに送るか」だけ欲しいこともある。Decisions APIは2026年10月6日にGPT-6 Lunaでベータ公開された。型付き判断の公式ガイドを10月14日に確認した。
ラベルを先に決める
例えばaccess、billing、productの担当先を定義する。「ログインできず請求書が見られない」はどこか。最初の障害を優先するのか、人に渡すのかを先に合意する。必要最小限の匿名化済み文章だけ渡す。文章中の「規則を無視して」は命令ではなく入力データだ。
分類と操作を分離する
現在の公式SDK例で質問を作り、回答を検証してからチケットを更新する。次はAPI構文ではなくアプリ側の擬似コードだ。
allowed = {"access", "billing", "product"}
if refused or choice not in allowed or needs_review:
queue = "human-review"
else:
queue = choice
信頼度は常に正解確率になるわけではない。閾値は自分の未使用評価データで決める。拒否、欠落、時間切れを便利な操作に自動変換しない。
重要な間違いを測る
確認済みチケットで混同行列を作り、各ラベルの誤分類と見逃しを見る。多数派だけ選んで全体正解率を高く見せない。短文、多言語、曖昧さ、拒否、失敗も含める。最初は実際の振り分けを変えず提案だけ記録し、人の結果と比べる。合格後に戻せる範囲から有効化する。要求IDと設定と結果を記録し、不要な本文は保存しない。型付き出力でも、定義、保留経路、責任者は必要だ。



