🗂

我流 vibecoding の極意

に公開

お疲れ様です。
最近「vibecoding(バイブコーディング)」って言葉、よく見かけますよね。
初めて見たとき、正直「え、これ普段自分がやってるやつじゃん」ってなりました。

というわけでこの記事では、私の我流vibecodingの記事を書いてみました!
実際に回してみて「ここ外すと事故る」「ここ大事」ってポイントをまとめます。

vibecodingを“実務でどう使うか”を知りたい人向けに、私が実際に回している方法と
注意点です!


1. そもそも vibecoding って何?

vibecodingは、AIと人間が 対話(キャッチボール)しながら 設計〜実装を進めるスタイルです。
AIを「コード生成専用担当者」扱いするんじゃなくて、
検討・修正・代案出しまで含めて、ガッツリ並走させるのがポイント。

「要件 → 設計 → 実装」みたいに一直線で進むというより、
考えたことをその場でAIに投げて、戻ってきたものをまた直して…って 行ったり来たり しながら作る感じです。
丸投げだと必ず失敗するのと、現場レビューで、なんでこの設計にしたの?とか、なんでこのコーディング?と
質問されたとき、AIが言ってましたーなんて笑えない回答をすることになります(笑)

なんで流行ってるの?(たぶんこれ)

  • スピードが上がる(案出し・試作が速い)
  • 試行回数が増える(比較検討しやすい)
  • 1人でも“チームっぽい開発体験”になる(実際そうです。リーダーが人間)
  • 精神的負担が減る(ゼロから捻り出す時間が減る)

2. 自分のやり方(役割分担)

結論から言うと、方針はこれです。

AIは加速装置と理解して、判断と責任は自分。

全体の流れ(ざっくり)

  1. 要件定義:自分
  2. 基本設計・詳細設計:AI(例:Copilot / GitHub Copilot。通称「ぴこたん」「ぴこぴん」)
  3. 設計レビュー:自分
  4. 実装:自分+AI
  5. 検証・受け入れ:自分

コツ(ここ効く)

  • AIに「まず叩き台」を出してもらい、自分がレビューして方向を揃える
  • 代案を複数出させ、比較してから採用する(1発目を信じない)
  • 複数の設計書になる場合は、矛盾点の洗い出し(結構重要だったりします!)

3. 一番大事:『理解工程』でブラックボックス化を止める

vibecodingで起きがちな事故、だいたいこれです。

AIの出力をそのまま採用して、後から崩壊する

特にOSや低レイヤは、前提がちょっとズレただけで普通に動かなくなります。
「なぜこの設計?」「どんな前提?」が分かってないと、修正も拡張も詰みます。

そこで私が必ず挟むのが 理解工程
ここサボると、マジであとからヤバいです。
また、設計や実装部分を修正しすぎると、煩雑になり、不整合するので、今までの前提条件を
元に最初から設計し直しの勇気もあると良いです。

理解工程でやること(自分ルール)

  • AIの設計/コードは「素材」扱い(採用する前にいったん解体)
  • 自分の言葉で説明できるまで分解する
  • ついでに、このへんをチェックする
    • この構造で本当に良い?
    • もっとシンプルにできない?
    • 暗黙の前提(環境/仕様/制約)ズレてない?

これを挟むと、
AIのスピードと、人間の理解・判断の強さを両立できます。


4. AIとの役割分担(自分の考え)

AIは優秀です。でも、判断や責任まで丸投げすると普通に危ない
主導権が曖昧になると、設計がブレたり整合性が崩れたりして、あとから直せなくなります。

自分はこんな切り分けでやってます。

AIに任せる(得意そうなやつ)

  • 設計案の叩き台
  • 複数案の提示と比較(これはチャット形式の方がいいかも!)
  • 実装の雛形、反復的な修正
  • 既存コードの読み解き補助(要約、依存関係の説明)

自分が握る(ここは責任)

  • 目的・制約・優先順位(何を捨て、何を守るか)
  • 採用/不採用の判断
  • 仕様の一貫性、将来の拡張性
  • 最終成果物の理解(説明可能性)

5. vibecoding の良いところ(実感)

  • 開発サイクルが短くなる(考える→試す→直すが速い)
  • 検討の幅が広がる(複数の構造に触れられる)
  • 判断に集中できる(ゼロから捻る負担が減る)
  • 理解工程込みなら、後からの修正・拡張がやりやすい

効率化というより、開発体験そのものが良くなる 感覚の方が強いかなーー。


6. 注意点(ここ外すと事故る)

設計が曖昧だと致命傷

AIに投げる前提(要件・制約)が曖昧だと、AIは“それっぽく”埋めます。
低レイヤほど、その“それっぽさ”が後から致命傷になります。

最低限、次は言語化してから投げるのがおすすめです。

  • 目的(何を達成したいか)
  • 制約(環境、対象OS/ABI、性能、依存を増やせるか等)
  • 非目的(今回はやらないこと)

理解工程をサボると破綻する

  • 修正できない(理由が分からない)
  • デバッグできない(前提が追えない)
  • 受け入れ判断ができない(正しいか分からない)

7. まとめ

vibecodingは「AIに任せる」じゃなくて、AIと並走する 開発です。

  • 100%AIを信じるのは危険(特に設計と前提)
  • 自分が必ずレビューして、理解工程でブラックボックス化を止める
  • そこまでやると、スピードも品質も気持ちの余裕も、だいたい全部上がる

この手法が合う人、合わない人もいるかと思いますが、試しにどうぞ!

※あと余計なことかもしれませんが、AIエージェントは、やり取りが多く発生するので迷わず
サブスク課金したほうが良いです。無料枠でやるとなると、必要な質問をケチったりして、不十分な
感じになります(笑)

Discussion