AI開発

バイブコーディングをチームで使う前に決めるレビュー責任

株式会社Atsumell|7分で読めます
バイブコーディングをチームで使う前に決めるレビュー責任のブログサムネイル

最初の一人がAIに頼んで画面を作る。数分で動く。チームは沸く。ここまではいい。

問題は、そのあとだ。

同じ勢いで別の人もAIに頼む。似たような部品が増える。例外処理の書き方がばらつく。誰かがレビューしようとするが、そもそも何を正と見ればよいか分からない。コードは増えているのに、チームの理解は追いつかない。

バイブコーディングは、個人の試作ではかなり強い。だがチームで使うなら、先に決めるべきものがある。レビュー責任だ。

バイブコーディングと仕様駆動開発の違いは、速さではなく責任の置き場所

バイブコーディングと仕様駆動開発の違いは、「AIを使うかどうか」ではない。どちらもAIを使う。違うのは、AIが何を根拠に動くかだ。

バイブコーディングでは、会話の流れが根拠になりやすい。「この画面を作って」「ここを直して」「もう少し自然にして」という指示を重ね、動くものを見ながら進める。速い。特にプロトタイプや小さな社内ツールでは、手を動かす前の迷いをかなり減らせる。

仕様駆動開発では、先に判断基準を置く。目的、制約、受け入れ条件、やらないこと、レビュー観点を短くてもよいので書く。AIはその仕様を読んで実装し、人間は仕様に照らしてレビューする。

海外でも、Vibe Coding vs Spec-Driven DevelopmentSpec-Driven Development vs Vibe Coding のように、速度と保守性の違いとして整理されることが増えている。だが実務で効くのは、もう一段具体的な問いだ。

「この変更を誰が承認したら、チームとして正しいと言えるのか」

ここが空白のままだと、AIが速く書くほどレビューは重くなる。

レビューが壊れる3つのパターン

チームのバイブコーディングでレビューが詰まる理由は、コードの量だけではない。判断の根拠が残っていないからだ。

1. 作った人しか意図を説明できない

AIとの会話は、本人の頭の中では自然につながっている。だがレビューする人から見ると、途中の判断が抜け落ちている。

なぜこの状態管理にしたのか。なぜこのAPIを分けたのか。なぜこの例外だけ握りつぶしているのか。コードを読めば処理は追えるが、理由は読めない。

理由が読めない変更は、レビューで止まりやすい。差し戻しが増え、結局「一回説明して」となる。AIで実装時間を縮めても、説明時間で相殺される。

2. 正常系だけで合格してしまう

バイブコーディングは、見える動作を直すのが得意だ。ボタンが動かない、表示が崩れる、エラーが出る。こうした問題は会話で直しやすい。

一方で、業務システムで怖いのは見えにくい条件だ。

  • 権限が違う人には見えてはいけない
  • 既存データを壊してはいけない
  • 二重送信してはいけない
  • 外部連携の失敗時に勝手に確定してはいけない

これらは、画面を触っただけでは分からない。先に受け入れ条件と禁止条件を書いておかないと、レビューする人も見落とす。

3. レビュー担当者が「仕様の代理人」になってしまう

仕様がないままレビューを回すと、レビュー担当者が仕様をその場で作ることになる。

「この挙動でいいんだっけ」

「たぶん違う気がする」

「ここは業務的に危ないかも」

この状態はかなりつらい。レビューが品質保証ではなく、要件定義のやり直しになるからだ。InfoWorldの比較記事 でも、実際に本番ソフトウェアを出す場面ではレビューやガードレールが追いつくかが論点になる。レビューは最後の砦ではなく、先に置いた判断基準を確認する工程にした方がよい。

チームで使うなら、5つの責任を先に分ける

バイブコーディングを禁止する必要はない。むしろ、使える場面では使った方が速い。

ただし、チームで使うなら次の5つを先に分ける。

責任決めることAIに任せてよいこと
目的責任誰の何を解決するか目的文のたたき台
仕様責任入力、出力、制約、例外仕様案の整理
実装責任どの範囲を変更するかコード生成、差分提案
レビュー責任何を見れば合格か抜け漏れ候補の指摘
承認責任本番に出してよいかリスク一覧の作成

この表があるだけで、会話が変わる。

「AIが書いたコードを誰が見るか」ではなく、「どの責任の確認を誰が持つか」に話が移る。実装者が全部を背負う必要はない。PMが目的責任を持ち、テックリードが仕様責任とレビュー責任を見る。事業責任者が承認責任を持つ。そう分ければ、AIは作業を速める道具として扱える。

IBMのバイブコーディング解説 でも、AI搭載の開発環境として反復的に進める見方が示されている。反復自体は悪くない。問題は、反復のたびに責任の所在が薄くなることだ。

SIer案件なら、この責任分界はさらに具体的に置いた方がいい。

  • 顧客側の業務責任者: 目的、業務例外、受け入れ条件を承認する
  • SIerのPM: スコープ、変更管理、顧客承認のタイミングを持つ
  • SIerのPL/テックリード: 技術制約、影響範囲、レビュー観点を持つ
  • 実装担当: AIへの入力、差分説明、テスト結果を残す
  • 品質管理/受入担当: 禁止条件と受入テストの抜けを確認する

この分け方にすると、「AIが作ったからレビューして」ではなく、「顧客承認に出す前に、誰が何を確認したか」が残る。受託開発では、この証跡がかなり大きい。後から仕様変更が入ったときも、どの判断を変えたのかを追いやすい。

仕様駆動へ切り替えるタイミング

ずっと仕様駆動で進める必要はない。小さな検証なら、会話しながら作る方が速い場面も多い。

ただし、次のどれかに当てはまったら、バイブコーディングから仕様駆動へ切り替える合図だ。

  • 2人以上が同じコードベースを触る
  • 権限、金額、個人情報、外部送信が絡む
  • 変更後も継続的に保守する
  • テスト観点を口頭で説明しないと伝わらない
  • レビューで「そもそも何をしたいのか」が出る

この状態で会話ベースのまま進めると、AIは作るが、チームは迷う。

切り替えるといっても、分厚い設計書を書く話ではない。最初は1ページで足りる。

  • 目的: 誰のどんな作業を変えるか
  • 範囲: 何を変え、何は変えないか
  • 制約: 権限、データ、外部連携、性能
  • 受け入れ条件: 何ができたら合格か
  • 禁止条件: 起きたら止めること
  • レビュー担当: 誰がどの観点を見るか

これをAIに渡す。AIが実装する。人間はこの6項目に照らして見る。これだけで、レビューの負荷はかなり下がる。

レビューは赤入れではなく、判断基準の照合にする

AIが書いたコードのレビューで一番よくないのは、「なんとなく不安だから全部読む」ことだ。全部読むのは大事だが、観点がないと消耗戦になる。

レビューは、次の順番にした方がいい。

  1. 目的に合っているか
  2. 範囲外の変更がないか
  3. 禁止条件に触れていないか
  4. 受け入れ条件をテストできるか
  5. 将来の変更理由が残っているか

コードの美しさはその後でいい。まず見るべきは、AIが勝手に判断していないかだ。

以前の バイブコーディングに設計書はどこまで必要か でも書いた通り、AI時代に残すべき設計書は、実装をなぞる資料ではない。判断の理由、制約、テスト観点だ。さらに バイブコーディングで作ったコードは誰がテストするのか の論点を合わせると、レビュー責任とテスト責任は同じ根から出ている。どちらも「何を正とするか」が先にないと成立しない。

Atsumellの見方

バイブコーディングと仕様駆動開発の違いは、開発手法の流行語の違いではない。AIに作業を任せる前に、人間がどの判断を閉じるかの違いだ。

バイブコーディングは、試す速度を上げる。仕様駆動開発は、チームで直し続ける力を上げる。だから二者択一にしなくていい。最初はバイブコーディングで形を出し、チームで扱う段階に入ったら、仕様をAIが読める構造に変える。

Kakusillでやろうとしているのも、この切り替えを楽にすることだ。要件、制約、例外、受け入れ条件、レビュー観点を、AIにも人間にも渡せる形に整える。そうすれば、AIは速く書くだけでなく、チームの判断基準に沿って動ける。

チームでAI開発を進めるなら、最初に決めるべき問いはシンプルだ。

誰が、何を見て、合格と言うのか。

ここが決まると、バイブコーディングは危ない近道ではなくなる。仕様駆動開発へつながる、かなり使える入口になる。

最初の一手は小さくていい。次のPRから、目的、制約、受け入れ条件、禁止条件、レビュー担当を5行だけ添える。AIに実装させる前にこの5行を書く。レビューでは、その5行と差分が一致しているかを見る。

これだけで、会話の勢いで増えたコードが、チームで扱える変更に変わる。

関連記事

#バイブコーディング#仕様駆動開発#AI開発#チーム開発#品質保証

AI開発のレビュー責任を設計しませんか?

Atsumellは要件、制約、受け入れ条件、レビュー観点をAIが読める仕様へ整えるところから支援できます。

相談する