ChatGPT × Codexで回す“実装~PR~検証”ワークフローまとめ(2025-10-11版)

FUnity Unity
FUnity

この記事でやること

  • ChatGPTに修正案の相談Codex向けの指示プロンプト作成を任せる
  • Codexに指示プロンプトを投入→自動実装→Pull Request作成
  • GitHubでPRをレビュー&マージ
  • ローカルPCでpull → Unityで再生で動作確認

前提(環境・準備)

  • GitHub リポジトリ(main / develop などのブランチ運用)
  • Codex(コード自動編集・PR作成が可能なアシスタント)
  • ChatGPT(要件整理・設計・指示プロンプト生成)
  • Unity(本記事では Unity 6 系を想定)
  • ローカルに git / Unity Editor がインストール済み

全体フロー(ざっくり)

[ChatGPT] 仕様・修正案を対話で詰める
      ↓
[ChatGPT] Codex向け「構造化プロンプト」を生成
      ↓
[Codex]   プロンプトを実行して変更・PR作成
      ↓
[GitHub]  PRレビュー → マージ
      ↓
[Local]   git pull → Unity再生で動作確認

手順①:ChatGPTに修正案を提案してもらう

目的:何を、なぜ、どこに、どう直すかを明確化。
ポイント:制約・成功条件・検証方法まで書き切ると、Codexでの実装が安定。

サンプル質問(ChatGPTへ)

FUnityの「フーニーのふわふわアニメーション」で、UI ToolkitのAPI差異でエラーが起きています。
Unity 6000.0.58f2に合わせた安定実装と、ループ再生の仕組みを提案してください。
前提: IValueAnimationは非ジェネリック、onAnimationCompletedは不可。schedule.Executeで再起動したい。
成功条件: コンパイル成功、Playで上下にふわふわ動く、警告なし。

手順②:ChatGPTに「Codexへの指示プロンプト」を作ってもらう

目的:Codexがそのまま実行できる構造化プロンプトを作る。

含めるべき情報

  • 対象/生成ファイルのフルパス
  • 変更内容(差分の要旨)と必須仕様
  • API・引数・型の注意点
  • 成功条件検証手順
  • 出力フォーマット指示(完全コード、英語コメント 等)

指示プロンプトのテンプレ(コピペOK)

# 🧠 Codex Instruction(構造化プロンプト)

## 🎯 タスク概要
(何を、なぜ、どう直すか。背景・制約を含め簡潔に)

## 📁 対象/生成ファイル
(フルパスで列挙)

## ⚙️ 実装要件
- (必須仕様1)
- (必須仕様2)
- (API/型の注意点)

## 🔧 実装例(参考/擬似コード)
(短い補助スニペット)

## ✅ 成功条件
- (ビルド成功、警告なし 等)
- (ランタイムの見た目/挙動)

## 🧪 検証手順
1) (Unityでの操作、ログメッセージ等)
2) (PRレビュー観点)

## 📝 出力フォーマット指示
> すべての対象ファイルを**完全な内容**で出力。
> コメントは英語で簡潔に。
> パスと名前空間は既存構成に合わせる。

手順③:Codexで指示プロンプトを実行

  • プロンプトを貼り付けてそのまま実行
  • 出力が差分ではなく“ファイル全文”になっているか確認
  • 生成・変更ファイルのパス名前空間のズレがないかチェック

うまくいかない時のコツ

  • エラーメッセージをそのままコピペし、ChatGPTに最小修正の指示プロンプトを作らせる
  • asmdefエラーは、どのアセンブリ→どれを参照すべきかを明記

手順④:CodexからPull Requestを生成

  • ブランチ名PRタイトル説明(要点/変更点/検証方法)までCodexに書かせるとレビューが楽

PR本文テンプレ

## Summary
- Fix floating animation using non-generic IValueAnimation
- Replace onAnimationCompleted with schedule.Execute loop

## Changes
- Runtime/UI/FooniElement.cs: StartFloatingAnimation() を Action<VisualElement,float> で実装
- Editor/...: asmdef references updated

## How to test
1. Open FUnitySample scene
2. Run menu: FUnity → Fix → Rebind FUnity UI Initializer
3. Play: Fooni floats up and down smoothly (3s period, ±10px)

## Notes
- Unity 6000.0.58f2
- No warnings, no errors

手順⑤:GitHubでマージしてコミット

  • 通常のコードレビューと同じ
  • 命名/責務/参照関係(asmdef)を重点チェック
  • サンプルシーンでMissing(MonoBehaviour) が出る変更なら、修復メニューをPRに含めると親切

手順⑥:ローカルPCで修正をPull

git checkout main
git pull origin main
git log -1
git status

手順⑦:Unityエディターで再生して動作確認

  1. 必要なら修復メニューを実行(例:FUnity/Fix/Rebind FUnity UI Initializer
  2. Consoleログの成功メッセージ警告なしを確認
  3. シーンを再生して挙動を見る(例:フーニーが±10px/3s周期でふわふわ)

失敗しやすいポイントと対処(FAQ)

症状代表原因対処
CS0246 型が見つからないasmdef 参照不足どのasmdefからどれを参照すべきかを明文化してプロンプトに書く
CS0308 ジェネリック誤用IValueAnimation<float> など非ジェネリックとして宣言。Start()の第3引数はミリ秒(int)、第4引数はAction
CS1061 メンバが無いAPI差異代替:onAnimationCompletedschedule.Execute(...).StartingIn(...)
Missing(MonoBehaviour)GUID/アセンブリ変更Rebind用Editorメニューを用意(シーン自動修復)
画像が出ないResources/パス相違Editorユーティリティで自動コピー(Art→Resources)を用意すると安定

「いい指示プロンプト」にするチェックリスト

  • [ ] 対象ファイルのフルパスを書いたか
  • [ ] アセンブリ参照(asmdef)の有無・必要な参照先を明記したか
  • [ ] APIの罠(引数型、世代差)を具体的に書いたか
  • [ ] 成功条件(ビルド/実行/ログ)を列挙したか
  • [ ] 検証手順を番号付きで書いたか
  • [ ] 出力形式(完全コード、英語コメント)を指示したか

まとめ

  • ChatGPTは仕様・設計・指示プロンプト作成に最適、Codexは自動実装~PR化が得意。
  • 何を、どこに、どう直し、どう確認するか」を構造化プロンプトで渡すと失敗が激減。
  • asmdefやUnity APIの差異などハマり所は、明文化してプロンプトに含めるのがコツ。

本記事はFUnityの事例をベースにしていますが、Unity以外のプロジェクト(Web/Server/ML)にも応用可能です。


コメント

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