Geminiでバイブコーディングを実践してみた
Gemini を活用して、バイブコーディングを実践してみました。Gemini にした理由は、「弊社でGoogle Workspaceに登録しているため、Googleのサービスを使うのが社内の標準になっている」からです。
※他のAIサービスと比較検討してから採用したわけではありませんので、その前提でお読みいただければと思います。
作ったものは、「日経平均の推移とドルコスト平均法」です。期間を指定すると、日経平均に積立投資を行い、損益と利回りを計算します。
投げた指示は
指令は下記のようなものです。
<form class="form-horizontal" id="formNikkei"> <div class="form-group row"> <div class="input-group mb-1"> <span class="input-group-text">積立額</span> <input type="number" id="amount" name="amount" min="1" max="100" step="1" value="1" class="form-number form-control"> <span class="input-group-text">万円/月</span> </div> </div> <div class="form-group row"> <div class="input-group mb-1"> <span class="input-group-text">積立開始</span> <input type="number" id="starty" name="starty" min="2000" max="2026" step="1" value="2000" class="form-number form-control"> <span class="input-group-text">年</span> <input type="number" id="startm" name="startm" min="1" max="12" step="1" value="1"class="form-number form-control"> <span class="input-group-text">月</span> </div> </div> <div class="form-group row"> <div class="input-group mb-1"> <span class="input-group-text">積立終了</span> <input type="number" id="endy" name="endy" min="2000" max="2026" step="1" value="2025" class="form-number form-control"> <span class="input-group-text">年</span> <input type="number" id="endm" name="endm" min="1" max="12" step="1" value="1" class="form-number form-control"> <span class="input-group-text">月</span> </div> </div> </form> ↑のような入力フォームで、日経平均に積み立てた場合の結果を計算したい
そして、
<table> <tr> <th>年月</th> <th>投資額</th> <th>現在の評価額</th> <th>現在の損益率</th> </tr> <tr> <td>2001年1月</td> <td>10000</td> <td>10000</td> <td>0%</td> </tr> <tr> <td>2001年2月</td> <td>10000</td> <td>10000</td> <td>0%</td> </tr> </table> のように、表形式で結果を出力したい
という指示を出しました。つまり、入力と出力を指定しておき、実際の処理部分をAIに書いてもらう、という方式です。
実際に使えるコードが返ってくる
上のような指示を出したところ、生成されたコードを当方で特に編集することなく、そのまま利用することができました。
前提と注意点
今回、すごくスムーズにバイブコーディングができました。ただし、これには前提があります。
今までにも、私が書いたコードをGeminiに投げたことがある。→私が書いたコードをGeminiが学習しており、それを元に今回のコードを書いた可能性が高い。
AIの生成するコードは、怪しげな場合もありますが、それはAIそのものというよりは、AIのもっているコード(AIが学習に使ったコード)が適切でないからだと考えています。下手なコードが学習データになっていればAIは下手なコードを返すでしょう。私のGeminiは私のコードで学習しているため、学習したコードに一定以上の品質が担保されます。
もちろん、将来は、AIが学習するコードそのものの品質も判定し、一定以上のコードのみ学習対象にする、といった能力を持つようになるでしょう。もしかしたら高価格なAIなら既にそうなっているかもしません。



