OpenAIは、GPT-5.6 Solの発表で最も実装上重要な変更を、アクセス制限の話題の陰に置いていました。新しいモデルファミリーと並行して、OpenAIは2つの推論制御を導入しています。1つはSolに最も長く考えさせる「max」推論努力、もう1つは「複雑な作業を加速するためにサブエージェントを活用することで、単一のエージェントの枠を超える」とされる「ultra」モードです。特にultraは、単一のモデル呼び出しの設計を変える可能性があります。
まずアクセス状況を整理します。GPT-5.6 Solは現在、OpenAI APIとCodex経由の限定プレビューです。ChatGPTにはまだ搭載されておらず、米国政府によって個別に承認された約20のパートナーに限定されています。つまり、承認済みパートナーでない限り、今日ultraモードを有効にすることはできません。
この記事では、今すぐ使える機能としてではなく、単一のモデル呼び出し内でサブエージェントが動くようになると、エージェント設計、レイテンシー、コスト、テスト戦略がどう変わるかを実装目線で整理します。OpenAIは、ChatGPT、Codex、APIでの一般提供が数週間以内に始まると述べています。
要点
-
max推論努力は、既存の推論努力設定をさらに深くしたものです。単一エージェントが、より長く考えてから回答します。 -
ultraモードは別物です。OpenAIによると、モデルがサブエージェントを活用して複雑な作業を分割します。 - どちらも現時点では一般利用できません。GPT-5.6は政府によって制限されたプレビューで、APIとCodexのみ、ChatGPTには未搭載です。
- Solの出力は100万トークンあたり30ドルです。サブエージェントを使うultraモードは、安価な実行モードではありません。
- ultraは、難易度が高く、並列化できるタスクに限定して検討すべきです。
- 今日できることは、利用可能なモデルでマルチエージェントのオーケストレーションパターンをテストしておくことです。
max 推論努力の使いどころ
OpenAIは以前から、推論モデルに対して「どれくらい深く考えさせるか」を推論努力設定で調整できるようにしていました。GPT-5.6では、その最上位として max が追加されます。
max は、作業の形を変える機能ではありません。モデルは単一のエージェントとして動作し、単一の推論チェーンで回答します。変わるのは、回答前により多くの推論を行う点です。
使うべき場面は、たとえば次のようなケースです。
- 複雑なリファクタリング方針を決める
- 数学的・論理的に重い計画を立てる
- 仕様の矛盾を精査する
- 重要な設計判断を1つの回答にまとめる
逆に、短い分類、単純な要約、定型的なコード生成に max を使うと、コストとレイテンシーだけが増える可能性があります。
概念的には、利用可能になったときの呼び出しは次のような形になります。実際のパラメータ名は正式なAPI仕様に合わせてください。
{
"model": "gpt-5.6-sol",
"messages": [
{
"role": "system",
"content": "あなたはシニアソフトウェアアーキテクトです。"
},
{
"role": "user",
"content": "このモノリスを段階的に分割する移行計画を作成してください。"
}
],
"reasoning_effort": "max"
}
ultra モードが変えるもの
ultra モードは、単に「もっと考える」設定ではありません。OpenAIによると、ultraは「複雑な作業を加速するためにサブエージェントを活用することで、単一のエージェントの枠を超える」ものです。
従来、開発者がマルチエージェント構成を作る場合は、次のような処理を自前で実装していました。
- オーケストレーターがタスクを受け取る
- タスクをサブタスクに分解する
- サブタスクごとに別々のモデル呼び出しを実行する
- 中間結果を収集する
- 最終回答に統合する
- 失敗時のリトライやログを管理する
ultraモードは、このパターンを単一のモデル呼び出しの内部に移します。開発者は1回リクエストを送り、モデル側が分解、サブエージェント実行、統合を行う形です。
より広いファミリー全体の背景については、GPT-5.6 Solの概要で、階層、命名、政府プレビューの制限が整理されています。
実装設計で変わる3つのポイント
1. 接着コードが減る
自前のマルチエージェント実装では、分解、ファンアウト、マージのためのコードが必要です。
const subtasks = await planner.generateSubtasks(userTask);
const results = await Promise.all(
subtasks.map((task) => worker.run(task))
);
const finalAnswer = await merger.combine(results);
ultraモードでは、このような外部オーケストレーションの一部をモデル側に任せられる可能性があります。アプリケーション側は「何を達成したいか」を渡し、分解と統合をモデルに任せる設計になります。
これは、保守するコード量を減らす一方で、モデル内部の挙動に依存する範囲が増えることも意味します。
2. 可視性と制御は下がる
自前のオーケストレーターなら、以下をすべて記録できます。
- 生成されたサブタスク
- 各サブエージェントへの入力
- 各サブエージェントの出力
- リトライ回数
- 失敗したステップ
- 最終統合前の中間状態
ultraモードでは、外から見えるのは基本的に入力と最終出力です。内部でどのように分解されたか、どのサブエージェントがどの判断をしたかは不透明になります。
監査証跡が必要なワークフローでは、引き続き自前のオーケストレーションが有利です。
たとえば次のような用途です。
- 金融・法務・医療などの説明責任が必要な処理
- 本番障害の原因追跡が重要な自動修正エージェント
- 人間のレビュー前に中間成果物を確認したいワークフロー
3. 障害モードが変わる
単一エージェントの失敗は、比較的追いやすいです。入力、出力、ログを見れば、どこで誤ったかを推測できます。
内部サブエージェントを使うモデルでは、失敗の原因が見えにくくなります。
- サブエージェントの1つが誤った前提で進んだのか
- 統合ステップで重要な情報が落ちたのか
- 複数のサブエージェントが重複作業をしたのか
- そもそもタスク分解が不適切だったのか
外部からは常に判断できるとは限りません。
この緊張関係は、すべてのマルチエージェントシステムに存在します。Fugu Ultra versus Fable 5 versus Mythosでは、マルチエージェントオーケストレーターとして設計されたモデルとの比較が解説されており、OpenAIが同じ考え方を単一モデル内に組み込もうとしている点を理解する助けになります。
レイテンシーとコストをどう見積もるか
ultraモードの利点は、サブエージェントが並列に動ける可能性があることです。タスクが独立した複数の作業に分解できるなら、単一エージェントが順番に処理するより速く終わる可能性があります。
ただし、コスト面では慎重に扱う必要があります。
Solはフラッグシップ層で、価格は次のように示されています。
| 種別 | 価格 |
|---|---|
| 入力 | 100万トークンあたり5ドル |
| 出力 | 100万トークンあたり30ドル |
ultraモードで複数のサブエージェントが動く場合、それぞれが推論と出力を生成します。結果として、単一の max 呼び出しよりも多くのトークンを消費する可能性があります。
コストが膨らみやすいケース
- サブエージェントごとに長い出力を生成する
- タスク分解が曖昧で重複作業が発生する
- 並列化できないタスクにultraを使う
- 大きなコンテキストを毎回再送信する
コストを抑えやすいケース
- サブタスクが明確に独立している
- 共通コンテキストをキャッシュできる
- 最終出力の長さを制御できる
- ultraを高価値タスクだけに限定する
GPT-5.6は、最小30分のキャッシュ寿命を持つ明示的なキャッシュブレークポイントをサポートします。キャッシュへの書き込みはキャッシュされていない入力レートの1.25倍、キャッシュからの読み取りは90%のキャッシュ入力割引が適用されます。
大きなシステムプロンプト、固定されたコードベース、長い仕様書などを共有する場合、キャッシュは有効です。ただし、出力トークンのコストは下がりません。ultraモードで最も費用がかかるのは、主にサブエージェントが生成する出力です。
ultraモードを使うべきタスク
ultraモードは、次の条件を満たすタスクに向いています。
- 独立したサブタスクに分解できる
- 並列実行によって時間短縮が期待できる
- 精度や網羅性がコストを正当化する
- 単一エージェントでは見落としが起きやすい
具体例です。
- 多数のファイルにまたがるコードベース変更
- 複数の情報源を比較する調査
- 大きな設計レビュー
- 並列ブランチを持つ複雑なエージェントジョブ
- 科学的・技術的な分析作業
判断基準はシンプルです。
同じタスクを複数の人間の請負業者に分けて同時に進められるなら、ultraモードの価値が出る可能性があります。
ultraモードを避けるべきタスク
次のようなタスクでは、ultraは過剰になりやすいです。
- 短い回答
- 単一ファイルの小さな編集
- 単純な分類
- 逐次的にしか進められない作業
- レイテンシーと予算の制約が強い処理
この場合は、デフォルトの推論努力、または必要に応じて max を選ぶ方が実用的です。
実装上は、タスクの種類ごとにルーティングする設計が現実的です。
function selectReasoningMode(task: Task) {
if (task.isSmall || task.isLatencySensitive) {
return "default";
}
if (task.requiresDeepSingleThreadedReasoning) {
return "max";
}
if (task.isParallelizable && task.isHighValue) {
return "ultra";
}
return "default";
}
正式なAPI仕様が公開されたら、このようなルーティングロジックを実際のパラメータに接続できます。
マルチエージェントのトレンドとして見る
OpenAIが初めて「複数エージェントが協調する」という考え方を提示したわけではありません。他の研究機関やモデルでも、コントローラーが専門家エージェントに委任し、結果を統合する設計はすでに見られます。
新しいのは、パッケージングです。
従来は、開発者が外部でオーケストレーターを組み立てていました。ultraモードでは、そのパターンが単一モデルのモードとして提供されます。
これがうまく機能すれば、一般的なユースケースでは多くの手作りオーケストレーション層が不要になる可能性があります。一方で、不透明でデバッグしにくいままであれば、制御や監査を重視するチームは引き続き独自のオーケストレーションを使うでしょう。
おそらく現実的には、次のような住み分けになります。
| 用途 | 向いている設計 |
|---|---|
| 一般的な複雑タスク | ultraモード |
| 監査が必要な本番ワークフロー | 自前オーケストレーター |
| 小規模・低コスト処理 | デフォルトまたは軽い推論 |
| 単一の難問 | max |
GPT-5.6 Solのベンチマーク分析では、こうしたオーケストレーションの主張をベンチマークがどこまで裏付けているかが整理されています。
今日できる実装準備
ultraモードはまだ一般には実行できません。そのため、今日やるべきことは、利用可能なモデルでオーケストレーションのテストハーネスを準備することです。
Claude Mythos 5、Claude Fable 5、GPT-5.5、Gemini 3.5 Pro、GLM-5.2、Fugu Ultraなど、現時点で利用可能なフロンティアモデルは、OpenAI互換または標準的なチャットエンドポイントを公開しています。
準備しておくべきものは次のとおりです。
- モデル呼び出し用の共通リクエスト定義
- 推論努力などのパラメータを切り替える仕組み
- レイテンシーとトークン使用量の記録
- 出力品質を評価するアサーション
- モデルIDとエンドポイントだけを差し替えられる構成
たとえば、テスト用のリクエスト構造は次のようにしておくと差し替えやすくなります。
{
"provider": "openai-compatible",
"endpoint": "https://api.example.com/v1/chat/completions",
"model": "current-frontier-model",
"messages": [
{
"role": "system",
"content": "あなたはコードレビューを行うシニアエンジニアです。"
},
{
"role": "user",
"content": "この変更が大規模コードベースに与える影響を分析してください。"
}
],
"test_expectations": {
"must_include": [
"リスク",
"影響範囲",
"移行手順"
]
}
}
ここでApidogが役立ちます。モデルAPIに対してリクエストを送信し、モデルが対応している場合は推論努力などのパラメータを設定し、応答を検証し、再利用可能なテストシナリオとして保存できます。
GPT-5.6のプレビューアクセスが許可されたら、同じテスト構成を使い、エンドポイントとモデル識別子を差し替えるだけでSolを評価できます。今日Solを直接テストすることはできませんが、テストハーネスを先に作っておけば、アクセス取得後すぐに比較を始められます。
結論
ultraモードは、GPT-5.6発表の中で最も将来を見据えた変更です。これまでアプリケーションコード側で実装していたオーケストレーションが、単一のモデル呼び出しの内部に移る可能性があります。
ただし、まだ一般利用はできず、利用可能になっても安価なモードではありません。
実装判断はシンプルです。
- 単一の難問に深く取り組ませるなら
max - 並列化できる高価値タスクなら
ultra - 小規模・逐次的・低予算の処理ならデフォルト設定
Solが公開される日に備えるなら、今のうちに利用可能なモデルAPIでテストハーネスを作っておくのが最も実用的です。Apidogを使えば、呼び出し、検証、再利用可能なテストシナリオの準備を今日から始められます。

Top comments (0)