OpenAIのCodex CLIをローカルOSSモデルで動かす——この組合せは2026年1月から実験的に可能だったが、5月14日に公開されたOllama v0.24.0 で公式機能として完全に統合された。ollama launch codex 一発でCodex CLIがローカルLLMバックエンドで立ち上がり、ollama launch codex-app でデスクトップ版Codex Appもそのまま起動する。OpenAIのコーディングエージェントが、自分のMacのGPUで、レート制限なし、API課金なしで動く時代が来た。まずは「実際にローカルで動く様子」を1本の短尺デモで掴んでほしい。

Codex CLIをOllama経由でローカル実行するデモ(5分)。ollama launch codex でセットアップからコード生成までが一気通貫で流れる。(出典:YouTube「Codex + Ollama = Free Unlimited Coding AI (Under 5 Minutes)」/Grayson Ho | AI Builders Lab)
ollama launch codex 一発でOpenAI公式エージェントが完全ローカルで動く構成図。あなた→Codex CLI→Ollama Server(localhost:11434/v1)→gpt-oss:20b/120b の流れと、API課金$0・レート制限なし・コード非送信・オフライン可の4つの利点
本記事の全体像:Codex CLIはOllamaを「ただのOpenAIサーバ」として扱う。ベースURLをlocalhostに向けるだけで、クラウドと同じエージェント体験が手元のGPUで動く。(図:AI Heartland)

LLMそのものの仕組み・量子化・主要モデル比較は LLMとは?仕組み・主要モデル比較・ローカル実行・量子化を一気にまとめる2026年版 が土台になる。ローカルLLM全般の選び方・ランタイム比較・VRAM要件は ローカルLLMを動かす方法|2026年6月最新オープンウェイト・ランタイム・VRAM要件まで総まとめ をご覧ください。なお GUIで手軽にローカルLLMを触りたいなら LM Studioの使い方2026|GUIでローカルLLMを動かす が入り口として分かりやすい。本記事はその一歩先、CLIとコーディングエージェント(Codex CLI)の統合を扱う。

この記事のポイント
  • Ollama 0.24で 「ollama launch codex」「ollama launch codex-app」 が公式コマンドとして揃った。Codex CLI/デスクトップAppの双方をローカルLLMバックエンドで一発起動できる
  • 推奨は gpt-oss:20b(デフォルト・手元PC向け)/gpt-oss:120b(ハイエンドMac向け)/gpt-oss:120b-cloud(Ollama Cloud)。コンテキスト窓は64k以上が必須で、Codex特有のエージェントループに耐えるモデルが要る
  • config.tomlプロファイル で複数モデルを切替可能。`codex --profile ollama-launch` のようにプロファイル指定すれば、ローカル20B/クラウド120B/OpenAI公式を1コマンドで切り替えられる
  • API課金もレート制限もないのでエージェント系の重い反復処理が現実的なコストで回せる。コードがOpenAIに送られない点も社外秘リポジトリで効く

何が起きたのか:Ollama 0.24でCodex統合が完成

Ollama 0.24は『Codexをローカルで動かす』というユーザー要望に対する公式回答だ。2026年1月15日のOllama公式ブログ「OpenAI Codex with Ollama」で ollama launch codex(および codex --oss)が初登場し、続く1月23日の「ollama launch」ブログで Claude Code・OpenCode・Codex・Droid をワンコマンドで起動する ollama launch ファミリーが正式化された。そして5月14日のv0.24.0でデスクトップ版Codex Appを起動する ollama launch codex-app が追加され、CLI・デスクトップの両系統が ollama launch … に揃った。

このセクションが答える3問:Codex×Ollamaで「何ができる」ようになったか=ローカルモデルでCodexが動く。「何を解決する」か=手動セットアップの摩擦。「何を代替する」か=クラウドCodexのAPI接続を、そのままローカル接続に置き換える。

技術的に何が新しいかというと、実はOllama自体は以前から http://localhost:11434/v1 でOpenAI互換APIを提供していた。だからCodex CLI側の --oss フラグや環境変数を手動で設定すれば、技術的にはローカル接続できていた。今回の変更は「セットアップの摩擦を消す」レイヤーで、具体的には次の作業を ollama launch codex が肩代わりする。

  1. Codex CLIがインストールされているかチェック(なければ案内)
  2. Ollama側で推奨モデル(デフォルトはgpt-oss:20b)が落ちているかチェックし、なければpull
  3. Codex CLIの設定に model_providers.ollama-launchprofiles.ollama-launch を自動追記
  4. コンテキスト窓を64k以上に設定(gpt-ossは128kまで対応)
  5. プロファイル --profile ollama-launch 指定でcodexプロセスを起動

これまで「ローカル開発でCodexを使いたい」と思った人が30分かけてやっていた作業が、コマンド1発に圧縮された。ollama launch ファミリーはClaude Code・Codex・Droid・OpenCodeなど主要エージェントCLIをカバーする方向で広がっていて、Ollamaが「ローカルLLMコーディングのハブ」を狙っているのが見える。

Ollama 0.24前後のCodex関連の動き
  • ollama launch codex(1月〜):Codex CLIをローカルLLMバックエンドで起動。config自動生成、モデル自動pull、プロファイル登録まで一括
  • ollama launch codex-app(0.24):OpenAI公式のCodex App(デスクトップGUI)を起動。組み込みブラウザでローカルサーバを確認しながらコメント注釈で修正指示できる
  • --restore オプション:Ollama連携で書き換える前のCodex設定に戻す(バックアップは `~/.ollama/backup/codex-app/` に自動保存)
  • --model オプション:起動するモデルを指定(gpt-oss:120b、Cloud版、他のTools対応モデルなど)

OpenAI Codex CLIとは何か・Ollama連携アーキテクチャ

ローカル実行の中身に入る前に、主役であるCodex CLIそのものと、それがOllamaとどう接続されるのかを押さえておく。ここが分かると、後のセットアップやトラブルシュートが「なぜそうなるのか」まで腹落ちする。

OpenAI Codex CLIとは:ターミナルで動くOpenAI公式エージェント

ローカル化の前提として、OpenAI Codex CLI 自体を簡単におさらいしておく。@openai/codex パッケージとしてnpm(Homebrewも可)で配布されている、Rust実装・Apache-2.0ライセンスの公式コーディングエージェントだ。リポジトリの説明は端的に “Lightweight coding agent that runs in your terminal”。更新が非常に速く、本記事更新時点(2026年7月)では0.142系まで進んでいる。バージョン番号は日々動くので、--oss--profile が使えるかは実際に codex --version で確認するのが確実だ。

このセクションが答える3問:Codex CLIで「何ができる」=ファイル読み書き・シェル実行・Git操作を伴う自律コーディング。「何を解決する」=IDEを離れずターミナルでタスクを丸投げできる。「何を代替する」=手作業のコード編集や、Claude Codeのようなターミナル型エージェント。

Codex CLIの位置づけは「ターミナルで動くChatGPT Codex」に近い。ファイル読み書き、シェル実行、Gitオペレーション、ブラウザ確認といったツールを呼びながら、コードベースに対して自律的にタスクを進める。Claude Codeに対するOpenAI側のカウンターパートで、設計思想も近い:エディタ非依存、ターミナル中心、エージェントループ前提。

認証方式は3系統ある。

ChatGPT契約でのサインイン:Plus/Pro/Business/Edu/Enterpriseユーザーは codex 起動時に「Sign in with ChatGPT」でログイン可能。クォータはChatGPT側のメッセージ枠を消費
OpenAI APIキーOPENAI_API_KEY を環境変数に入れる従来方式。トークン課金
OSSモード(今回の本題)codex --oss または --profile <ollama-profile> でローカル/OSSプロバイダ接続。課金なし、レート制限なし

--oss の存在自体は2026年1月のOllama公式ブログ「OpenAI Codex with Ollama」で公式に案内され、Codex CLI側にもサポートが入った。Ollama公式ドキュメントにも codex --oss-m gpt-oss:120b の例が掲載されている。

アーキテクチャ:Codex CLIとOllamaの接続レイヤー

実体としては、Codex CLIがHTTPクライアント、OllamaがOpenAI互換のHTTPサーバとして動く構成だ。Codex CLIはOpenAI API互換のリクエストを http://localhost:11434/v1 に投げ、Ollamaがそれを自分のローカルモデル(gpt-oss:20bなど)にルーティングしてストリーミングレスポンスを返す。

Codexから見ればOllamaはただのOpenAIサーバ。L4 Codex CLI/App、L3 OpenAI互換HTTP(base_url=localhost:11434/v1)、L2 Ollama Server v0.24、L1 gpt-oss/Qwen3 Coder/GLMの4層構成
接続レイヤーの俯瞰。Codex CLIはbase_urlの向き先が変わるだけで、エージェントループもツール実行も同じコードパスを通る。(図:AI Heartland)

より詳細なリクエストの往復は、次のフロー図で追える。

graph TD A["ユーザー: codex --profile ollama-launch"] -->|起動| B["Codex CLI
Rust製エージェント"] B -->|プロンプト+ツール定義| C["OpenAI互換HTTP
localhost:11434/v1"] C --> D["Ollama Server
v0.24.0"] D -->|モデル選択| E["gpt-oss:20b
または gpt-oss:120b"] E -->|推論結果| D D -->|ストリーミング応答| C C --> B B -->|ツール実行| F["ファイル読書
シェル実行
Git操作"] F -->|結果| B B -->|次のターン| C style B fill:#dbeafe style D fill:#fef3c7 style E fill:#fce7f3

この構造のキモは、Codex CLI側はOllamaを「ただのOpenAIサーバ」として扱っていること。Codex CLIから見ると api.openai.comlocalhost:11434 の区別はベースURLの違いでしかなく、エージェントループ・ツール実行・コンテキスト管理は完全に同一のコードパスで走る。クラウドCodexで磨かれたエージェント実装の利得が、そのままローカルでも享受できる設計だ。これが「何を代替するか」の核心——クラウドAPIをローカルAPIに丸ごと置き換えても、上位のエージェント体験は変わらない。

注意点は2つ。1つ目はコンテキスト窓の要件で、Codexは1ターンあたりエージェントの思考・ツール出力・差分パッチを大量に積むので、Ollama公式ドキュメントは64k以上のコンテキスト窓を推奨している(初出ブログでは32k以上と案内されていたが、実運用の推奨値は上振れした)。gpt-oss:20b/120b、Qwen3 Coder、GLM系、Kimi K2.6あたりが候補になる。2つ目はツール呼出(function calling)への対応で、OllamaのTools APIに乗っているモデルでないとCodexのエージェントループが破綻する。ollama show <model>Tools: yes を確認するのが安全だ。

ローカルLLMの推論バックエンド自体に関しては、Ollama単体だけでなく Distributed Llama のような分散推論も併用が効く。Codex CLIから見るとどれも「OpenAI互換APIを話すサーバ」なので、リソースが余っているマシンを束ねるなら分散推論側を選ぶ手もある。

Codex CLIのセットアップ:数分で動かす最短手順

最短手順は「Ollama 0.24以上を入れる→Codex CLIを入れる→ollama launch codex を打つ」の3段階だ。このセクションが答える3問:手元で「何ができる」=コマンド3つでローカルCodexが起動する。「何を解決する」=環境変数やconfig手書きの手間。「何を代替する」=手動の OPENAI_BASE_URL 設定作業。コードブロックは起動に必要な最小限だけに絞る。

Ollama 0.24.0以上をインストール

macOS/Linux/Windows公式バイナリが用意されている。Macなら brew install ollama でも入る。

# 公式インストーラ(macOS / Linux)
curl -fsSL https://ollama.com/install.sh | sh

# バージョン確認(0.24.0以上であること)
ollama --version

ollama launch サブコマンドが認識されない場合はバージョンが古い。brew upgrade ollama または再インストールでv0.24.0以上にする。codex-app を使うなら「v0.24.0以上」が前提要件だ。

OpenAI Codex CLIをインストール

Codex CLIはnpm(またはHomebrew)で配布されている。

# npm経由
npm install -g @openai/codex

# Homebrew(macOS) ※caskはトークンが codex(openai-codex-cli ではない)
brew install --cask codex

# バージョン確認
codex --version

Homebrewの場合は管理者権限不要で ~/.codex/ 配下に設定が置かれる。Windowsの場合は公式のインストールスクリプト(PowerShell)を使う。codex --version が通れば準備完了だ。

ollama launch codexで起動

ここからが本題。1コマンドでCodex CLIがgpt-oss:20bバックエンドで立ち上がる

# デフォルト構成で起動(gpt-oss:20b、64kコンテキスト)
ollama launch codex

ollama launch codex の実行では、Codex CLIの設定に ollama-launch プロファイルを追記し、未取得なら gpt-oss:20b をpullし、Ollamaサーバを起動して、codex --profile ollama-launch 相当でCodex CLIを立ち上げる——という流れが自動で走る。初回はモデルのpull(gpt-oss:20bで十数GB規模)が入るぶん待ち時間がある。起動後はChatGPT版Codexと同じUI/キーバインドで対話でき、ファイル編集・シェル実行・Git操作などツール呼出も同じように使える。差分は、モデルが手元のマシンで動いていることだけだ。

別モデルへの切替:gpt-oss:120bやCloud版

ハイエンドMacや96GB以上のメモリを積んだLinuxマシンなら、120Bモデルが現実的に動く。--model フラグで起動モデルを指定する。

# gpt-oss:120b(ローカル実行、量子化込みで60〜80GB級のメモリが目安)
ollama launch codex --model gpt-oss:120b

# gpt-oss:120b-cloud(Ollama Cloud経由)
ollama launch codex --model gpt-oss:120b-cloud

Cloud版は手元のリソースを使わず、Ollama側のクラウド推論を使う構成だ。「とりあえず120Bを試してから、ローカルに落とすか判断したい」フェーズで便利だ。

手動でOpenAI互換エンドポイントにつなぐ場合

ollama launch codex はあくまで「摩擦を消す」便利コマンドで、内部でやっているのはCodex CLIの接続先をOllamaのOpenAI互換エンドポイントに向けることに尽きる。既存のconfig.tomlを自分で管理したい、あるいはCIなど非対話環境で使いたい場合は、手動で設定しても同じことができる。要点は次の3つだ。

base_urlをOllamaのOpenAI互換エンドポイントに向ける——http://localhost:11434/v1 を指定する。http:// を省くと接続に失敗する
Ollamaサーバーを起動しておく——ollama serve(またはアプリ常駐)でサーバーが立っていること。ollama ps でモデルが乗っているか確認できる
codex --osscodex --profile <名前> で起動——--oss は既定のローカルプロバイダ、--profile は後述のconfig.tomlプロファイルを使う

# サーバーを起動(アプリ常駐なら不要)
ollama serve &

# 使うモデルを事前にpull
ollama pull gpt-oss:20b

# OSSモード(ローカルプロバイダ)でCodexを起動
codex --oss -m gpt-oss:20b

ollama launch codex が生成する設定と、手動で書くconfig.tomlは実体として同じものだ。仕組みを理解しておくと、うまく動かないときにどこを直せばよいかがすぐ分かる。次章のプロファイル管理は、この手動設定を実運用向けに拡張したものと考えるとよい。

モデル選定とconfig.tomlプロファイル管理

Codexをローカルで使いこなす鍵は「どのモデルを、どう切り替えて使うか」に尽きる。ここではconfig.tomlによる複数モデルのプロファイル管理と、gpt-ossを軸にした対応モデルの選び方をまとめて扱う。

config.tomlで複数モデルをプロファイル管理する

実運用では「軽い修正は20B、重い設計レビューは120Bクラウド、本番デプロイ直前のレビューは公式モデル」のようにモデルを使い分けたい。Codex CLIはこれを プロファイル という形でサポートしている。このセクションが答える3問:プロファイルで「何ができる」=1コマンドでモデルを往復。「何を解決する」=コスト構造を毎回考える負担。「何を代替する」=手動の環境変数切り替えスクリプト。

config.tomlのプロファイルで二段運用。全部クラウドCodexだと課金が膨らみレート制限で止まりコードが外部送信される。ローカル8割+クラウド2割にすると軽量タスクは無料のローカル20B、重い判断だけクラウド切替でcodex --profile 1つで往復できる
プロファイル運用の本質は「コスト構造を意識しなくてよくなる」点。ローカルを主軸にし、必要な場面だけクラウドへ上げる。(図:AI Heartland)

ollama launch が生成するのはこのようなプロバイダ定義+プロファイルだ。ここに自分用のプロファイルを足していく。

# Ollama接続定義(base_urlが11434なのがポイント)
[model_providers.ollama-launch]
name = "Ollama"
base_url = "http://localhost:11434/v1"

# プロファイル1: ローカル20B(普段使い)
[profiles.ollama-launch]
model = "gpt-oss:20b"
model_provider = "ollama-launch"

# プロファイル2: ローカル120B(M4 Max級限定)
[profiles.ollama-120b]
model = "gpt-oss:120b"
model_provider = "ollama-launch"

# プロファイル3: クラウド120B(外部送信OKな案件)
[profiles.ollama-cloud]
model = "gpt-oss:120b-cloud"
model_provider = "ollama-launch"

切替は単純で、codex --profile <名前> を打つだけ。軽量タスクは codex --profile ollama-launch、重い設計レビューは codex --profile ollama-120b、外部送信OKな案件は codex --profile ollama-cloud といった具合に、同じコマンド体系のまま使い分けられる。

プロファイル運用の最大の利点は「コスト構造を意識しなくてよくなる」点だ。普段は0円のローカル20Bで叩き、本当に必要な場面だけクラウドに切り替えれば、月額のAPI課金が劇的に減る。エージェント系は反復のたびにトークンを消費するので、ローカル比率を上げるほど「気にせず叩ける」体験に近づく。

対応モデルの選び方:gpt-ossを中心にした使い分け

Ollama公式ブログがCodex向けに明示しているのは gpt-oss:20b(デフォルト)gpt-oss:120b gpt-oss:120b-cloud の3つ。これに加えて、Ollamaライブラリ側にあるツール呼出(function calling)対応モデルなら、config.toml で指定するだけで動く。このセクションが答える3問:モデル選びで「何ができる」=タスク規模に応じた品質を選べる。「何を解決する」=マシンスペックとコストのミスマッチ。「何を代替する」=クラウド固定運用。

主要候補の比較を以下にまとめる(VRAM目安・コンテキスト窓は量子化・設定に依存する概算。実測は ollama show で確認してほしい)。

モデル パラメータ 量子化後メモリ目安 コンテキスト ツール呼出 Codex用途の相性(主観)
gpt-oss:20b 20B (MoE) 約13〜16GB 128k ★★★(基準・デフォルト)
gpt-oss:120b 120B (MoE) 約60〜80GB 128k ★★★★
gpt-oss:120b-cloud 120B (MoE) クラウド 128k ★★★★
Qwen3 Coder 30B級 約18〜24GB 長尺 ★★★★(コード特化)
GLM系 30B〜100B級 20〜60GB 長尺 ★★★
Kimi K2.6 1T (MoE) クラウド推奨 長尺 ★★★★(巨大MoE)
小型Chatモデル(〜8B) 〜8B 約5GB 〜128k ★(エージェント用途に不向き)

「Codex用途の相性」は筆者が同一プロンプト(軽量リファクタ+PR作成タスク)で試した主観評価で、ベンチマーク値ではない点に注意してほしい。結論としてはgpt-oss:20b/120bが「Codex特化チューン済み」感が一番強い。これはgpt-ossがOpenAI自身がオープン化したシリーズで、Codex CLIのプロンプト前提に最も自然に噛み合うためだ。

コード特化を狙うなら Qwen3 Coder が強力で、長尺リファクタや既存コード読解で20Bよりよい結果が出ることもある。Kimi K2.6 は1Tパラメータ級のMoEで、エージェント協調タスクで頭一つ抜けるが、ローカル実行は事実上不可能なのでクラウド経由になる(Kimi K2.6エージェントスワーム解説)。逆に 小型のChatモデル はコンテキストが足りていても、エージェントループの自己修正能力が低くCodex用途には不向きだ。

初期セットアップで失敗しにくいパス

  1. まずgpt-oss:20bで ollama launch codex を試す
  2. 自分のマシンでGPU余裕があるか確認(ollama ps で稼働モデルとメモリ使用量が見える)
  3. メモリに余裕があれば --model gpt-oss:120b に上げる
  4. それでも不足ならconfig.tomlにOllama Cloud版を追加してプロファイル切り替え
  5. 特定タスクで足りなくなったらOpenAI公式モデルのプロファイルを追加

ローカル→クラウドへのスケールアップが連続的なので、最初から完璧を狙わなくていい。

Codex App(デスクトップ版)も同時に進化した

ollama launch codex-app で起動するのが、OpenAI公式のCodex App(デスクトップ版)。CLIとは別系統のGUI体験で、v0.24.0のメイン目玉だ。macOSとWindowsに対応し、Ollamaがアプリ側の設定を「Ollamaのローカル/クラウドモデルを使う」よう自動で書き換えてくれる。このセクションが答える3問:Codex Appで「何ができる」=ブラウザで表示を見ながら注釈で修正指示。「何を解決する」=差分を頭の中で想像する負担。「何を代替する」=IDEとブラウザを往復する手作業レビュー。

Codex Appの主な機能(Ollama公式ドキュメント記載ベース)。

組み込みブラウザ:開発中のローカルサーバやWebサイトをApp内のブラウザで直接開き、表示されたページに直接注釈して修正指示が出せる。Figmaのコメント機能をコードレビューに持ち込んだような体験
レビューモード:差分を見ながらCodexにコメント形式でフィードバックを返し、アプリを閉じずに修正サイクルを回せる
セッションの永続化:選択したモデルなどの設定はセッションをまたいで保持される
–restore で元の設定に戻す:Ollama連携で書き換える前のCodex App設定に戻す。設定変更の前に ~/.ollama/backup/codex-app/ へ自動バックアップが保存される

# Codex Appをローカルバックエンドで起動
ollama launch codex-app

# Ollama連携前の設定に戻す
ollama launch codex-app --restore

セットアップは「Codex AppをOpenAIの開発者ポータルから入れる → ollama launch codex-app を打つ → 普段どおりタスクを始めるかリポジトリを開く」の3ステップ。注意したいのは、Codex AppのバックエンドはCLIと同じくOpenAI互換API経由なので、ollamaで起動した時点で推論がローカル/Ollama Cloudのモデルに切り替わること。クラウドCodex Appと同じUIなのにモデルがgpt-ossで動いている状態だ。デザイン上は『スイッチを切り替える』ように見えるが、内部的にはbase URLとモデル名の差し替えが起きている。なお、Ollama公式ドキュメントのCodex App例では gemma4:31b(ローカル)や kimi-k2.6:cloud(クラウド)のように、gpt-oss以外のモデル指定例も紹介されている。

Codex AppはCodex CLIの「上位互換」ではなく「並列の選択肢」と捉えるのがよい。ターミナル中心の開発者(vim/tmux/zsh派)はCLI、ブラウザでのUIプレビューが重要なフロントエンド開発者はAppという棲み分けになる。

ローカルCodexの性能・限界とトラブルシュート

「ローカルで本当に開発が回るのか」「クラウド版と何が違うのか」「詰まったらどうするか」——ローカルCodexを実戦投入するうえでの現実的な疑問を、性能・限界・クラウドとの違い・トラブルシュートの順にまとめて片付ける。

ローカルCodexのリアルな性能と限界

ローカルLLMで本当に開発作業が回るのか——これは現実的に気になる点だ。このセクションが答える3問:ローカル20Bで「何ができる」=小〜中量の変更なら十分。「何を解決する」=クラウド課金への不安。「何を代替する」=クラウドCodexの8割の用途。以下は一般に語られる傾向を踏まえた切り分けで、体感はマシンスペック・モデル・タスク内容で変わる点に留意してほしい。

diff 30行以内・3ファイル以内なら20Bでクラウド並。タスク投入→ツール実行(読/書/シェル/Git)→差分生成→次ターンのループ。20Bで十分なのは小〜中量のバグ修正・型解消、テスト追加・リネーム、README整形・翻訳。20Bで厳しいのは数十ファイル横断の設計変更、仕様書からの実装補完、セキュリティ監査級のレビュー
ローカル20Bの得意・不得意の境界。影響範囲が小さいタスクはループが1〜2回で収束し、無料で無限に叩ける。(図:AI Heartland)

ローカルgpt-oss:20bが安心して任せやすい作業

・5〜30行程度のバグ修正・型エラー解消
・READMEや日本語ドキュメントの整形・翻訳
・単体テスト追加(テンプレ的なケース)
・既存ヘルパー関数のリネーム・移動
・TypeScript/Python/Rust/Goの軽量〜中量リファクタ

ローカル20Bでは厳しく、120Bか公式モデルに切り替えたほうがよい作業

・数十ファイルを跨ぐ設計変更(依存関係を理解した変更)
・抽象クラス/DI/ジェネリクスを多用した複雑なリファクタ
・業務ロジックを推論で補完する系(仕様書から逆算した実装)
・パフォーマンスチューニング(ボトルネックの推定)
・セキュリティ監査的なレビュー

傾向としては、「diffが30行以内、影響範囲が3ファイル以内」のタスクなら20Bでクラウドに近い体験になりやすい。エージェントループが早く収束し、ツール呼出も安定する。逆に「20ファイル横断のリファクタ」のような大物は20Bだとループが何度も回ってもまとまらず、結局120Bやクラウドに切り替えることになる。

この『20Bで足りる領域と足りない領域』を切り分けて使うとローカルCodexは本当に強い。すべてをローカルでやろうとすると挫折するし、すべてをクラウドでやると課金が膨らむ。プロファイル切り替えで境界を意識しながら使うのがリアルな運用感だ。

クラウドCodexとローカルCodexの本質的な違い

ローカル化は単なる「同じものをタダで」ではない。実はできることの内訳が変わるこのセクションが答える3問:ローカル化で「何ができる」=反復・オフライン・非送信。「何を解決する」=課金とプライバシーの懸念。「何を代替する」=品質・最新性を除いた大半の日常タスク。整理しておく。

クラウドCodex(公式モデル) ローカルCodex(gpt-oss:20b)
課金 トークン課金 or ChatGPT契約 $0(電気代のみ)
レート制限 あり(プランによる) なし
モデル品質 最高水準 ★★★(実用十分)
コード送信先 OpenAIサーバ 端末内のみ
オフライン動作
コンテキスト窓 大きい 128k
応答速度 API遅延あり GPU依存
モデル更新 OpenAI側で自動更新 自分で ollama pull
エージェント反復 課金懸念で抑制しがち 気にせず叩ける

特筆すべきは最下段の 「エージェント反復を気にせず叩ける」。Codex CLIのようなエージェント系は、1タスクあたり数十回モデルを呼ぶことが普通で、クラウド経由だと「これでお金溶けるかな」というメンタルコストが地味に効く。ローカルなら回数を気にせず叩けるので、たとえば「今のPRを複数の観点でレビューさせて、それぞれの修正案を比較する」みたいな贅沢な使い方が成立する。

逆にデメリットは2つ。1つ目はモデル品質の差で、コード理解の絶対値では最新の公式モデルに一歩譲る。2つ目はコンテキスト窓の差で、巨大リポジトリをまるごと食わせるような芸当はローカルでは無理だ。「速度・課金・プライバシー」を取るか、「品質・コンテキスト・最新性」を取るかのトレードオフになる。

つまずきやすい点とトラブルシュート

実際に立ち上げる時に詰まりやすいポイントを並べておく。原因の多くは「モデル選択」「コンテキスト窓」「GPUメモリ」「バージョン」「base_urlの書き方」の5つに集約される。

「Tools: no」のモデルを選んでしまう。 ツール呼出非対応のモデルを選ぶとCodexが起動直後にループする。ollama show <model>Tools: yes を必ず確認する。

ollama show gpt-oss:20b | grep -i tools
# => Tools: yes  ← OK

コンテキスト窓が足りない。 Codexはエージェントループでツール出力をどんどん積むため、64k未満ではすぐ詰まる。ollama showcontext length を確認し、必要ならパラメータでオーバーライドする。

GPUメモリ不足でモデルが激重になる。 ollama ps でモデルがCPU側にスピルアウトしていないか確認する。PROCESSOR 列が 100% GPU でなく CPU/GPU 混在になっていると、体感速度が桁違いに落ちる。その場合は小さいモデルに落とすか、量子化を見直す。

codex --profile が認識されない。 Codex CLIのバージョンが古いと --profile フラグが効かないことがある。codex --version で確認し、新しめのバージョンに上げる(Codexは更新が速いので、迷ったら最新へ)。

base_urlに http:// が抜けている。 config.tomlの base_urlスキーマ込みでフルURLlocalhost:11434/v1 ではなく http://localhost:11434/v1 と書く必要がある。これは何度も踏まれる罠だ。

--oss はリモートのOllamaを見てくれない。 codex --oss モードは接続先が localhost:11434 に固定されており、config.tomlで別マシンのIP(例 192.168.1.50:11434)を指定しても無視され、Ollamaがそのアドレスで正常稼働していても「No running Ollama server detected」で失敗する(openai/codex #8240。”not planned” でクローズ=仕様上の制約)。別マシンのOllamaを使いたいときは、--oss を使わず --profile でプロバイダを明示指定するか、SSHポートフォワードでリモートを手元の localhost:11434 に転送する。

まとめ:これからのローカルコーディングエージェント

ローカルLLMでコーディングエージェントを回す——という選択肢は、少し前までは「ハッカーの趣味」だった。Ollama 0.24はこれを 「ふつうの開発者の選択肢」 に押し上げる更新で、特に次の3点が大きい。

  1. 公式コマンド化ollama launch <agent> という形で、OpenAI Codex/Claude Code/OpenCode/Droidなど主要CLIをワンコマンドで起動できる動線が整った
  2. モデル品質の追いつき:gpt-oss:20b/120bがCodex前提のチューンに耐える品質に達したことで、「クラウドの劣化版」ではなく「役割の違う選択肢」として成立する
  3. エージェント反復の経済性:課金心配なくループを回せることで、エージェントの強みである「試行錯誤の量」を最大化できる

OpenAI/Anthropic/Googleの主要モデルは引き続き品質トップだが、その下に 「課金とプライバシーを気にせず叩ける選択肢」 のレイヤーが厚くなった。仕事の大半をローカルで回し、必要なぶんだけクラウドに上げる——という運用が現実的になった意義は大きい。

Ollama本体の他ツール統合(Claude Code・OpenCode・Droid)まで含めた全体像は ローカルLLMを動かす方法|2026年6月最新オープンウェイト・ランタイム・VRAM要件まで総まとめ で扱っている。複数マシンを束ねる分散推論に関心があるなら Distributed Llama も参考になるはずだ。

要点の整理

Ollama 0.24は 「ollama launch codex」「ollama launch codex-app」 という2つの公式コマンドで、OpenAI Codex CLIとデスクトップ版Codex Appの両方をローカルLLMバックエンドで起動できるようにした。gpt-oss:20b(デフォルト)/120bを中心に、64k以上のコンテキスト窓と Tools API対応を満たすモデルなら何でもCodex経由で使える。

実運用ではconfig.tomlのプロファイル機能で「ローカル20B/ローカル120B/クラウド120B/OpenAI公式」を切り替えながら、軽量タスクは無料のローカル、重い設計判断はクラウドという二段運用が現実解だ。API課金もレート制限もない世界線でエージェントを叩けるようになったことの意味は大きく、特にエージェントループの反復回数を絞ってきた開発者にとっては実質的にトークン制約から解放される転機になる。

ローカルLLMでの開発体験は、ようやく「ハッカーの趣味」から「日常の選択肢」に変わった。手元のMacかLinuxに ollama launch codex を打って、数分後にあなたの専属コーディングエージェントが完全ローカルで動き始める——2026年中盤の標準的なワークフローはこの位置から始まる。

関連記事

同じクラスタの入門ピラーと実践衛星をまとめて読むと、点が線につながります。

Ollama入門2026|Mac/Windows/Linuxでローカル大規模言語モデルを動かす完全ガイド
Ollamaとllama.cppの違い2026|ローカルLLMはどちらで動かすべきか徹底比較
Ollama API完全ガイド2026|REST・OpenAI互換・Python/JSでローカルLLMを叩く

参照ソース