【Vibe Coding】ローカル環境不要!DataRobot Codespaces × OpenAI Codex CLIで始める爆速開発
お知らせ
この記事は2025年12月に公開したものですが、2026年7月に最新環境で全手順を実機検証し、内容を全面的にアップデートしました。
Codex CLI の設定方法と利用可能なモデルが変わっているため、以前の手順で設定された方はご確認ください。検証環境(2026年7月29日時点)
項目 バージョン Codex CLI 0.145.0DataRobot Codespaces Python 3.11 / Node.js v26.5.0 / npm 12.0.1 推奨モデル azure/gpt-5-5-2026-04-23(Azure OpenAI GPT-5.5)
はじめに
「AIにコードを書かせる」——元TeslaのAI責任者 Andrej Karpathy氏が提唱した 「Vibe Coding(バイブコーディング)」 は、今や開発者の必須スキルとなりつつあります。
しかし、いざ実践しようとすると「ローカル環境にNode.jsを入れるのが面倒」「会社のPCで勝手にツールを入れられない」といった壁にぶつかることはありませんか?
実は、DataRobot Codespaces を使えば、ブラウザさえあれば環境構築なしで、最新の OpenAI Codex CLI を使ったVibe Codingを始められます。しかも、DataRobot LLM Gatewayを経由するため、セキュリティも万全です。
本記事では、DataRobotのCodespaces環境を使って、ターミナルからAIと対話し、アプリケーションを爆速開発する手順を解説します。
なぜ DataRobot Codespaces なのか?
Vibe Codingを行う環境として、VS CodeやCursorなどのローカル環境も人気ですが、企業利用においては DataRobot Codespaces が強力な選択肢になります。
- 環境構築が不要: ブラウザだけで完結し、VS Codeベースの慣れ親しんだインターフェースがすぐに利用できます。
-
永続ストレージ:
~/storageはセッションを跨いで維持される別ボリュームです。ホームディレクトリ直下はセッション終了時にリセットされるため、後述の手順では Codex CLI 本体も~/storageに置いて、2回目以降の再インストールを不要にします。 - セキュリティ: DataRobot LLM Gatewayを経由することで、ガバナンスを効かせたAI利用が可能です。(詳細)
1. セットアップ:DataRobot Codespacesでの準備
DataRobot Codespaces環境には sudo 権限がないため、通常のインストール手順とは少し異なる工夫が必要です。~/storage に置いた1本のスクリプトを読み込むだけ、という形に整理します。
Step 1: Codespace とターミナルの起動
DataRobot上で新しい Codespace を作成・起動し、左側のサイドバーから「ターミナル」を開きます。ターミナルの初期ディレクトリは ~/storage(/home/notebooks/storage)です。
まずは環境を確認してみましょう。
node -v # v26.5.0
npm -v # 12.0.1
echo "TOKEN_SET=${DATAROBOT_API_TOKEN:+yes}" # TOKEN_SET=yes
echo "$DATAROBOT_ENDPOINT" # https://app.datarobot.com/api/v2
Codespaces には DATAROBOT_API_TOKEN と DATAROBOT_ENDPOINT が最初から環境変数として設定されています。以降の設定ではこの2つをそのまま使うので、APIキーを手で貼り付ける必要はありません。
base_url をベタ書きせず $DATAROBOT_ENDPOINT から組み立てておくと、EU(app.eu.datarobot.com)、日本(app.jp.datarobot.com)、セルフマネージド環境でも同じスクリプトがそのまま動きます。
Step 2: セットアップスクリプトを永続ストレージに保存
以下をコピーしてターミナルに貼り付けて実行してください。初回の1回だけでOKです。
cat > ~/storage/codex-setup.sh <<'EOF'
# ---- DataRobot Codespaces 用 Codex CLI セットアップ ----
# 1) npm のグローバルインストール先を永続ストレージへ(sudo 不要 & セッションを跨いで維持)
export NPM_CONFIG_PREFIX="$HOME/storage/.npm-global"
export PATH="$NPM_CONFIG_PREFIX/bin:$PATH"
mkdir -p "$NPM_CONFIG_PREFIX"
# 2) Codex CLI(未インストールの場合のみ)
command -v codex >/dev/null 2>&1 || npm install -g @openai/codex
# 3) LLM プロバイダー定義
mkdir -p ~/.codex
cat > ~/.codex/config.toml <<CONFIG
[model_providers.dr]
name = "DataRobot LLM Gateway"
base_url = "${DATAROBOT_ENDPOINT}/genai/llmgw"
env_key = "DATAROBOT_API_TOKEN"
wire_api = "responses"
[shell_environment_policy]
inherit = "all"
CONFIG
# 4) プロファイル "dr"
cat > ~/.codex/dr.config.toml <<'CONFIG'
model_provider = "dr"
model = "azure/gpt-5-5-2026-04-23"
model_context_window = 1050000
model_max_output_tokens = 128000
# Codespaces には bubblewrap が無く、既定のサンドボックスが機能しないため
# コマンドのたびに承認を求められます。以下2行でそれを回避します。
sandbox_mode = "danger-full-access"
approval_policy = "never"
CONFIG
# 5) エイリアス
alias drcodex='codex --profile dr'
echo "✅ Codex CLI セットアップ完了:$(codex --version 2>/dev/null)"
EOF
Step 3: セッション開始時に自動で読み込むようにする
echo '[ -f ~/storage/codex-setup.sh ] && source ~/storage/codex-setup.sh' >> ~/.bash_profile
source ~/.bash_profile
~/.bash_profile はホーム直下なのでセッション終了時にリセットされます。セッションを開始したら、この2行だけ実行してください。以降は新しいターミナルを開くたびに自動でセットアップが走ります。
初回はこう表示されます。
$ source ~/.bash_profile
added 2 packages in 7s
✅ Codex CLI セットアップ完了:codex-cli 0.145.0
2回目以降は ~/storage/.npm-global に Codex が残っているため、インストールがスキップされて一瞬で完了します。
$ source ~/.bash_profile
✅ Codex CLI セットアップ完了:codex-cli 0.145.0
$ which codex
/home/notebooks/storage/.npm-global/bin/codex
ハマりどころ:
sourceとaliasを同じ行に書かない
source ~/.bash_profile; drcodexのように1行にまとめると alias が効きません(bashは1行をまとめて解析してから実行するため)。sourceを実行した後、改行して次のコマンドを打ってください。
プロファイルは別ファイルに置く
config.tomlの中に[profiles.dr]テーブルを書くと、0.145.0 ではエラーになります。Error loading config.toml: --profile `dr` cannot be used while ~/.codex/config.toml contains legacy `profile = "dr"` config; move those settings into ~/.codex/dr.config.toml ...上記スクリプトのように、プロファイルの中身は
~/.codex/<プロファイル名>.config.tomlに分けてください。
なぜ
sandbox_mode = "danger-full-access"が必要か
Codex は既定でコマンドを bubblewrap のサンドボックス内で実行しますが、Codespaces には bubblewrap が無いためサンドボックスが機能しません。その結果、lsのような無害なコマンドまで毎回こんな確認が出ます。Would you like to run the following command? Reason: サンドボックスの制約で基本的なファイル確認が失敗しました。 プロジェクト構成を確認するため権限付きで実行してよいですか?Codespaces 自体が使い捨てのコンテナであり、既に隔離された環境です。そのうえで実行するので
danger-full-accessを選んでも実害はほぼありませんが、「AIが確認なしにコマンドを実行する」設定であることは理解したうえでお使いください。慎重に進めたい場合は、この2行を消せば毎回確認が入ります。
2. 実践!Codespaces内でのVibe Coding
ターミナルで drcodex と入力して起動しましょう。
$ drcodex
初回起動時は、このディレクトリを信頼するかを尋ねられます。
Welcome to Codex, OpenAI's command-line coding agent
> You are in /home/notebooks/storage/verify
Do you trust the contents of this directory? Working with untrusted contents comes
with higher risk of prompt injection. Trusting the directory allows project-local
config, hooks, and exec policies to load.
› 1. Yes, continue
2. No, quit
Press enter to continue
自分で作った作業ディレクトリであれば「1. Yes, continue」を選んでEnterを押してください。
モデル情報とプロンプト > が表示されたら準備完了です。
>_ OpenAI Codex (v0.145.0)
model: azure/gpt-5-5-2026-04-23 /model to change
directory: ~/storage/verify
permissions: YOLO mode
› Explain this codebase
azure/gpt-5-5-2026-04-23 default · ~/storage/verify
permissions: YOLO mode と出ていれば、前述の sandbox_mode / approval_policy が効いている状態です。承認プロンプトなしでコマンドが実行されます。/init、/status、/model、/diff などのコマンドも使えます。
起動時に出る2つの警告について(無視してOK)
warning: Codex could not find bubblewrap on PATH. Codex will use the bundled bubblewrap in the meantime.
warning: Model metadata for `azure/gpt-5-5-2026-04-23` not found. Defaulting to fallback metadata; ...
- 1つ目は前述のサンドボックスの話です。
- 2つ目は、
azure/gpt-5-5-2026-04-23が DataRobot LLM Gateway 側のモデル名で、Codex の組み込みモデル表に存在しないためです。プロファイルでmodel_context_window/model_max_output_tokensを指定していれば挙動に問題はありません。
どちらも動作には影響しません。
シナリオA:DataRobot APIを使ったスクリプト作成
まずは「雰囲気(Vibe)」で指示を出して、Pythonスクリプトを作ってみます。
> DataRobotのAPIを使って、現在デプロイされているモデルの一覧を取得するPythonスクリプトを作って。
> 結果はPandas DataFrameで見やすく表示したい。
> ファイル名は list_deployments.py で。作成したら実行して動作確認までして。
Codexはまず作業計画を立て、公式ドキュメントを検索しながら実装を進めます。
• まずリポジトリ状況を確認し、DataRobot APIの現行仕様も公式情報で軽く確認してから
スクリプトを追加します。
• Updated Plan
└ □ 確認:既存ファイルと方針
□ 公式API仕様を確認
□ スクリプトを作成
□ 構文と使い方を検証
• Explored
└ List ls -la
Search AGENTS.md in ..
• Searching the web
• Searched the web for DataRobot Python client list deployments Deployment.list
official documentation
• 公式ドキュメントでは dr.Deployment.list() が一覧取得に使えるため、
それを中心にDataFrame化します。次にファイルを作成します。
• Updated Plan
└ ✔ 確認:既存ファイルと方針
✔ 公式API仕様を確認
□ スクリプトを作成
□ 構文と使い方を検証
完了すると、変更内容と使い方をまとめて報告してくれます。
• 作成しました。DataRobot公式ドキュメントの dr.Deployment.list()
(閲覧可能なDeployment一覧取得)に合わせて実装しています。
変更内容
- list_deployments.py:1 にスクリプトを作成・更新しました。
- list_deployments.py:80 で dr.Client() 初期化後、dr.Deployment.list() から一覧を取得します。
- list_deployments.py:45 で Deployment オブジェクトを DataFrame 向けの平坦な行データに変換します。
- list_deployments.py:97 に --all-columns と --csv PATH オプションを追加しました。
実行方法
- 通常表示 : python list_deployments.py
- 全カラム表示: python list_deployments.py --all-columns
- CSV保存 : python list_deployments.py --csv deployments.csv
生成されたスクリプトを実行すると、実際にデプロイ一覧がDataFrameとして取得できました。
$ ls -l list_deployments.py
-rw-rw-r--. 1 notebooks notebooks 5087 Jul 28 23:59 list_deployments.py
$ python list_deployments.py
rows: 177
columns: ['id', 'label', 'status', 'description', 'service_health',
'model_health', 'accuracy_health', 'fairness_health']
DATAROBOT_API_TOKEN / DATAROBOT_ENDPOINT が環境変数として入っているため、認証情報を1行も書かずに DataRobot API を叩くコードが動きます。[shell_environment_policy] inherit = "all" を設定しているのがここで効いています。
DataRobot CodespacesはVS Codeベースのエディタを備えているため、生成されたファイルは左側のファイルエクスプローラーに即座に表示され、GUIで確認・編集することも可能です。
シナリオB:エラー修正とリファクタリング
実行してエラーが出た場合も、ターミナルに戻ってAIに修正させます。
> さっきのコード、デプロイメントIDも表示項目に追加して。
> あと、メイン処理を関数化して整理して。
/diff コマンドを使えば、AIがどの行を書き換えようとしているかが色付きで表示されるため、意図しない破壊的な変更を防げます。
シナリオC:Git連携(Codespacesの強み)
DataRobot CodespacesはGit統合機能を持っていますが、CLIからも操作可能です。
> 今の変更を 'feat: add deployment listing script' というコメントでコミットして。
これで、git add から git commit までが自動で行われます。
Gitリポジトリではないディレクトリで作業する場合、
codex execには--skip-git-repo-checkを付けてください(対話モードでは不要です)。
3. 使いこなしのポイント
モデルの選び方
DataRobot LLM Gateway で利用できるモデルは、LLMゲートウェイカタログAPI で確認できます。
from datarobot.models.genai.llm_gateway_catalog import LLMGatewayCatalog
print(LLMGatewayCatalog.get_available_models())
Codex CLI からの利用でおすすめの構成は以下のとおりです(いずれも検証環境で実際に応答を確認済み)。
| モデル | コンテキスト | 用途 |
|---|---|---|
azure/gpt-5-5-2026-04-23(推奨) |
1,050,000 | 最新の GPT-5.5。推論・ツール呼び出し対応。大規模リポジトリの読み込みに強い |
azure/gpt-5-2-2025-12-11 |
400,000 | プレビュー扱いではない安定版を使いたい場合 |
azure/gpt-5-codex-2025-09-15 |
400,000 | コーディング特化モデル |
azure/gpt-5-4-mini-2026-03-17 |
400,000 | 軽い相談や短いタスクを安く速く回したいとき |
⚠️
gpt-4o系は非推奨です
azure/gpt-4o-2024-11-20およびazure/gpt-4o-miniは非推奨(deprecated)で、2026年10月1日に提供終了予定です。まだ呼び出せますが、新規に使うのは避けてGPT-5系をお使いください。なお
azure/gpt-5-5/azure/gpt-5-4系は現在プレビュー扱いです。プレビューを避けたい場合はazure/gpt-5-2-2025-12-11を選んでください。
wire_api = "responses" の設定は GPT-5 系を使うために必要です。
複数プロファイルを使い分ける
用途に応じてプロファイルを増やせます。ファイルを追加するだけです。
# 軽量・高速な相談用プロファイル
cat > ~/.codex/drmini.config.toml <<'EOF'
model_provider = "dr"
model = "azure/gpt-5-4-mini-2026-03-17"
model_context_window = 400000
sandbox_mode = "danger-full-access"
approval_policy = "never"
EOF
alias drchat='codex --profile drmini'
エイリアスは ~/storage/codex-setup.sh に追記しておけば、次回以降も自動で読み込まれます。
Web検索がそのまま使える
DataRobot LLM Gateway 経由でも、Codex の Web検索ツール(web_search)はそのまま動きます。追加設定は不要です。
$ drcodex exec --skip-git-repo-check 'web_searchで openai/codex の最新リリース番号を調べて、番号だけ答えて'
0.146.0-alpha.14
ライブラリの最新バージョン確認や、公式ドキュメントを参照しながらの実装で効いてきます。実際、前述のシナリオAでも Codex は DataRobot 公式ドキュメントを検索してから dr.Deployment.list() を選んでいました。
非対話モードで一発実行
CI的に回したい、あるいはシェルスクリプトから呼びたい場合は codex exec が便利です。
codex exec --profile dr --skip-git-repo-check 'READMEを日本語に翻訳して README.ja.md に保存して'
具体的な指示を出す(Vibe Codingのルール)
「いい感じにして」ではなく、「要件・機能・タスク」を意識して指示を出しましょう。
- ❌ 「天気のやつ作って」
- ⭕️ 「DataRobotの予測APIを叩く関数を作成して。引数は日付と地点コード、戻り値は降水確率のJSONで。」
まとめ
DataRobot CodespacesとOpenAI Codex CLIを組み合わせることで、「ブラウザを開くだけ」で、企業レベルのセキュリティと最新のAIモデルを備えた開発環境が手に入ります。
押さえておきたいポイントは5つです。
-
~/storage/codex-setup.shに集約 — Codex 本体ごと永続化して、2回目以降は再インストール不要 -
base_urlは$DATAROBOT_ENDPOINTから組み立てる — EU/日本/セルフマネージド環境でもそのまま動く -
プロファイルは
~/.codex/<名前>.config.tomlに分ける —[profiles.x]はエラーになる -
sandbox_mode = "danger-full-access"を入れる — Codespaces では既定サンドボックスが機能しない -
モデルは GPT-5 系へ —
gpt-4o系は 2026年10月1日で提供終了
ローカル環境のメンテナンスに時間を取られるのはもう終わりです。drcodex エイリアスを設定して、DataRobot上で快適なVibe Codingライフを始めましょう。
セキュリティとコンプライアンスについて
DataRobot LLM Gatewayを経由する場合、インプットデータが学習に使われることがない契約 となっています。これにより、機密情報を扱う企業でも安心してLLMを利用できる基盤が整っています。
また本記事の sandbox_mode = "danger-full-access" / approval_policy = "never" は、使い捨てのCodespacesコンテナ内で完結することを前提とした設定です。ローカルPCや本番サーバーで同じ設定を使うことは推奨しません。
なお、LLMやAIコーディングツール自体の利用が、貴社の社内コンプライアンス上問題ないかについては、必ずご自身で確認をお願いします。