バイブ・コーディング・マニフェスト:AIが牽引する協調的コーディング

バイブ・コーディング・マニフェスト

2025-03-24

Claude 3.7のようなAIエージェントやCursor AIのようなAI駆動型開発ツールの急速な普及により、コード制作の方法に大きな変革が起きています。プログラマー自身がすべての行を書く従来のプログラミングは、徐々に実行可能性を失いつつあります。代わりに、プログラマーはAIの能力を活用するか、時代に取り残されるリスクを負うことになります。

バイブ・コーディング(Vibe Coding)の初期の定義では、AIエージェントの変革力を考慮していませんでした。しかし、これらのエージェントはバイブ・コーディングの核心的原則を完璧に体現し、以前は想像できなかった方法でそれらを実現しています。このマニフェストは、コーディングの未来はAI主導の協働であると宣言します。その中で人間は知識の管理とテストの指揮を行いますが、手動でコードを書くことはほとんどありません。

簡単な注記:このマニフェストは本来、私の個人ブログに掲載するべきものかもしれませんが、JustDoは私の人生の仕事であり、情熱を注いできたプロジェクトです。ここに共有することが正しいと感じました。私が多くの献身を注いできたこの場所で、この旅を共にする他の人々にインスピレーションを与えられることを願っています。このマニフェストの多くの教訓はJustDoのソースコードに取り組んだ経験から形作られたものであり、これらを共有することで他の人々がコーディングにおいて可能性の限界を押し広げる助けになると信じています。

バイブプログラミングの柱

1. 自己構築型ナレッジベース

コードと製品に関する知識の集中管理された、進化し続けるリポジトリ。重要なのは、AIエージェント自体がこのナレッジベースを更新・維持することであり、人間のプログラマーがそれを監督します。(Cursor AIでは、例えばこのナレッジベースは.mdcファイルを通じて実装されています。)

なぜ重要か: AIが関連情報をすべて取得し、参照し、改善できると、プロジェクトの目標、コードスタイル要件、製品の制約に忠実でありながら、より自律的に作業できるようになります。

2. テスト可能性の確保

AIによって生成されるすべてのコードは、意味のあるテストでカバーされている必要があります。AI自体がこれらのテストを生成して実行し、ポジティブなフィードバックループを作り出し、コードが品質と機能の要件を満たしていることを継続的に確認します。

なぜ重要か: 信頼性の高いコードは堅牢なテストに依存しています。テストの生成と実行をAIの中核的な責任にすることで、人間はAIの出力を自信を持って信頼(そして検証)することができます。

バイブ・アサーション(Vibe Assertions)

1. プログラマーは決して「手動コーディング」すべきではない。

もし自分で手動でコードを書いたり修正したりしている場合、それはあなたの知識ベースやAIに提供した指示に隙間があることを示しています。コードに「直接手を出す」のではなく、バイブ・プログラマー(Vibe Programmer)は何が間違っていたかをAIに教えるために知識ベースを更新し、AIに自身の間違いを修正するよう指示します。

2. すべてのプログラマーはコードレビュアーになる。

人間はAIが生成したコードの最終監査者であり続けます。すべてのコミットは、製品との整合性、コードスタイル、DRY原則、再利用性、その他のベストプラクティスについて精査される必要があります。AIエージェントは開発者を置き換えるものではありません—それは開発者を品質の管理者へと変革し、戦略的なフィードバックを与え、知識ベースの改善を指示する準備を整えます。

3. プログラマーはテスト可能性のためのフレームワークを確保しなければならない。

テストフレームワークの設計と維持は人間の責任です。AIは書いたものすべてにテストを実行できる必要があり、機能性と信頼性を確保します。システムに必要なツールやフレームワークが欠けている場合、バイブ・プログラマー(Vibe Programmer)の最優先事項は、AIに進行を許可する前にそれらを設計し統合することです。

なぜバイブコーディングを採用するのか?

  1. 生産性の向上: 実際のコード作成をAIに委託することで、人間のチームは概念的なアーキテクチャ、製品ビジョン、戦略的レビューなどのより高次元の課題に集中できます。
  2. 品質の向上: AIエージェントは一貫してテストの枠組みを生成し、テストを実行し、知識ベースを最新の状態に保つことができます。この体系的なアプローチにより、人間の見落としやコーディングエラーのリスクが軽減されます。
  3. 将来性のあるスキル: 業界がAI駆動型開発にシフトするにつれ、「AIコンダクター」としての役割をマスターすることは価値ある永続的な専門知識となります。これらのエージェントを指示し、テストし、導く方法を理解することが、ソフトウェア技術が発展する場所です。

結論

バイブコーディング(Vibe Coding)は単なる新しい方法論ではなく、考え方の根本的な転換を表しています:プログラマーは、実際のコーディングの大部分を処理するAIエージェントの教師、監査者、知識キュレーターになります。堅牢な知識ベースとシームレスなテストに重点を置くことで、チームは明確さ、保守性、製品ビジョンを損なうことなく、AIが提供するスピードと適応性を引き出すことができます。

コーディングの未来はすでに到来しています。 バイブコーディングを採用し、AIエージェントの変革力を活用して、孤独なコーダーからデジタルイノベーションの力強いオーケストレーターへと進化しましょう。

Daniel Chcouri,
2025年3月24日