Advait Sarkar と Ian Drosos による論文で、Proceedings of the 36th Annual Conference of the Psychology of Programming Interest Group(PPIG 2025)に掲載された。本論文は自らを バイブコーディング の初の実証研究と位置づけている。著者らはバイブコーディングを、開発者がコードを直接書くのではなく、主にコードを生成する大規模言語モデルとのやり取りを通じてコードを書く、台頭しつつあるパラダイムと捉え、この用語の起源を 2025 年 2 月の Andrej Karpathy の投稿にたどっている。著者らはこの投稿を「Karpathy の正典(the Karpathy canon)」と呼ぶ。この実践はまだコミュニティ内で意味が定まりつつある段階にあるため、著者らがそれを特定するために用いる唯一の基準は、プログラマー自身が自分の活動をバイブコーディングと呼んでいることである。

データは、YouTube と Twitch に投稿された、思考発話を伴うバイブコーディングのセッション動画である。2025 年 3 月 17 日から 4 月 2 日にかけて「vibe coding」と「vibe coding session」で検索し、35 本の動画(約 35 時間 46 分)からなるロングリストを得た。2 人の研究者がそのうち 4 本を用いて分析フレームワークと 4 つの採録基準 ── ワークフローの大部分を捉えていること、タイムラインの編集が少ないこと、思考発話による内省が豊富であること、ある程度の現実味や真剣さを備えたプロジェクトであること ── を作成した。4 つの基準をすべて満たした動画は 6 本だったが、そのうち 1 本はその間に Twitch から取り下げられたため、約 8 時間 27 分の 5 本が残った。そのうち 2 本は 1 つのプロジェクトの一部であり、まとめて分析された。フレームワーク分析では、目標、意図、ワークフロー、プロンプティング、デバッグ、課題、専門性、信頼、定義とパフォーマンスの 9 つの上位カテゴリーを用い、それらを 20 のサブカテゴリーに整理した。

本論文の全体的な主張は、バイブコーディングはプログラミングの専門性の必要をなくすのではなく再配分するものであり、著者らが マテリアルからの離脱(Material Disengagement) と呼ぶものの初期の事例だということである。すなわち、実践者は選択的かつ戦略的な監督を保ちながら、AI という仲介者を通じてコードの生産を指揮する。

要点

  • バイブコーディングは、著者らが反復的な目標充足サイクルと呼ぶものに従う。目標またはサブ目標を立て、モデルにプロンプトを与え、生成されたコードをレビューし、受け入れるか却下し、アプリケーション上でテストし、バグや改善点を見つけ、そしてプロンプトを洗練するか、手作業のデバッグと編集に切り替える ── これを、サブ目標が満たされるか放棄されるまで繰り返す。
  • プロンプトには、曖昧で高水準な指示(美的あるいは主観的な記述を含む)と詳細な技術仕様が混在しており、1 つのプロンプトが、詳細さのレベルが異なる複数の無関係な目的を含むこともある。
  • Karpathy の正典が音声を強調しているにもかかわらず、主な入力手段はタイプ入力のテキストだった。音声の書き起こしやスクリーンショットも使われていた。
  • デバッグは、AI の支援と、エラーメッセージを読む、ブラウザーの開発者ツールを使う、仮説を立てる、コードを調べるといった従来の手法とのハイブリッドのままだった。エラーをモデルに貼り付けることで、手作業のデバッグが完全に置き換えられることもあった。
  • バイブコーディング中のコードレビューは、1 行ずつ読むのではなく、素早く印象に基づくものだった。ハイライトされた変更の大きさや形で差分に目を通し、主要な識別子を探すといったやり方である。
  • 専門性は置き換えられたのではなく、向け先が変わった。コンテキストの管理、コードの素早い評価、プロンプティングと手作業をいつ切り替えるかの判断へと向けられた。プログラマーたちはプログラミングの専門性に加えて、AI に関する専門性とプロダクトマネジメントの専門性も活用していた。
  • 著者らは コンテキストモメンタム を命名している。以前のプロンプトとそれに対するモデルの解釈がその後の生成を方向づけ、抜け出しにくい経路依存性を生むが、新たな目標のきっかけにもなりうる。
  • ツールへの信頼はきめ細かく、動的で、状況依存的であり、一括した受け入れではなく繰り返しの検証を通じて築かれていた。軽量なコードレビューはすべての参加者に見られた。
  • 著者らは、プログラマーが「アンビエントな有能感(ambient competence)」、すなわち AI システムがやり遂げてくれるかもしれないために、以前なら手を出さなかったタスクにも取り組めるという感覚を身につけつつあるのではないかと推測している。
  • また、「バイブ」についての推測的なゲシュタルト的説明も提案している。プログラマーは、生成されたコード、説明、エージェントの動作を組織化された全体として知覚し、継続的な「バイブチェック」に頼っているというものである。
  • ストリーミングプラットフォーム上で実演するクリエイターは、専門性と主導権を示すという印象管理を行っていた。著者らはこれを、知識労働における AI 利用に対する社会的なペナルティへの反応と読んでいる。

補足

著者らは自らの分析を暫定的なものであり、急速に変化する実践の初期の一瞬を切り取ったスナップショットだと述べている。主な制約として 3 つを挙げている。コーパスが小さいこと(バイブコーディングのコンテンツ約 35 時間のうち、詳細に分析されたのは約 8.5 時間)、動画がオンラインの視聴者に向けて実演されたものであり、示されたワークフローが偏っている可能性があること、そして選ばれた動画にプログラマーでない人物が登場するものがなかったため、バイブコーディングの成功にはプログラミングの専門性が不可欠だという結論は、その専門性を持つバイブコーダーにしか当てはまらないことである。今後のデータ源として、実験室での実験、インタビュー、日誌研究を提案している。

本論文はまた、プログラミングは生成 AI が知識労働をより広く変えていく様子を示す「炭鉱のカナリア」なのかもしれないと論じる一方で、テキストなど他の領域には、プログラマーが生成された出力を監査する助けとなる構造的な手がかり ── 識別子、テスト、コンパイル ── がないことを指摘している。