vibe codingにGitが不可欠な理由
はじめに
育休中の限られた時間を目的外利用して、2週間で以下の2つのサービスを開発・リリースしました。
この短期間での開発を実現できた背景には、生成AIとの対話を通じて試行錯誤を繰り返す、「vibe coding」と呼ばれる開発スタイルがありました。
1. 疾患.com
公的統計データに基づき、様々な疾患の有病率をグラフで直感的に可視化できるWebサイトです。「疾患の有病者数ランキングは?」「高血圧の患者はどの年代に多いのか?」といった疑問に、信頼性の高いデータで答えます。
2. バスどこやねん
「バス、まだかな?」という利用者の待ち時間を解消するためのAndroidアプリです。バスの現在位置をリアルタイムで地図上に表示し、目的のバスがどこにいるのかを一目で把握できます。(現時点では都営バスのみの対応です。)
使用したことのない技術も多くありましたが、一発でそれっぽい実装ができるvibe codingには初学者のハードルを劇的に下げる素晴らしい効果があると思います。
一方で、私のような無課金vibe coderにとっては生成AIの暴走と並走するしかなく、常にセーブポイントを刻み続けることが非常に重要になりました。
本記事では、この開発プロセスにおいて、バージョン管理システムであるGitがいかに生命線として機能したかを、コマンドラインではなくVS CodeのGUI操作を中心に解説します。
開発環境
- エディタ/Git操作: Visual Studio Code (VS Code)
- IDE: Android Studio
- 言語: Kotlin, python
- 生成AI: Gemini API (無料利用枠)
- ツール: Cline
「vibe coding」と無償AIモデルの特性
ここで言う「vibe coding」とは、厳密な設計書に基づいてトップダウンで開発を進めるのではなく、大まかなアイデアや方針(vibe)をAIに与え、生成されたコードを元に修正や追加の指示を繰り返しながらボトムアップ的に機能を構築していく開発スタイルを指します。
この手法は、特に無償で利用できるAIモデルと組み合わせる際に、ある特性が顕著になります。無償モデルは、複雑な長文コードを一発で完璧に生成したり、文脈を完全に理解して応答し続けたりすることは得意ではありません。
そのため、開発プロセスは必然的に「生成と検証」のサイクルの繰り返しとなり、時として「破壊と創造」とも言えるプロセスになります。良い結果が得られても、次の一手で状況が悪化することもあり、常に試行錯誤が伴います。
VS Codeで実践するGit ― 安定したセーブポイントの確保
この試行錯誤のプロセスにおいて、Gitは極めて重要な「セーブポイント」を提供します。VS CodeのGUIを使えば、コマンドを覚えることなく、直感的にバージョン管理が可能です。
1. バージョン管理の開始 (リポジトリの初期化)
プロジェクトフォルダをVS Codeで開いたら、左側のソース管理タブをクリックし、「リポジトリを初期化する」ボタンを押すだけです。これでGitによる管理が始まります。
2. 変更の記録 (コミット)
コードを追加・修正すると、ソース管理タブに変更されたファイルの一覧が表示されます。
- 記録したいファイルの「+」アイコンをクリックして、変更を「ステージング」します。
- 上部のメッセージボックスに「ログイン機能を実装」のように、変更内容の要約を入力します。
- チェックマークの「コミット」ボタンを押せば、セーブポイントの作成は完了です。
この「コミット」という操作を、機能が一区切りつくたびに行うことで、安全な試行錯誤が可能になります。新しい機能の追加で問題が発生しても、いつでもこのセーブポイントに戻ることができます。
具体例:ヒューマンエラーによる開発コンテキストの消失
Gitの重要性を特に痛感したのが、AIとの対話におけるヒューマンエラーです。
日本語でプロンプトを入力している際、漢字変換などで意図せずEnterキーを押してしまい、不完全なプロンプトをAIに送信してしまう事故が頻発しました。
AIとの対話では、それまでの文脈(コンテキスト)が非常に重要です。一度無関係な入力が送信されると、そのコンテキストが破壊され、それまで積み上げてきた対話の流れがリセットされてしまうことがあります。
このような予期せぬ事故が発生した際も、冷静に対処できます。直前の安定した状態をGitでコミットしていれば、VS Code上でワンクリックするだけで、簡単に元の状態に復元できるのです。
プログラミング初学者への提言
もし、これから生成AIを活用してプログラミングに挑戦しようと考えている方がいれば、VS Codeを使い、そのGUIでGitを操作する方法から始めることを強く推奨します。
コマンドラインを覚える必要はなく、マウス操作で直感的にバージョン管理の恩恵を受けられます。
- ソース管理タブを開く。
- 変更をステージング(+ボタン)する。
- メッセージを書いてコミット(✔ボタン)する。
まずはこの3ステップの繰り返しだけでも、開発の安定性が格段に向上します。
まとめ
生成AIを用いた開発、特に「vibe coding」のような試行錯誤を前提とするスタイルでは、開発プロセスそのものが不安定になりがちです。その中でGitは、単なるコードのバックアップツールではなく、開発の再現性を担保し、品質を維持するための不可欠な基盤として機能します。
VS CodeのGUIを使えば、Gitの強力な機能を誰でも簡単に利用できます。ぜひこの環境を活用し、安定した基盤の上で、効率的なAIとの協業に挑戦してみてください。