Claude Codeを使って開発していると、ある日突然、作業が止まることがあります。原因はレート制限です。
実装の途中で止まるくらいならまだいいのですが、複数のセッションを並行で動かしていると、ちょうど集中したいタイミングで全体が止まることもある。
自分も最近、この問題を意識するようになりました。
そこで、Claude Codeをやめるのではなく、レート制限されたときだけCodexへ切り替える構成を試しています。
Codex側のモデルには、コスト重視のGPT-5.6 Lunaを使う。
この記事では、既存のClaude用ハーネスを残したまま、CodexとLuna APIを予備エンジンとして用意する方法を整理します。
Claude CodeはClaudeと使用量を共有しています
Anthropicの公式Help Centerによると、ProやMaxの利用量はClaudeとClaude Codeで共有されます。
つまり、Claudeの画面で使った分と、Claude Codeで使った分は別枠ではありません。
Claude Codeだけを使っているつもりでも、同じアカウントの利用状況や、長い会話、添付ファイル、コードベースの大きさなどによって消費量は変わります。
レート制限に当たったときの選択肢は、待つ、上位プランにする、API従量課金へ切り替える、別のモデルを使う、のどれかです。
ここで大事なのは、レート制限は「Claude Codeの性能が落ちた」という話ではなく、「いま契約している利用枠を使い切った」という話だということですね。
Codexは乗り換え先ではなく、予備エンジンにする
Claude Codeを普段使いしているなら、いきなり全部をCodexへ移す必要はありません。
おすすめは、普段の作業環境をClaude Codeのまま残し、レート制限時にだけCodexを起動する運用です。
自分の場合、プロジェクトのルールはCLAUDE.mdにかなり集約されています。
Railsの構成、テストコマンド、フロントエンドの規約、秘密情報の扱い、AWS操作の注意点。これらを全部捨てて、新しいエージェント用に最初から書き直すのは面倒です。
そこで、Codexが最初に読むAGENTS.mdを共通の入口にして、そこから既存のCLAUDE.mdを読ませる構成にしました。
# AGENTS.md
このファイルは、Codexを含むエージェント共通の入口です。
作業開始時に `CLAUDE.md` を最後まで読み、
プロジェクト固有のルールとして従ってください。これだけでも、Claude用に積み上げてきたルールをCodex側へ渡せます。
Codex用に別の世界を作るのではなく、ルールの入口だけ共通化する発想です。
Luna APIは固定サブスクではなく従量課金です
GPT-5.6 Lunaは、OpenAI公式ではコスト重視・高ボリューム向けのモデルとして案内されています。
2026年9月14日時点の公式モデルページでは、標準処理の料金は次のとおりです。
ただし、これは無料という意味ではありません。
APIは入力と出力のトークン数に応じて料金が発生します。長いリポジトリを毎回丸ごと読み込ませたり、会話を無制限に伸ばしたりすれば、安いモデルでも利用量は増えます。
一方で、レート制限時だけ使う非常用なら、実際の使用量は限定できます。
Claudeを毎日使うための固定サブスクリプションと、月に数回だけ使うAPIの従量課金。
この2つは、利用頻度によって向き不向きが変わります。
「Claudeのサブスクを解約すれば必ず得」という話ではありません。
Claudeをほとんど使わず、レート制限時の退避先だけが欲しい人なら、固定費を減らしてAPIの使った分だけ払う形にできる可能性がある、ということです。
最小構成はAPIキーとモデル指定だけです
OpenAI APIを使うために、まずAPIキーを作成します。
APIキーはプロジェクトの環境変数に設定します。
export OPENAI_API_KEY="sk-..."リポジトリの.envに直接書く場合も、Gitにコミットされないことを確認してください。
自分のプロジェクトでは、秘密情報ファイルの中身を表示しないルールをAGENTS.mdとCLAUDE.mdに書いています。
次に、API単体の疎通を確認します。
curl https://api.openai.com/v1/responses \\
-H "Authorization: Bearer $OPENAI_API_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"model": "gpt-5.6-luna",
"input": "このRailsプロジェクトのテスト方針を説明してください。"
}'APIではResponses APIを使い、modelにgpt-5.6-lunaを指定します。
Codex CLIでのモデル指定方法はバージョンによって変わる可能性があるので、まず次を確認します。
codex --helpモデル選択のオプションや、起動後のモデル切り替え方法が表示されるはずです。
ここで重要なのは、APIを直接呼ぶ方法とCodex CLIを使う方法は別だという点です。
APIを直接呼ぶだけなら、ファイル編集やテスト実行は自分のアプリ側で実装する必要があります。
Codex CLIなら、リポジトリを開いて、AGENTS.mdなどのルールを読みながら作業させられます。
レート制限時だけCodexへ切り替える運用
運用はシンプルです。
普段はClaude Codeで作業する。
レート制限に当たったら、同じリポジトリでCodexを起動する。
cd /path/to/your/project
codex最初のプロンプトで、次のように伝えます。
AGENTS.mdとCLAUDE.mdを読み、既存のプロジェクトルールに従ってください。
Claude Codeの作業を引き継ぎます。
まず現在のGit差分と関連テストを確認し、変更はまだ加えずに状況を要約してください。いきなり修正させず、最初に差分とテストを読ませるのがポイントです。
Claude Codeが途中まで変更している場合、Codexがその状態を引き継いで作業できます。
ただし、会話履歴そのものを引き継ぐわけではありません。
必要な前提は、プロンプトかプロジェクト内のメモに残しておく必要があります。
APIにもレート制限はあります
ここは誤解しやすいところです。
CodexとLuna APIへ切り替えれば、Claude側のレート制限からは離れられます。
しかし、OpenAI APIにも利用ティアごとのリクエスト数・トークン数の制限があります。
つまり、レート制限がなくなるのではなく、別のサービスの利用枠へ切り替わるだけです。
また、APIの使用量は自動的に膨らむ可能性があります。
- APIキーに利用上限を設定する
- Platformの使用量とコストを定期的に確認する
- 長い会話を必要以上に継続しない
- リポジトリ全体を毎回貼り付けない
- 定型作業はLuna、難しい設計判断は上位モデルに分ける
このあたりは、サブスクリプションの利用枠を気にするときと同じで、使い方の設計が必要です。
まとめ
Claude Codeのレート制限に当たったとき、選択肢は「待つ」か「上位プランへ移る」だけではありません。
CodexとLuna APIを予備エンジンとして用意しておけば、作業を別の経路へ切り替えられます。
既存のCLAUDE.mdを捨てる必要もありません。
AGENTS.mdを共通の入口にして、これまで積み上げたプロジェクトルールをCodexにも読ませればいい。
Luna APIは、固定サブスクリプションではなく使った分だけ支払う従量課金です。
レート制限時だけ使うなら支出を小さく抑えられる可能性がありますが、APIにもレート制限があり、使いすぎれば料金も増えます。
自分のおすすめは、最初から乗り換えることではありません。
Claude Codeを主力のまま使い、CodexとLunaを退避先として一度動かしておく。
いざ止まったときに初めて設定するのではなく、平常時に疎通確認まで済ませておくと、レート制限に当たった瞬間も慌てずに済みます。



コメント
ログイン か 会員登録 するとコメントできます