6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Vibe Coding】ローカル環境不要!DataRobot Codespaces × OpenAI Codex CLIで始める爆速開発

6
Last updated at Posted at 2025-12-18

【Vibe Coding】ローカル環境不要!DataRobot Codespaces × OpenAI Codex CLIで始める爆速開発

お知らせ
この記事は2025年12月に公開したものですが、2026年7月に最新環境で全手順を実機検証し、内容を全面的にアップデートしました。
Codex CLI の設定方法と利用可能なモデルが変わっているため、以前の手順で設定された方はご確認ください。

検証環境(2026年7月29日時点)

項目 バージョン
Codex CLI 0.145.0
DataRobot 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 が強力な選択肢になります。

  1. 環境構築が不要: ブラウザだけで完結し、VS Codeベースの慣れ親しんだインターフェースがすぐに利用できます。
  2. 永続ストレージ: ~/storage はセッションを跨いで維持される別ボリュームです。ホームディレクトリ直下はセッション終了時にリセットされるため、後述の手順では Codex CLI 本体も ~/storage に置いて、2回目以降の再インストールを不要にします。
  3. セキュリティ: 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_TOKENDATAROBOT_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

ハマりどころ:sourcealias を同じ行に書かない
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つです。

  1. ~/storage/codex-setup.sh に集約 — Codex 本体ごと永続化して、2回目以降は再インストール不要
  2. base_url$DATAROBOT_ENDPOINT から組み立てる — EU/日本/セルフマネージド環境でもそのまま動く
  3. プロファイルは ~/.codex/<名前>.config.toml に分ける[profiles.x] はエラーになる
  4. sandbox_mode = "danger-full-access" を入れる — Codespaces では既定サンドボックスが機能しない
  5. モデルは 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コーディングツール自体の利用が、貴社の社内コンプライアンス上問題ないかについては、必ずご自身で確認をお願いします。

参考文献

6
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?