OpenAIのCodex CLIをGemini無料枠で利用する。

# Codexとは

2025年5月16日にOpenAI社から公開されたソフトウェアエンジニアリングエージェントです。
https://openai.com/index/introducing-codex/

今は、ChatGPT Proに課金している人しか使えないようです。

# 実は少しややこしいCodex事情

"Codex"と呼ばれたり、誤認しやすいものが5種類ぐらいあります。
したがって、自分が言っているCodexとは何のことを現しているのかを正確にするため、少しややこしいCodex事情を整理しています。

## ① Webで利用するOpenAI Codex

https://chatgpt.com/codex

上記リンクから利用できるWebインターフェースベースのCodexです。2025/5/16のニュースで主に話題になっているCodexです。

## ② LLMのモデルとしてのCodex-1

先ほどWebのインターフェースでCodexが利用できると書きましたが、このサービスが利用しているLLMのモデルが"codex-1"となります。Webサイトによると、

> Codexは、ソフトウェアエンジニアリング向けに最適化されたOpenAI o3のバージョンであるcodex-1を搭載しています。様々な環境における実際のコーディングタスクで強化学習を用いてトレーニングされたCodex-1は、人間のスタイルとPRの好みを忠実に反映し、指示に正確に従い、合格するまでテストを反復的に実行できるコードを生成します。本日より、ChatGPT Pro、Enterprise、Teamユーザー向けにCodexの提供を開始し、PlusとEduにも近日中にサポートを開始します。

となっており、コーディングに注力したモデルとなっています。

## ③Codex CLI

これはOpenAI社が公開しているOSSのAI Codingのツールです。

https://github.com/openai/codex

**このCodex CLIが本記事で対象にしているツールです。**
これは2025/4/17あたりに公開されています。

https://news.biglobe.ne.jp/it/0417/mnn_250417_7278705672.html

## ④ open-codex

先ほどのOpenAI社から公開されていたCodex CLIをフォークしてできた個人のOSSとして、open-codexが存在します。

https://github.com/ymichael/open-codex

今、"GeminiでCodexを利用する"という文脈で検索すると、このopen-codexのほうが出てくることが多いです。

https://apidog.com/jp/blog/google-gemini-open-code-cli-jp/

https://hdkworks.com/archives/35673

ややこしい話として、OpenAI社が出しているオープンソースのコーディングエージェントとしてCodexがあるのですが、それをフォークした別のオープンソースとしてopen-codexがあるので、タイトルの都合上、open-部分が略されたりして、情報が混在してどちらを指しているのかよくわからない状況になります。

## ⑤旧Codex

これは知らなくてもいいですが、過去にOpenAIから出た別の"Codex"というLLMモデルがありました。

>OpenAI は 2021 年に Codex というモデルをリリースしましたが、これは関連がありますか?
>2021年、OpenAIは自然言語プロンプトからコードを生成するAIシステム「Codex」をリリースしました。このオリジナルのCodexモデルは2023年3月をもって廃止され、CLIツールとは別になっています。

https://github.com/openai/codex?tab=readme-ov-file#faq

https://gigazine.net/news/20210811-openai-codex/


# 「OpenAIのCodex CLIをGemini無料枠で利用する」とは

OpenAI社が公開しているAIコーディングツールのCodex CLI

https://github.com/openai/codex

が、GoogleのGeminiの無料枠でも利用できるよ！という話です。
**フォークであるopen-codex等ではなく、本家本元のOpenAI社のCodex CLIでもGemini無料枠が利用できるよ！という話です。**


# Codex CLIをGemini無料枠で利用する

状況の整理ができたので、実際に利用してみましょう。
まず初めにGoogleからGemini APIのAPIキーを取得します。

https://ai.google.dev/gemini-api/docs/api-key?hl=ja

OpenAIのAPIも良いのですが、基本的にAPI利用はお金がかかるので、無料で使いたい方はGeminiを使うのがよいです。
他社の無料のLLMのAPIでも構わないのですが、日本語未対応であったり、Tool Use(Function Calling)などが未対応ではまることも多いので、自分の中では無料で使うにはGeminiが安定しています。
　使い方は簡単で、作業したいソースコードのディレクトリにcdして、以下のコマンドを打つだけです

```bash 
$ env GEMINI_API_KEY=XXXXXXXXXXXXXXXXXXX npx codex --provider gemini -m gemini-2.5-flash-preview-04-17 --full-auto
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139643/330a0c43-2a99-4b78-a358-f7624a2271b5.png)


キーポイントは3つです。

1. GEMINI_API_KEYの環境変数にAPIキーを設定すること
2. --providerオプションでgeminiを指定すること
3. -mオプションでモデル名を指定すること

-mオプションで指定できるモデルはGoogleのドキュメントを参考にするとよいです。

https://ai.google.dev/gemini-api/docs/models?hl=ja

どれくらいAIに作業を任せるか。を指示するオプションがあり、基本はsuggestなのですが、`--auto-edit`、`--full-auto`の3種類があります。私は、完全自動の`--full-auto`を指示しています。

https://github.com/openai/codex?tab=readme-ov-file#security-model--permissions


# 使ってみた所感

そんなに賢くない。というのが現状の正直な感想です。

私は色々あって、OpenHandsというOSSのAI CodingツールにPRを出したりしています。(この話はまた別でしたい。)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">OpenHandsのNew Contributorsとして名前がのったよ！！ <a href="https://t.co/7qVSHjvNsv">https://t.co/7qVSHjvNsv</a> <a href="https://t.co/spWi4QdOkY">pic.twitter.com/spWi4QdOkY</a></p>&mdash; こたうち　さんさん (@kotauchisunsun) <a href="https://twitter.com/kotauchisunsun/status/1923076551911854211?ref_src=twsrc%5Etfw">May 15, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

　そんなわけで、色々とAI Codingツールの良し悪しを見ているつもりですが、どうも現状把握能力が低い。というのが雑感です。また、自分はOpenHands用にリポジトリをチューンしており、公平な判断ではないということは告げておきます。一方で、RooCodeのような既存のAI Codingツールがほぼ手を入れることなく状況を確認し、コーディングを成功させることを考えることを考えると、まだCodexはまだ枯れていない。という印象を受けています。
　しかし、Codexの実用上のメリットとして"速い"・"手軽"というメリットはあります。以前に[plandexというAI Codingツール](https://qiita.com/kotauchisunsun/items/cfee577c6b4821f2c114)を紹介しましたが、サーバーとクライアント、永続化としてPostgreSQLを必要とする、割と大層なセットアップを要求した割に無料で動かせませんでした。OpenHandsはどうか。というと割と立ち上げ自体は楽です。しかし、結構、変態なアーキテクチャをしてまして、dockerのsocketを必要として、コーディングを要求すると、内部的にDockerコンテナを立ち上げたりするなかなかエグイ動きをします。そのため、場合によってはこのDockerコンテナの起動コストが重かったりします。一方で、Codexはnpxコマンドでサクッと動きますし、起動のフットプリントもほぼありません。そのため、さらっと使うには小気味の良い使い心地です。一方で、サンドボックス対応はしていないようなので、自分でサンドボックス化はする必要があります。

 https://github.com/openai/codex?tab=readme-ov-file#platform-sandboxing-details

 しかし、ベースイメージとしてnode.jsを選び、dockerでnpxを動かせば手軽に動く範囲だと思います。そのため、Github Actionsなど、基本的に空の環境で動かす分にはネイティブでも悪くない選択肢になると思います。
　最初に、Codexはそれほど賢くはない。という印象論を書きましたが、ベンチマーク上ではOpenHandsを上回る場合もある。ということだそうです。

 <blockquote class="twitter-tweet"><p lang="en" dir="ltr">Second, accuracy! The conventional metric we look at is pass@1 on SWE-Bench Verified. They got an accuracy of 68.8 w/ codex, and 66.4 w/ o3-high (they reported higher, but excluded 23 examples). That is slightly better than OpenHands gets with Claude-3.7-Sonnet: 65.8. <a href="https://t.co/2PqP2aHMnz">pic.twitter.com/2PqP2aHMnz</a></p>&mdash; All Hands AI (@allhands_ai) <a href="https://twitter.com/allhands_ai/status/1923418987913793953?ref_src=twsrc%5Etfw">May 16, 2025</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


# 感想

　最近の「Codexが新しく公開！！」というニュースを見たときに、先にCodex CLIを見ていた自分としては、「何を言ってるんだ・・・？」とひとしきり混乱した後、やっと状況が呑み込めました。そのあと、使ってみた感想としては、「うーんまだかなぁ」という気持ちが正直あります。自分はRooCodeは最終手段的になっており、RooCodeが動いている画面を見ると、あぁそこはそう書くとよくない・・・とか、あーこいつ混乱してるなー・・・とか思って、自動のコーディングが自動のコーディングにならない状態になってしまうので、自分が書くつもりでRooCodeに対峙しないといけない。という気持ちになりつつあります。
　そういうAI Codingの流行ものに触ってると、やはり先行者利得というか、経験値というものはあり、AIがあっても一気にまくれないポイントがあるんだなぁ。ということは肌身でじっかんしました