ChatGPTとCodexの二段構え開発フロー:計画と実装を分離するAI駆動開発の実践
出典: horimon

Unity上で自律的に動作する3DアバターをAIで開発する際に、ChatGPTで実装計画を立案し、Codexで実装するという二段階アプローチを採用した事例を紹介。単にAIにコードを書かせるのではなく、計画と実装を分離することで開発の質とトレーサビリティを向上させる手法です。
AI開発における「計画」と「実装」の分離という新たな潮流
AIによるコード生成が一般化した今、多くの開発者が「AIにコードを書いてもらう」という直接的なアプローチを取っています。しかし、@horimonさんが提示した開発フローは、この常識を一歩進めたものです。ChatGPTによる計画立案とCodexによる実装という**二段構えの開発プロセス**を構築することで、より制御可能で追跡可能な開発を実現しています。
このアプローチが注目に値するのは、単なるコード生成の自動化ではなく、**ソフトウェア開発プロセスそのものをAIで再設計**している点です。人間の役割、AIの役割、そして品質保証のループを明確に定義することで、個人開発でもエンタープライズレベルの開発体制に近い構造を実現しています。
実装フローの詳細分析
@horimonさんが採用している開発フローは以下の6ステップで構成されています:
1. 人間が目的を伝える
開発者は技術的な詳細ではなく、**ビジネス要件やユーザー体験レベルの目的**を定義します。これにより、開発者は「何を作るか」に集中できます。
2. ChatGPTが実装計画を作る
ChatGPTは受け取った目的を技術的な実装計画に翻訳します。ここでの重要なポイントは、**計画の立案を独立したステップとして扱う**ことです。これにより、実装前にレビューや調整が可能になります。
3. last_plan.mdへ保存する
計画をファイルとして永続化することで、**トレーサビリティと再現性**を確保します。これは従来の設計書の役割をAI時代に適応させたものと言えるでしょう。
4. Codexが実装する
保存された計画をもとに、Codexが実際のコードを生成します。計画という「設計図」があることで、Codexはより焦点を絞った実装が可能になります。
5. 自動テストとUnity実機評価を行う
生成されたコードは自動的にテストされ、Unity環境で実機評価されます。ここが**品質保証のゲート**として機能します。
6. 評価結果を次の計画へ戻す
テスト結果は次のイテレーションにフィードバックされ、継続的な改善サイクルを形成します。
編集部の視点
従来のAIコーディング手法との根本的な違い
GitHub CopilotやCursor、Claude Codeといった一般的なAIコーディングツールは、**コンテキストに基づく即座のコード生成**を提供します。開発者がコメントを書いたり、コードの続きを書き始めると、AIがリアルタイムで補完します。
対して、この二段構えアプローチは以下の点で異なります:
メリット:制御可能性とスケーラビリティ
このアプローチの最大のメリットは**開発プロセスの可視化と制御**です。具体的には:
1. **レビューポイントの明確化**:計画段階でレビューできるため、誤った方向に実装が進むリスクを減らせます
2. **チーム開発への拡張性**:個人開発で始めても、計画ファイルを共有することでチーム開発に移行しやすくなります
3. **品質保証の組み込み**:自動テストと実機評価を必須ステップとすることで、品質を担保します
4. **知見の蓄積**:計画ファイルが�積積されることで、プロジェクトの進化過程が文書として残ります
注意点:オーバーヘッドとツール依存
一方で、以下の点には注意が必要です:
適用範囲:どんなプロジェクトに向いているか
この手法が特に効果を発揮するのは:
逆に、以下のような場合には過剰な可能性があります:
今日から試せるアクション
アクション1:ミニマル版の二段構えフローを試す
いきなり完全な自動化環境を構築するのではなく、手動で二段構えフローを体験してみましょう:
1. ChatGPTに「〇〇機能を実装したい。実装計画を箇条書きで作成してください」と依頼
2. 生成された計画を`plan.md`というファイルに保存
3. そのファイルをGitHub CopilotやCursorに読み込ませ、「この計画に基づいて実装してください」と指示
4. 実装結果を評価し、改善点を次の計画に反映
この手動プロセスで、計画と実装を分離するメリットを体感できます。
アクション2:計画テンプレートを作成する
ChatGPTに質の高い計画を生成させるため、計画のテンプレートを定義しましょう:
# 実装計画
## 目的
[何を実現するか]
## 影響範囲
[変更されるファイル・モジュール]
## 実装ステップ
1. [ステップ1]
2. [ステップ2]
...
## テストポイント
- [テスト項目1]
- [テスト項目2]
## リスクと対策
[想定されるリスクと対処法]このテンプレートをChatGPTへのプロンプトに含めることで、一貫性のある計画を生成できます。
アクション3:既存のCI/CDパイプラインに評価ステップを追加する
すでにGitHub ActionsやGitLab CIを使っている場合、AI生成コードの評価ステップを追加しましょう:
- name: AI Code Evaluation
run: |
# 静的解析
pylint generated_code/
# 単体テスト
pytest tests/
# カバレッジチェック
coverage report --fail-under=80これにより、AI生成コードの品質を自動的に監視できます。結果はログとして残るため、次の計画立案時に参照可能です。
まとめ:AI時代の開発プロセス設計
@horimonさんのアプローチは、AIを単なる「コード生成ツール」としてではなく、**開発プロセス全体を再設計するための要素**として捉えています。計画と実装の分離、中間成果物の永続化、自動評価ループの構築といった要素は、AI時代のソフトウェア開発における新しいベストプラクティスの萌芽と言えるでしょう。
特に個人開発者にとって、このような構造化されたアプローチは、プロジェクトが大きくなっても破綻しにくい基盤を提供します。最初は手間に感じるかもしれませんが、プロジェクトが成長するにつれて、その価値を実感できるはずです。
この情報は @horimon さんの投稿を参考にしています。
出典: horimon


