バイブコーディングの新常識
ゴールド先物で抑圧されていた行動力が少しずつ回復している兆しがあり、
この連休中は少し前に環境を整えていたバイブコーディングをより本格的に試してみました。
ここでいうバイブコーディングとは、人間は自然文で指示を書き、AIがコーディングを担当する開発手法です。
少し前(去年前半?)まではプロンプトエンジニアリングといえばあくまでも人間が主体で、
人間がわからない部分のスニペットをプロンプトに入力してAIが改善案を提示するといった趣でしたが、
いまや人間が直接コードを書くことは無くなっています。
ChatGPT CodexやClaude Codeのようなエージェントならプロジェクトを横断的に読み取ることができるので、
人間はどのコードの何が問題かといったことさえも把握しなくても済むからです。
試しに、人力でやるのが面倒で後回しにしていた軽微なセキュリティ課題について投げてみたところ、
驚くほど的確に改修が必要な複数のファイルについて直してくれました。
年単位で放置していた課題がこうもあっけなくクリアするのを見ているとなんとも言えない気持ちになります。
そして、コーディング環境がこのように激変したことで新たな課題も浮き彫りになってきました。
それはバージョン管理の問題と、テストの問題です。
自分はバージョン管理についてはこれまでかなり我流で、悪く言えば非論理的な切り方をしていました。
要するに作業がひと段落するごとに切っているので、同じコミットに複数の機能が混じることもあったわけですね。
しかし今後は基本的に「Codexのタスク1個ごと」に切るのが妥当だと思っています。
これは、AIが施した改修が破壊的な変更でない保証はどこにもない以上、作業単位で巻き戻せる必要があるからです。
逆に言えば、そこさえ徹底していれば破壊的変更も多少は恐れずにCodexを使うことができる。
あとはテストの必要性です。
これまでは改修内容をコード単位で自分が100%把握していたのでテストの必要性は必ずしも高くなかったですが、
今後は事実上AIとの共同開発というスタイルに変わっていくので、
コードレベルでどういう動作になるか把握しきれなくなることが予想されます。
コードを把握していないのに本番環境にぶち込んだらどんな想定外の事態が起こるか分かったものではありません。
そこで、最低限デバッグ用のページを作るなどして人間の目を通す重要性はかなり増したのかなと。
これは正直開発内容によっては徹底できるかわかりませんが、
まあテストケースも作るのはAIなのでその気になればなんとかなりそうな気はします。
バージョン管理やテストはいままでおざなりにしていた工程でしたが、
今後はむしろ人力でできる数少ない作業として重視することになりそうです。
あとはマニュアル(AGENT.md / CLAUDE.md)の整備ですね。要するに指示書。
これをどこまで正確に書くかでAIの精度も大きく変わってくると思われるため、
AIにやってほしいことを言語化するスキルが問われてくるのではないかと思います。
結局そのためにはコーディングを含む開発の知識もある程度は必要になってくるので、
バイブコーディング以後もこれまでの知識は無駄にならない……と信じたいところですが、実際どうなんでしょうね。
ともあれ、しばらくは長く保留していたセキュリティのタスクや微妙に面倒なタスクを処理することになりそう。
ちなみにCluade CodeではAIエージェントを複数立てることができ、
エージェントAはテストを、エージェントBはコーディングを、といったように役割分担することができるみたいです。
AI同士が勝手に連携して作業を次々にこなしてくれるので、人間は最初に指示をするだけ。
正直、Cluade Codeはかなり評判が良いのでちょっと試したい気持ちもあります。
いずれCodexも似たような機能を実装してくれるような気はしますけどね。