Nexus AIコミュニティにお越しいただき、ありがとうございます。
ChatGPTを使ってプログラムを書くことは、今では珍しいことではなくなりました。
しかし、実際に開発を進めてみると、「AIにコードを書いてもらう」だけでは思うように進まない場面が少なくありません。
私自身も、これまでChatGPTにコードを書いてもらいながら、小規模なツールなどを開発してきました。
しかし、あるWordPressプラグインの開発をきっかけに、AIとの付き合い方そのものを見直すようになりました。
その結果として生まれたのが、ChatGPT・Codex・GitHubを役割分担させる「AI共同開発」という考え方です。
AI共同開発とは、ChatGPT・Codex・GitHubがそれぞれ設計・実装・管理の役割を担い、人間が最終的な意思決定を行う開発体制のことです。
一つのAIにすべてを任せるのではなく、それぞれの得意分野を組み合わせることで、個人開発でもチーム開発に近い品質と再現性を実現できます。
この記事では、実際にGitHubもCodexも初めて使った状態からプラグイン開発を進める中で見えてきた、新しい開発フローについて紹介します。
AI共同開発とは?
AI共同開発とは、一つのAIにすべてを任せるのではなく、それぞれのAIが得意な役割を担当し、人間が全体を設計・判断する開発スタイルです。
従来は、次のような流れで開発することが一般的でした。
人
↓
ChatGPT
↓
コード完成
もちろん、この方法でも小規模なツールやスクリプトであれば十分に開発できます。
しかし、プロジェクトが大きくなるほど、次のような課題が発生します。
- 設計の意図が途中で失われる
- チャットが長くなり、過去の内容を参照しづらくなる
- コードレビューが難しくなる
- バージョン管理が曖昧になる
- 修正履歴が残りにくい
AIの性能に問題があるわけではなく、開発体制そのものに限界があることが分かってきました。
「AIにコードを書かせる」から始まった
今回の開発も、最初から大きな構想があったわけではありません。
「まずはプラグインのMVPを作ってみよう。」
そんな軽い気持ちで始めました。
これまで通り、ChatGPTと相談しながら進めれば十分だろうと考えていたのです。
ところが、開発を進めるにつれて自然と新しい疑問が生まれました。
- せっかくならCodexも使ってみたい
- Codexを使うならGitHubが必要そうだ
- GitHubを使うならIssue管理もあった方が良い
- AIが設計を理解できるように要件定義書も整理したい
こうして、一つひとつ必要なものを追加していくうちに、開発環境そのものが変化していきました。
この変化は、「最初から設計した」というよりも、実際に開発しながら自然に辿り着いた結果でした。
「AIの性能が足りない」のではなかった
開発を進めながら最も印象的だったのは、「もっと性能の高いAIが欲しい」と感じたことが一度もなかったことです。
代わりに感じたのは、「役割が整理されていない」という問題でした。
たとえば、一人の人間が
- プロジェクトマネージャー
- システム設計者
- プログラマー
- コードレビュアー
をすべて同時に担当すると、作業は複雑になります。
AIでも同じことが起きていました。
一つのチャットですべてを完結させようとすると、
- 設計の相談
- コード生成
- バグ修正
- レビュー
- 次の設計
が混ざってしまいます。
すると、AIの能力ではなく、会話の構造が複雑になってしまうのです。
AIそれぞれの役割を整理し、人間が全体を設計することが重要です。
ChatGPT・Codex・GitHubの役割を整理する
そこで考えたのが、それぞれの役割を明確に分けることでした。
開発を始める段階で、まずは次のように役割を整理しました。
| 担当 | 主な役割 |
|---|---|
| 人 | 目的・要件・最終判断 |
| ChatGPT | 設計、要件整理、プロンプト作成、レビュー |
| Codex | 実装、コード修正、Pull Request作成 |
| GitHub | Issue管理、バージョン管理、履歴管理 |
これにより、一つのAIにすべてを任せるのではなく、それぞれが得意分野を担当する形になります。
実際には、ChatGPTがCodexへ依頼するためのプロンプトを作成し、その内容をCodexが実装します。
そして、完成したコードを再びChatGPTがレビューし、必要な修正をCodexへ依頼します。
人間はその全体を確認し、最終的な判断を行います。
AIは「代わりに開発する存在」ではなく、開発チームの一員として機能するようになりました。
Plugin Skeleton完成までの手順
今回のAI共同開発は、机上で考えたものではありません。
実際にWordPressプラグインの開発を進めながら試行錯誤を繰り返し、その中で自然と形になっていった開発フローです。
最初の目標は機能を実装することではなく、プラグインの土台となる「Plugin Skeleton」を完成させることでした。
この時間には、GitHubの登録やCodexの初期設定にかかった時間も含まれています。
初めて触るツールにも関わらず、3時間ほどで形になったのは驚異的なスピードだと感じています。
実際に行った作業を時系列で整理すると、次のようになります。
- GitHubでRepositoryを作成する
- Gitをローカル環境へ接続する
- VS Codeの開発環境を整える
- Codexを導入し、GitHubと連携する
- GitHubでIssueを作成する
- Issueごとにfeatureブランチを作成する
- 設計内容を整理したドキュメントをRepositoryへ配置する
- ChatGPTがCodexへ実装依頼用のプロンプトを作成する
- CodexがPlugin Skeletonを実装し、Pull Requestを作成する
- ChatGPTがコードレビューを行う
- Codexへ修正を依頼する
- 修正内容を確認し、Mergeする
今回作成したIssueは1つ、Pull Requestは2回でした。
1回目のPull Requestの時点でほぼ完成していましたが、ChatGPTのレビューによって軽微な改善が加えられ、2回目のPull Requestで再度レビューを行い、問題がなかったため完成としました。
この過程で私(人間)が行ったのは、基本的な仕様や要件を整えることがほとんどでした。
その後は、ChatGPTが要件に沿ってCodexへのプロンプトを作成し、Codexがコーディングを行い、Pull RequestをChatGPTがレビューし、最終的にMergeする、という流れが自動的に進んでいきました。
私はもちろん、ChatGPTも一切コーディングは行っていません。
これは、役割分担が非常にうまく機能していたことの証明だと考えています。
今回の開発では、コードを直接書くことよりも、「誰が何を担当するのか」を整理することに多くの時間を使いました。
例えば、私は「どのようなプラグインを作るか」を決め、設計書や要件定義書を整理します。
ChatGPTは、その内容を基にCodexへ渡すプロンプトを作成し、実装後にはコードレビューも担当します。
そしてCodexは、Issueとプロンプトを基に実際のコーディングを行い、Pull Requestまで作成します。
この役割分担が機能したことで、初めてGitHubやCodexを使ったにもかかわらず、Plugin Skeletonを問題なく完成させることができました。
AIと役割分担しながら開発を進めるための土台となる開発フローです。
このフローが確立できたことで、今後は同じ流れを繰り返しながら、安全かつ効率的に機能開発を進められるようになりました。
GitHub FlowをAI共同開発へ取り入れる
AI共同開発という考え方を実際の開発へ落とし込むと、自然とGitHub Flowに近い形になります。
GitHub Flowは、複数人で安全に開発を進めるための代表的なワークフローですが、この考え方はAIとの共同開発にも非常によく適しています。
- Issueを作成してからブランチを切り、
- Codexが実装し、
- Pull Requestを作成してChatGPTがレビューし、
- 必要に応じて修正してからMergeする。
この一連の流れは、一見すると人間同士のチーム開発と変わらないように見えます。
しかし、実際には各工程を担当しているのは、人間と複数のAIです。
GitHub FlowはAIが共同で開発するための共通言語としても機能します。
AI共同開発では「Issue」が設計の起点になる
今回、特に価値を感じたのがIssueの存在でした。
以前は、
- 「この機能を追加して」
- 「ここを修正して」
というように、その場その場でAIへ依頼することが多くありました。
もちろん、それでも開発は進みます。
しかし、時間が経つにつれて、
- なぜその修正を行ったのか
- どこまで実装したのか
- 次は何を作るのか
が分かりにくくなっていきます。
そこでIssueを導入すると、状況は大きく変わります。
Issueには、
- 目的
- 完成条件
- 実装範囲
- 除外事項
などを書きます。
すると、AIも「何を作ればよいのか」を理解しやすくなります。
さらに、レビューする側も「Issueどおりに実装されているか」という視点で確認できるため、品質管理が格段に行いやすくなります。
人間とAIが同じ目的を共有するための設計書として機能します。
AI共同開発は「レビュー」が品質を決める
AIがコードを書けるようになった今でも、人間の役割がなくなるわけではありません。
むしろ重要性が増した役割があります。
それがレビューです。
今回も、Codexがコードを書いたあと、そのまま完成とはしませんでした。
ChatGPTが、
- 設計書との整合性
- 要件定義との一致
- 保守性
- 拡張性
- 命名規則
- WordPressらしい実装になっているか
を確認し、必要な修正だけをCodexへ依頼しました。
この工程があることで、「AIが書いたコード」ではなく、「設計を反映したコード」になります。
AI共同開発では、レビューは品質保証だけでなく、設計思想を維持するための工程でもあるのです。
AI共同開発は個人や中小企業にこそ価値がある
AI共同開発の恩恵を最も受けるのは、大企業ではないかもしれません。
むしろ、限られた人数で開発を行う個人や中小企業ほど、大きな価値があります。
私自身も今回、初めてGitHubとCodexを使いながらプラグイン開発を進めました。
開発を始める前は、「AIにコードを書いてもらえれば十分だろう」と考えていました。
しかし、実際に役割を整理しながら開発を進めると、価値を感じたのはコード生成そのものではありませんでした。
「一人で開発しているのに、一つの開発チームのように進められること」でした。
人数ではなく「役割」が増える
個人開発では、通常であれば一人がすべての役割を担当します。
- 企画
- 設計
- 実装
- テスト
- レビュー
- プロジェクト管理
これらを一人で切り替えながら進めるため、開発が複雑になるほど負荷も大きくなります。
しかし今回の開発では、次のような役割分担が自然にできました。
| 担当 | 役割 |
|---|---|
| 人 | プロダクトの方向性を決める |
| ChatGPT | 設計・要件整理・レビュー |
| Codex | 実装 |
| GitHub | プロジェクト管理・履歴管理 |
前述の役割整理は開発を始める段階でのものでしたが、実際に手を動かしてみると、この構成のまま最後まで一貫して機能し続けました。
人数は一人のままですが、担当する役割が整理されたことで、思考の切り替えが圧倒的に楽になったのです。
この構成なら、人間は「すべてを自分で行う」のではなく、最終的な意思決定に集中できます。
これは単なる作業効率化ではなく、「一人で開発する」から「AIとチームで開発する」への変化と言えます。
AIは「相談相手」から「チームメンバー」へ変わる
これまで私は、ChatGPTを「相談相手」として使うこともありました。
困ったときに質問し、コードを書いてもらい、また質問する。
これはこれで便利です。
しかし今回の開発では、AIとの関係性そのものが変わりました。
ChatGPTは設計やレビューを担当し、Codexは実装を担当する。
それぞれが異なる役割を持つことで、「AIに質問している」という感覚よりも、「それぞれの担当者と協力している」という感覚の方が近くなったのです。
この感覚の変化は、実際に体験して初めて分かるものでした。
開発品質も自然と高くなる
もう一つ意外だったのは、品質面です。
私は最初、「AIを使えば開発速度が上がる」という期待を持っていました。
もちろん速度も向上しましたが、それ以上に感じたのは、開発の進め方そのものが丁寧になったことです。
例えば今回も、
- Issueで目的を整理する
- ブランチを分ける
- Pull Requestを作成する
- ChatGPTがレビューする
- Codexが修正する
という流れを繰り返しました。
以前であれば、「とりあえず動けばいい」と進めていた部分も、レビューを前提とすることで、自然と設計や品質を意識するようになります。
AIが品質を保証するというよりも、AIが品質を意識しやすい開発プロセスを作ってくれるという表現の方が近いかもしれません。
外部へ依頼する前の準備にも役立つ
この開発スタイルは、自分で最後まで開発する場合だけに限りません。
例えば、途中から外部のエンジニアへ依頼する場合でも、
- 要件定義
- Issue
- GitHubの履歴
- Pull Request
が残っています。
「口頭で説明する」のではなく、「開発の経緯そのものを共有できる」ようになります。
これは個人事業主や中小企業にとって、とても大きなメリットです。人が途中から加わっても、過去の意思決定を追いやすくなるからです。
AI時代は「全部できる人」より「役割を設計できる人」が強い
今回の経験を通して、私の考え方は大きく変わりました。
以前は、「ChatGPTをどう使いこなすか」という視点で考えていました。
しかし今は、「AI同士が協力できる仕組みをどう設計するか」という視点で考えるようになっています。
これはプラグイン開発だけの話ではありません。
Web制作でも、マーケティングでも、コンテンツ制作でも同じです。
AIが増えていく時代だからこそ、一つひとつのAIの性能だけではなく、役割を設計し、チームとして機能させる力が重要になっていくでしょう。
AIごとの役割を設計することで、一人でもチーム開発のような品質と再現性を実現できることにあります。
【まとめ】「AIチームを設計する」という発想こそ価値がある
今回、最も大きな認識変化はここにありました。
開発を始めた当初は、「AIにコードを書いてもらう」という発想でした。
しかし、GitHub・Codex・ChatGPTを組み合わせながら実際に開発を進める中で、考え方は自然と変わっていきました。
「AIチームを設計する」
この一言が、今回の経験を最もよく表しています。
役割を整理し、情報を共有し、レビューを行いながら開発を進める。
その仕組みができると、AIは単なる便利なツールではなく、チームの一員として機能し始めます。
これからAIがさらに進化しても、この考え方は変わらないでしょう。
新しいAIが登場しても、そのAIがどの役割を担当するのかを設計すれば、開発チーム全体をより強くできます。
重要なのは「どのAIを使うか」だけではなく、「AIチームをどう設計するか」なのです。
人間が起点となってAIを編成する時代
ChatGPTやCodexのような生成AIは、コードを書く能力だけを見ても非常に優秀です。
しかし、本当に価値が生まれるのは、それぞれの役割を整理し、人間が全体を設計したときです。
今回、GitHubもCodexも初めて使うところからスタートしました。
最初は覚えることも多く、決して簡単ではありませんでしたが、一度流れを理解すると、開発そのものよりも「開発体制を整えること」の重要性を実感しました。
これからAIを活用してソフトウェアやプラグインを開発したいと考えている方は、ぜひ「AIに仕事を任せる」という発想だけでなく、「AIチームを設計する」という視点でも開発を考えてみてください。
その視点が加わるだけで、AIとの付き合い方は大きく変わるはずです。
AI共同開発と役割分担のFAQ
AI共同開発を始めるには、プログラミングの知識が必要ですか?
コーディングそのものはCodexが担当するため、専門的なプログラミングスキルは必須ではありません。ただし、要件やIssueを整理して伝えるための基本的な考え方は必要です。
今回の開発でも、人間が行ったのは仕様や要件を整えることが中心でした。
GitHubやCodexが初めてでも、この開発フローは実践できますか?
実践できます。今回の開発も、GitHubもCodexも初めて使う状態からスタートし、約3時間でPlugin Skeletonを完成させました。
最初は覚えることが多く感じられますが、一度流れを理解すると、作業内容はほぼ同じパターンの繰り返しになります。
ChatGPTとCodexは、それぞれ何が違うのですか?
役割が異なります。ChatGPTは設計・要件整理・プロンプト作成・レビューを担当し、Codexは実際のコード実装とPull Requestの作成を担当します。
今回の開発では、この役割分担によって人間もChatGPTも一切コーディングを行っていません。
Issueは必ず作成する必要がありますか?
必須ではありませんが、作成を推奨します。
Issueに目的・完成条件・実装範囲・除外事項を書いておくことで、AIが「何を作ればよいのか」を理解しやすくなり、レビューの精度も上がります。
この開発フローは、個人開発でもチーム開発でも使えますか?
どちらでも活用できます。特に個人や中小企業など、限られた人数で開発を行う場合ほど、役割分担による恩恵は大きくなります。
今回のように一人で開発していても、チーム開発に近い品質と再現性を実現できます。