ChatGPTとCopilotを活用したVibe Coding開発体験のまとめ
最近はやりのVibe Codingを試してみた。
リポジトリ
https://github.com/yut-wq/TheckLog
手順
- ChatGPT(GPT-4o)との会話によって、要件定義や設計を行い、ドキュメントを出力する。
- ドキュメントに従って、エージェント(copilot)によるプログラムの生成を行う。
- 適宜、
docker compose up
を行い、動作チェックを行う。
良かった点
- 要件定義、API設計などのドキュメントを生成する体験が良かった。
自分で要件定義や設計をまとめて、ドキュメントにするのは非常に大変なので、助かった。
ChatGPTと作りたいアプリについて会話して、最後に「要件定義.mdにまとめて」とお願いするだけでまとめてくれる手軽さ。
- コードがAIによってに生成されるのが未来感があって面白かった。
Edgeに付属しているcopilotで簡単なコード生成をしたことはあったが、それとはレベルが違った。
ドキュメントを読ませて、「作って」、というだけでゴリゴリコードを生成してくれるのがすごかった。
最初はエラーが出ることが多かったが、エージェント機能で自分で直すのがすごい。
- 承認ボタンを押すだけでプログラムが動くレベルまで持って行けたことに感動した。
コードに関しては、承認ボタンを押す以外のことをやっていない。
なんなら読んでもいない。
それでも動くレベルの物が作れることに感動した。
- Dockerfile、compose.ymlも勝手に作ってくれたのがありがたかった。
自力でDockerfileや、compose.ymlを作成するときに詰まることが多かったので、ありがたかった。
書き方を毎回忘れるので毎回調べていたが、それすら不要だった。
- 実行してエラーが発生しても、AIが勝手に直してくれた
クライアントサイドでエラーが発生した場合はエラーの内容を手打ちする必要があった。
バックエンド側の時はそれすら不要で、ターミナルに出ているエラーメッセージを選択して、コンテキストに追加するだけ。簡単。
微妙だった点
- モデルにもよるだろうが、コードの生成を待つ時間が結構あった。
特に「フロントエンドのプロジェクト作って」のように、大きいタスクを振ると、AIを待つ時間が必要になった。
- コードをほんとに読まなかったので、自分の勉強にはならなさそう。
一行も読んでないです。
- バックエンド側のプログラムで実行時に「アトリビュートがありません」エラーが頻発した。
pythonではなく、型のある言語であれば問題は軽くなりそうだと思った。
実際、フロントエンドはTypeScriptでの開発だったが、画面の表示が崩れているなどのエラーは見られなかった。
プロンプトで指定しておけば良かったな、という点
- venvを作ってくれなかった
プロジェクトを作成する際に、pythonの仮想環境を作るように指示しておけば良かった。
それか自分でuvなどで環境構築くらいはしても良かったかもしれない。
- テスト書いてくれなかった。
ドキュメントにはテストについて記載したが、実際にはテストを自動生成してくれなかった。
もっと明確に、「自動テストを先に書いてください、自動テストを実行してください」と指示しておけば良かった。
Discussion