【開発環境】AIコーディング三巨頭 徹底比較[2]: 2025/11/26

環境整備

環境(Windows 11 + VS Code + WSL2)想定で使える、GitHub Copilot / Claude Code / Codex CLI を連携させた “三位一体 AI コーディングワークフロー” を具体的に設計


✅ 前提環境

  • OS: Windows 11
  • エディタ: Visual Studio Code (VS Code)
  • Linux互換環境: Windows Subsystem for Linux v2 (WSL2) + Ubuntu 等 Microsoft Learn+1
  • バージョン管理: Git(WSL 側で動かす)+SSH鍵や Credential Manager を適切に設定 Microsoft Learn+1
  • 必要に応じて、Docker / Dev Container を使った開発も可能(WSL2 + Docker Desktop の組み合わせが一般的) Visual Studio Code+1

→ こうすると、Windows の利便性を保ちつつ、Linux ネイティブなツール/スクリプトも違和感なく使えるよ。


🧰 ワークフロー構成 — 各ツールの役割と流れ

1. 仕様設計フェーズ → Claude Code

  • プロジェクトの要件、機能仕様、アーキテクチャ、モジュール分割、ファイル構成などを 自然言語で Claude Code に相談
  • 「なぜこう設計するか」「他の選択肢は?」といった議論も可能 → コードの土台・構造をきちんと決める
  • 出力としては、設計ドキュメント、擬似コード、ファイル構成案、インターフェース仕様、README/仕様書ドラフトなど

→ 特に複雑なプロジェクト(たとえば、あなたの 3D 流体シミュレーション + Web UI + 制御パイプライン など)では、初期仕様決めの品質があとあと大きく効いてくるから有効。


2. 実装フェーズ → GitHub Copilot

  • VS Code 上で実装するとき、Copilot が リアルタイム補完/コード生成をサポート
    • 関数やクラスのスケルトン
    • コメントからコード生成
    • 簡単なユーティリティ、定型処理、入力チェックなど
  • 小さなモジュール、軽微な機能追加、既存コードへの修正などを スピーディに実装

→ 毎日のコーディングを高速化。設計で決めた仕様を素早く実装に落とす役割。


3. 自動化/スクリプト/運用対応フェーズ → Codex CLI

  • WSL2 ターミナルで、Codex CLI に対して自然言語 or プロンプトで命令
    • 「この処理を python スクリプトにして」「テストコードを書いて」「CI用のビルドスクリプトを書いて」「このフォルダ構成でテンプレートを生成して」など
  • 生成したコードをそのまま 実行 → テスト → 修正 まで一貫で行う(CLI なのでスクリプトやバッチ処理が得意)
  • 自動化タスク、データ前処理、バッチ処理、ビルド/デプロイ/テスト環境の整備などに強み

→ 特に、流体シミュレーションのように「何度も回す、繰り返す、パラメータ変える」タイプの処理なら、手動でやるのは非効率/ミスのもとなので、この自動化がかなり役立つ。


⚙️ 具体的な導入手順と設定例

1. WSL2 を有効化&Ubuntu 等をインストール  
   - Windows の機能で WSL を有効化 → 再起動 → Microsoft Store から Ubuntuを導入 :contentReference[oaicite:9]{index=9}  
   - 初回起動後、ユーザー設定+パッケージ更新(sudo apt update / upgrade)  

2. Git を WSL 上にインストール&設定  
   - sudo apt install git  
   - git config --global user.name / email を設定  
   - SSH 鍵生成して GitHub/GitLab に登録、または Credential Manager を使う  
   - 必要に応じて line-ending や .gitattributes に注意(Windows/Linux間の差異) :contentReference[oaicite:10]{index=10}

3. VS Code と “Remote - WSL” 拡張インストール  
   - VS Code を Windows 側に入れておき、WSL 環境に接続して開発する  
   - WSL モードで編集/デバッグ/Git 操作が可能になる :contentReference[oaicite:11]{index=11}  

4. 必要な言語/ランタイム/ツールを WSL 側にインストール  
   - 例: Python / Node.js / Docker / C++ / nvm / 各種ライブラリ 等  
   - あなたの流体シミュレーションなら、C++, Python, 3D ライブラリ, 依存ツールを入れておく  

5. 各 AI ツールのセットアップ  
   - Copilot: VS Code 拡張として導入  
   - Claude Code: Web もしくは CLI / API経由でアクセス可能(必要なら VS Code 拡張も)  
   - Codex CLI: WSL 側でインストール・認証 → ターミナルから使用  

6. Git ブランチ戦略を決める  
   - 例: `main / develop / feature/… / hotfix` など  
   - 仕様設計 → feature ブランチで実装 → PR/レビュー → develop → main へ、みたいな流れ  

7. ワークフロー確認  
   - 仕様変更時 → Claude Code で設計見直し → feature ブランチで実装/修正  
   - 定期バッチ/ビルド・テスト → Codex CLI で自動化  


💡 プロンプト例(フェーズ別)

💬 仕様設計(Claude Code向け)

“We need a module to perform 3D turbulent flow simulation with adjustable nozzle-to-blade distance, output results as JSON + CSV.
The module should be callable from a Python CLI, accept parameters (mesh size, flow speed, output format), and log runtime info.
Provide: (1) file structure, (2) module interface definitions, (3) configuration parameter list with types/defaults, (4) brief README draft.”

→ これで、複数ファイルにまたがる設計案が戻ってくる。

🧑‍💻 実装(Copilot向け)

VS Code でファイルを作って、トップに

# simulate.py
# Input: mesh_size: int, flow_speed: float, output_format: str (“json” / “csv”)  
# Output: file with results + log  

とコメント書く → Copilot に補完を任せる。

🤖 自動化 / テスト /バッチ処理(Codex CLI向け)

ターミナルで:

$ codex-cli "Write a bash script that runs simulate.py for a list of parameter sets from params.csv, and logs execution time + output path."

→ 出力されるスクリプトに実行権限を与えて実行 → テスト & ログ取得。

必要あれば:

$ codex-cli "Add error handling: if simulate.py fails, retry up to 3 times, and log error to errors.log"

と追加させることも可能。


🚀 なぜこのワークフローが強いか — あなたのような “CFD + Web + 自動化” に最適な理由

  • 設計の柔軟性と拡張性:Claude Code でしっかり設計 → 仕様の曖昧さによる後戻りを減らせる
  • 実装の高速化:Copilot による補完で「型定義 → 実装 → テスト」のサイクルが早く回る
  • 自動化/運用効率:Codex CLI を使えば、繰り返し処理やバッチ処理、テスト/デプロイを手離れよく実行可能
  • Windows のまま Linux ライクなワークフロー:WSL2+VS Code により、OS間の違いを気にせずに開発できる

つまり、複雑な流体シミュレーション + UI/管理ツール + 自動化 のような、構造も処理も多層なプロジェクトほど、このワークフローの恩恵が大きい。

コメント

タイトルとURLをコピーしました