6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChatGPT Pro は高いので Codex + GitHub Copilot でお小遣いを守りたい

6
Last updated at Posted at 2026-05-06

ChatGPT Image 2026年5月7日 00_49_38.png

AI 関連サービスの使いすぎでお小遣いがピンチです。贅沢に ChatGPT Pro を契約して遠慮なく使いたい所ですが、ちょっとでも節約した使い方が出来ないか思考を巡らせてみました。

最近は Coding Agent の選択肢も豊富です。そもそも Codex にこだわらなければ他にもより安価なサブスクリプションはありますが、ここではそれは触れません。私よりもお小遣いが厳しい方は私の記事を読むよりは以下のような Coding Agent を検索しても良いでしょう。

色々な Coding Agent

etc...

あんまりトークン使わないんだぁって人は OpenCode + OpenRouter や Vercel AI とかの従量課金もいいね、とも思いますね。

他にもまだまだ無数にありますが、本題とは違うので程々にしておきます。私は Codex を使いたいニーズが高いのと、たまに Claude も使いたいみたいなニーズなので、今回は Codex + GitHub Copilot の組み合わせにしました。GitHub Copilot にまとめて Agent HQ など使えとかは言わないでください😃

今回の話

今回やりたいのは、Codex を使いながらも、なるべくトークンやレートリミットを節約する構成です。

私の使い方だと、Codex に全部やらせると大体 1〜2 回の反復で 5時間レートリミットを使い切ります。一瞬です。便利なのは間違いないのですが、お小遣い制にはなかなか厳しいものがあります。

そこで今回は、Codex に全部やってもらうのではなく、Codex には指示とレビューを担当してもらい、実装作業そのものは GitHub Copilot CLI に任せる構成にしています。

要するに、

  • Codex: 指示役、レビュー役、全体の取り回し
  • GitHub Copilot CLI: 実装担当
  • ChatGPT: 事前調査、Issue 整理、実装方針の相談
  • GitHub: Issue / PR / 差分管理
  • 自宅 Mac mini: 開発母艦
  • 外出先 MacBook: リモート操作端末

みたいな役割分担です。

この分担にすると、Codex のトークンを「全部の作業」に使うのではなく、「判断が必要な所」に寄せられます。実装の手数は Copilot 側に寄せるので、現状の料金体系ではだいぶ気持ちが楽です。

全体俯瞰

ChatGPT Image 2026年5月7日 00_37_23.png

私の節約的契約では有料ライセンスは以下の2つのみです。

  • ChatGPT Plus ¥3,000/月
  • GitHub Copilot Pro $10/月

合計: ¥4,500円前後(150円/$ 換算)

他にも検証用に Azure AI Foundry, Vertex AI, Bedrock 環境も用意していますが、これらは従量課金なので除外します。

全体の構成は次の通りです。

自宅で作業中は Mac mini 上で Codex App を直接操作。外出先からは手元の MacBook の Codex App のリモート接続機能で自宅の Mac mini 上の Codex App に SSH 接続して遠隔で作業を継続しています。自宅 Mac mini 上には GitHub Copilot CLI がインストールされていて、それを Codex App 上の gpt-5.5 などから呼び出します。

この構成の肝は、Codex App を「実装を全部やる存在」として使わないことです。Codex には、作業を分解して Copilot CLI に指示を出し、その結果を確認しながら次の指示を出す、という動きをしてもらいます。

人間が Codex に指示を出して、Codex が Copilot に指示を出す。なにやってるんだ感はありますが、これが案外悪くないです。後 Codex は気難しいと評判ですが、私としては気難しい分、遠慮なく sub agent にダメ出ししてくれるので案外この役割はハマってるんじゃ?とも思ってます。(ちなみに私は Codex を気難しいとは感じないので、どちらにしても使いやすいです)

ちなみに)Codex App のリモート接続

Codex App のリモート接続はまだ α 段階で、インストール時点では有効化されていません。見たことがない方向けに設定方法を先に触れておきます。(有効化する方は α 段階なのでその理由を十分に理解できる人が使ってくださいませ)

次のように有効化方法が説明されています。

SSH remote connections are currently in alpha. To enable them today, set remote_connections = true in the [features] table in ~/.codex/config.toml. Availability, setup flows, and supported environments may change as the feature improves.

~/.codex/config.toml に次のような記述があれば OK です。

[features]
remote_connections = true

これを設定すると以下スクリーンショットのように Codex App の設定画面に 接続 という選択肢が増えてくれます。自宅 Mac mini に ssh 接続可能なように ~/.ssh/config を設定していれば勝手にこのような表示になります。

image.png

外出先から自宅の Mac mini にそのまま繋いで作業できるのは便利です。MacBook 側に開発環境を全部寄せなくてもよくて、Mac mini を母艦にしておけるのは個人的には結構好みです。

開発中の試行錯誤、調査、開発タスク管理

本題です。

本来であれば Codex App でこれをやってしまいたいのですが、今回は節約のお題なのでここではまだ Codex App は使いません。Codex のトークンを消費しない ChatGPT から作業します。

ChatGPT は Remote MCP の接続をサポートしているので、事前に以下のような MCP をセットアップしておきます。

  1. GitHub MCP ... ChatGPT のビルトイン MCP として簡単に接続できます。最低限これを有効にしておきましょう。これにより private repo も含むコードの検索、issue 検索や登録ができるようになります
  2. File System MCP ... 任意です。自宅 Mac mini サーバー上にローカルの shell 操作ができる MCP を起動しておきます。これを接続すれば Codex のように ChatGPT から shell での調査もできます

ただ、外部接続可能な API で shell の操作が可能... なものを完全に公開するのは流石に怖いので、ここは自作 Remote MCP サーバーを立てて、Cloudflare Tunnel などで公開するのが無難かな〜と思います。

認証は OAuth 2.1 が必要なので、ChatGPT から認証リクエストを受け取ったらブラウザからリダイレクトさせてログイン → ChatGPT 向けの bearer token を発行するように実装しておきましょう。

また、API として生やすエンドポイントも受け取った shell をそのまま実行するのではなく、特定の workspace のみ操作するようにディレクトリトラバーサル対策をガチガチに、また、そもそも特定のコマンドしか通らないようにしておくと良いでしょう。

このへんを雑にやると普通に怖いです。この MCP サーバーの実装イメージがわかない人は GitHub MCP だけにしておきましょう。よってこの MCP の実装例は示しません。

ChatGPT + MCP で整理

ChatGPT Image 2026年5月7日 00_45_18.png

一日の始まりはこの状態で ChatGPT を経由して作業状況や issue の確認をするところから始めます。この作業は Codex のトークンを食いません。思いっきり使いましょう。

この状態でレポジトリ名を指定して以下のようなタスクを依頼します。

  • 現在気になっている挙動の不具合や課題の調査(コードの検索結果から)
  • 実装案の検討(コードの検索結果 + Web の検索結果から)
  • Issue の登録(上記の会話スレッドからシームレスにそのまま登録可能)
  • 既存 issue の整理
  • 実装前に確認しておくべき観点の洗い出し

Codex App に入る前に、ChatGPT 側で課題の整理や issue 登録まで済ませておくと、その後の Codex 側の迷いが減ります。ここで雑に始めると結局 Codex 側で探索が始まってトークンが溶けるので、地味ですが案外効きます。後どこからでもこの作業ができるのも良い。

また、この作業は ChatGPT Web 版の Project を使うと良いでしょう。

レポジトリの実装内容など ChatGPT に覚えておいてほしい情報はメモリ機能だけでは心許ないですが、Web 版の ChatGPT は推論結果を 情報源 にそのまま登録できます。以下画像のフォルダアイコンにプラスマークがついている所から登録できます。

image.png

Project はとっても便利です。開発に関連するドキュメントもどんどん放り込んでいって、自宅でも移動中でもどこでも Codex の無駄撃ちを防ぎつつ ChatGPT 経由で開発タスクや課題調査ができるようにしておきましょう。

デスクトップ版 ChatGPT でも出来ると良いんですが、この 情報源 への登録ボタンは Web 版にしか出てこないんですよね...

開発・実装

トークンを節約したいからと Plan を回避すな

image.png

トークンの消費を気にして Plan モードを経由せずにそのまま開始していませんか?

特に数字の証明があるわけではないですが、「自身の指示に絶対の自信がある」ケースまたは「非常に簡単 or 明確なタスク」を除いては Plan を経由した方が結果としてゴールに達するまでのトークン消費は減る体感があります。

勿論 Plan は指示内容によってはかなり長ーくなることもあるので「読んでられない」という人は多いかもしれませんが、せめて Summary とその次のセクションは見ましょう。重要な点は指示した際の期待と行動方針がマッチしているかです。

細かい実装指示部分はコードを書いてもらってから自分で手直しするか微修正指示で十分でしょう。兎に角方針がズレてないかだけは全力で確認します。

案外、指示に十分な context が含まれていなくて微妙にズレていることが発生しがちです。このケースは修正・手戻りや、場合によっては Codex 側が混乱して想定より多くのトークンを消費しがちです。後バグも仕込みがちです。

積極的に Plan はケチらずに行きましょう。Plan を一旦コピペして ChatGPT でチェック or 解説させても良いでしょう。

Codex は指示 & レビュー役、実装は Copilot

ChatGPT Image 2026年5月7日 00_46_44.png

Codex に全部やらせると私の場合だと大体 1〜2 回の反復で 5時間レートリミットは使い切ります。一瞬です。

よって Codex には指示 & レビュー役、実装は Copilot にやらせます。

例えばこんな感じのプロンプト or Skill を用意しておきます。

<goal>
App in ChatGPT のサポートに向けて、認証機能の実装とセキュリティレビューを完了し、PR を発行する
</goal>

<agent_behavior>
- あなたは直接作業をすることは禁じられています。あなたは sub worker に対して指示を出し、その作業結果をレビューしながら修正指示や後続作業の実施を指示していきます。
- sub worker の実行コマンドは次の通りです: `copilot -p "ここに指示を記述します" --yolo --no-ask-user --autopilot --reasoning-effort high --stream off --output-format json --silent | jq -sr 'map(select(.type=="assistant.message" and .data.phase=="final_answer")) | last | .data.content'`
- sub worker へ渡す指示は一度に大きくしすぎず、作業単位を分けてください。
- sub worker の作業後は必ず `git diff` で差分を確認し、必要に応じて追加修正を指示してください。
</agent_behavior>

<review>
- セキュリティ: ... hoge hoge
</review>

お好みに応じて、作業内容に応じて Copilot の --model でモデルを選んで上記プロンプトに組み込んでおいてあげても良いでしょう。

上記により Codex は shell を経由して Copilot へ指示を出し、作業結果を確認しながら作業を進めていくようになります。

この構成では、Copilot は手を動かす担当です。Codex は Copilot が触った差分を見て、追加修正の指示を出す担当です。

codex がレビューしているからと PR をスルーパスは流石にまだ辞めておきましょう。見れる人はコードの差分を、見れない人は別モデルに Wチェックさせたり、元々期待している仕様と比較しながら動作確認テストをしたり、ペネトレーションテストでも一度エミュレートさせたりとある程度はちゃんとみておいた方が良いんじゃないかなぁと思います。

実際の消費感

この状態なら、例えば先ほどこの記事を書く前に依頼したタスクは Codex App が 1時間ちょうど動き続けていたのですが、この時点で 5時間レートリミットも 100% → 49% 程度。Weekly も 10% 程度の減少です。

GitHub Copilot にオフロードしているだけですが、GitHub Copilot の方が現状はまだお安いのでお得感が違います。

勿論これは作業内容によります。重い調査や複雑なレビューを Codex 側で長くやらせれば普通に減ります。万能ではありません。ただ、少なくとも「Codex が全部実装して全部試行錯誤する」よりはだいぶ精神衛生が良いです。

とはいえ、GitHub Copilot もトークン課金制への移行が確定してしまいましたので、このやり方も 6月以降割高にはなってしまうかもしれません。そうなったら Codex + OpenCode Go とかにでも移行ですかね。

その他細かい Tips

Codex と Copilot 横断の記憶は /memory/{timestamp}/**.md に保存させると良かった

私の AGENTS.md には作業完了時にフォルダ /memory の中に {timestamp}/**.md のパスへ作業結果を記録するように指示が書かれています。余計な token を消費する要因として「作業指示の真意が中々伝わらない」「作業の方向性がズレる」「実装意図の勘違い」はそれなりに大きいなと感じています(人間も一緒かな)。

GitHub Copilot や ChatGPT も自前のメモリ機能はありますが、横断ではアクセスができません。また、メモリの更新タイミングもコントロールはしづらいですし、何よりそのメモリを手動でみたり管理することはあまり柔軟にはさせてくれません。その点、作業完了時に必ず md として書き出させるようにすれば作業履歴として溜まりますし、コンテキストをそれで codex, copilot 間で共有できますし、また、将来修正する際に有用な情報ソースにもなってくれます。指示も楽になるので(全部説明しなくともよくなっていくので)オススメです。

まとめ

今回は ChatGPT Plus + GitHub Copilot Pro の組み合わせで、Codex をなるべく節約しながら使う構成を試してみました。

ポイントは以下です。

  • ChatGPT + GitHub MCP で事前調査や issue 整理をする
  • Codex App に入る前に、出来るだけ方針と作業単位を整理しておく
  • Codex では Plan をケチらない
  • Codex は指示 & レビュー役に寄せる
  • 実装作業は GitHub Copilot CLI に寄せる
  • 自宅 Mac mini を母艦にして、外出先からも Remote 接続する

Codex は便利ですが、全部やらせるとレートリミットが一瞬で溶けます。なので、判断が必要なところに Codex を使い、手を動かすところは Copilot に寄せる、という方針です。

現状だとこの構成はそこそこ気に入っています。ChatGPT Pro を契約して全部解決するのが一番楽ではあるんですがね。そのうち我慢できなくなって普通に ChatGPT Pro に投資してそうな気はしなくもないです。または DGX Spark 買って LocalLLM でも良いなぁ...

今日もサブスク代と戦っていきましょう。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?