GPT-5.6 Lunaをサブエージェントで使えなかった場合の回避策

閉じた門を避けて月へ向かう別ルートを描いたイラスト

GPT-5.6 Lunaを、Codexのサブエージェントとして使ってみようとしました。ところが、GPT-5.6 SOLで始めたプロジェクトからLunaを指定しようとすると、候補に出てこない、または起動できない状態になりました。

最初は「親エージェントがSOLだから、Lunaを子エージェントにできないのでは」と考えました。しかし、確認していくと、親子関係よりもサブエージェント機能の候補制限と起動方法が関係していました。この記事では、今回の体験と追加で見つけた回避策をもとに、Lunaを使う方法を整理します。

情報は2026年8月1日時点のものです。モデルの候補や利用条件は、クライアント・アカウント・ワークスペースによって変わる可能性があります。

結論:Lunaが使えないのではなく、入口が違った

GPT-5.6 SOLで始めたプロジェクトでも、本来はLunaを別のエージェントとして使える設計があります。ただし、今回の実行環境ではmulti-agent v2のサブエージェント候補がSOLとTerraに限定されており、そこからLunaを直接指定できませんでした。

Codex showing that Luna is not available among the current subagent model choices
今回の環境で表示されたサブエージェントのモデル候補

この整理のきっかけになったのが、Codexでの確認結果と、Lunaのスレッド起動を紹介していた投稿です。投稿をそのまま紹介するのではなく、今回の環境で確認できた挙動と合わせて整理しています。

ここで重要なのは、次の2つを分けて考えることです。

  • 親と子で違うモデルを使えるか
  • いまのCodexクライアントやアカウントでLunaがサブエージェント候補として公開されているか

親がSOLだから必ずLunaを使えない、という話ではありません。候補に出る機能と、スレッドとして別タスクを作る機能は別の入口です。

今回の記事で使う「スレッド」方式

今回紹介する回避策は、Lunaをサブエージェントとして起動するのではなく、Lunaをメインモデルにした別のスレッドとして開く方法です。この記事でいうタスクは新規チャットで始める1つの目的、スレッドはその目的を進める会話の履歴を指します。

サブエージェントは親タスクから一部を委任されたAIですが、別スレッドとして起動したLunaは親の子ではありません。同じプロジェクトを扱う別タスクとして、必要な背景・対象ファイル・完了条件を渡します。

タスク・スレッド・サブエージェントの違いは、別記事で詳しく整理しました。Codexの「タスク」「スレッド」「サブエージェント」を整理。新規チャットから理解する3つの単位

追加で参照した投稿では、Lunaのスレッドにゴールを設定し、サイドバーから進捗を確認する流れも紹介されています。親から委任するサブエージェントとは別の使い方ですが、モデルを確実に選びたい場合には実用的です。

方法1:カスタムエージェントでLunaを定義する

ローカルのCodexクライアントでモデル設定を細かく指定したい場合は、プロジェクトのルートにカスタムエージェントを作ります。ここでは推論強度をmaxに設定します。

.codex/agents/luna-max.toml
name = "luna_max"
description = "明確に定義された反復的・大量処理を担当する高速サブエージェント。"

model = "gpt-5.6-luna"
model_reasoning_effort = "max"

developer_instructions = """
親エージェントから委任された範囲だけを担当してください。
結果は簡潔にまとめ、判断根拠と参照ファイルを示してください。
親エージェントの作業範囲へ勝手に拡張しないでください。
"""

公式マニュアルでは、カスタムエージェントのmodelmodel_reasoning_effortは親の設定を上書きできると説明されています。Subagentsの公式マニュアルにも、モデルを固定したカスタムエージェントの例があります。

作成後はCodexを再起動するか、新しいタスクを開始して読み込み直します。起動時には、担当範囲・参照ファイル・完了条件を初期メッセージにまとめます。

方法2:Lunaのスレッドを別タスクとして起動する

サブエージェント候補にLunaが出てこない場合は、Lunaをメインモデルにした新しいスレッドを起動する方法が現実的です。これはSOLの子エージェントではなく、同じプロジェクトフォルダを扱う別タスクです。

依頼文は、たとえば次のようにします。

GPT-5.6 Luna、Max reasoningで新しいスレッドを起動してください。
このプロジェクトの次のファイルだけを対象に、依頼した調査を進めてください。
作業のゴールを自分で設定し、完了したら結果・判断根拠・参照ファイルをまとめてください。
メインスレッドから進捗を確認できるよう、途中経過も簡潔に残してください。

この方法では、親スレッドの全履歴を複製するのではなく、必要な背景だけを渡します。LunaをMax reasoningで確実に使いたいという目的には、サブエージェントとして無理に起動するよりわかりやすい場合があります。

フル履歴を引き継ぐ起動方法に注意

今回つまずいたもう1つの理由は、親タスクの履歴をそのまま継承する起動方法でした。この環境では、フル履歴を継承するサブエージェントが親のモデルと推論強度を引き継ぎ、SOLからLunaへ切り替えられませんでした。

ただし、これはすべてのCodexクライアントで同じとは限りません。公式マニュアルの説明と、multi-agent v2の実際の候補制限が一致しないこともあります。設定を書いても候補に出ないときは、「モデルが使えない」のか「その起動経路では使えない」のかを切り分ける必要があります。

方法3:既定のサブエージェントモデルを設定する

個別のカスタムエージェントではなく、指定のないサブエージェントをLunaのMax reasoningへ寄せたい場合は、.codex/config.tomlに次を追加します。

[agents]
enabled = true
default_subagent_model = "gpt-5.6-luna"
default_subagent_reasoning_effort = "max"

これは既定値なので、個別指定やクライアント側の候補制限を無視してLunaを使えるようにする設定ではありません。候補にLunaが公開されていない場合は、スレッド方式の方が現実的です。

それでも使えないときに確認すること

  • 現在のCodexクライアントがLunaをサブエージェント候補として公開しているか
  • ワークスペースや管理者ポリシーでLunaが無効になっていないか
  • アカウントやAPIキーでLunaが利用可能か
  • Lunaがその環境でmaxをサポートしているか

maxだけ拒否される場合は、まずxhigh、それでも使えなければhighへ下げて試します。モデルが使えるかと、推論強度が使えるかは別に確認してください。

まずは読み取り専用の仕事で試す

Luna maxを設定した直後に、大きな変更を丸ごと委任するのはおすすめしません。まずは調査・ファイル一覧の作成・ログの要約など、失敗しても戻しやすい仕事で確認します。

実際に選ばれたモデル・推論強度・スレッドかサブエージェントかをログで確認し、狙った設定で動いていることを確かめてから、書き込みを伴う作業へ広げます。サブエージェントやスレッドを増やすほど、トークンと待ち時間も増えるため、Lunaを使うこと自体を目的にしないことも大切です。

まとめ

GPT-5.6 SOLで始めたプロジェクトでも、Lunaを使う道はあります。ただし、multi-agent v2のサブエージェント候補がSOL・Terraに限定されている環境では、Lunaを直接選べません。

試す順番は、カスタムエージェントの定義・新しいタスクでの読み込み・スレッドとしてLunaを起動する方法・小さな仕事での検証です。特に今回追加で見つけたスレッド方式は、Lunaをメインモデルとして動かしながら、サイドバーで進捗を確認できる実用的な回避策です。

この記事は、GPT-5.6 Lunaをサブエージェントとして使おうとしてうまくいかなかった体験と、Codexへの質問回答、追加で参照したX投稿をもとに整理しました。モデルの提供状況・推論強度・管理者ポリシーは環境によって異なるため、設定例がすべての環境でそのまま使えるとは限りません。

サイト内検索