Better Software Testing

ソフトウェアテストをもっと良くしたい

バイブコーディングのボトルネック

ChatGPTに頼りながらRSSリーダーを実装した:

github.com

コードの95%くらいはChatGPTに書いてもらったので、僕がやったのはコードレビューと動作確認とリファクタリング程度。

今回感じたのは、バイブコーディングのボトルネックって人間(主語が大きい)なのかなということ。

  • 人間は集中力が続かない(せいぜい2-3時間程度)
  • 人間はミスをする(プロンプトのタイポや誤った指示)
  • 人間は突然仕様を変更したり追加したりする

生成AIは我々の指示に従って愚直にコードを作ってくれているのに、人間側のせいでスクリプトの完成まで時間がかかってしまったり手戻りが発生してしまったり。。

また、

  • 人間はミスをする(プロンプトのタイポや誤った指示)

これが今回最大の教訓。

今回僕はChatGPTに対して誤った指示をしたにも関わらず、生成されたスクリプトが自分の求める仕様と異なる挙動をしたためChatGPTの性能に対して不信感を抱いてしまうという場面があった(指示が間違っていたので、挙動が期待と異なるのは当然のこと)。具体的には、

-- Webサイトの最終更新日がスクリプト実行日の7日以内であった場合、.txtファイルにWebサイトの名前とURLを出力する

と指示すべきところを

-- Webサイトの最終更新日がスクリプト実行日の7日以前であった場合、.txtファイルにWebサイトの名前とURLを出力する

と指示してしまった。結果として、直近7日分の更新情報を取得したかったのに、それよりも古い更新情報ばかりを取得する挙動となった。

この機能は今回実装したRSSリーダーのキモになる部分だったため、「おいおいマジかChatGPTさん大丈夫ですか、、」とガッカリしてしまったが、後に自分のプロンプトが誤っていたことに気づき大変反省した。

全部僕が悪かったです。本当に申し訳ありませんでした。

そういうわけで、今後バイブコーディングを行う際には「私がボトルネックです」という気持ちを強く持って臨もうと思う。