1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バイブコーディングやってみて、どこでエンジニア的な判断をしているか考えてみた

Last updated at Posted at 2025-12-19

はじめに

藤井聡太八冠がハマっていると話題の「バイブコーディング」。AIと対話しながら高速で実装を進めるこのスタイルは、実務の現場でも強力な武器になりつつあります。

私もGASツール開発等で取り入れていますが、やってみて痛感するのは 「AIは完璧ではない」 という現実です。AIの指示通りに書いたが動かない、意図とズレた結果——そんな時、前に進めるのは、「元エンジニアとしての知見」でした。(現在はディレクターとして開発に関わっています。)

本記事では、GASツール開発の実体験をもとに、AIにはどこを任せて、人間は何を判断すべきか、バイブコーディングを成功させるための 「勘所」 を紹介します。

バイブコーディングの3つのポイント

バイブコーディングは「全自動」ではなく、「AIとの対話」から成果物を得る営みです。3つのポイントを押さえることでバイブコーディングの質を高めていきましょう。

1. 成果物の「解像度」を極限まで高める

バイブコーディングにおいて、最もエネルギーを注ぐべきは「プロンプト入力の工夫」ではなく、その手前の 「成果物のイメージの具体化」 です。

自分の中で成果物のイメージがぼんやりとしたまま、「いい感じに作って」と指示を投げても、返ってくるのは無数の「コレジャナイ」成果物だけです。手書きのメモでも構いません。まずは 「出力される画面やデータの形」 を明確に定義できているかが、とても重要です。

しかし、最初から完成系のイメージが見えていることは多くありません。そこで1つ目のポイントです! AIを「コーダー」としてではなく「要件定義のパートナー」として使うこと です。

1-1. GASでのツール作成の実践例

例えば、「スプレッドシートのA~C列の情報をいい感じに出力したい」という曖昧な状態なら、あえてそのままAIに相談します。

自分:「スプレッドシートのA~C列の情報をいい感じに出力したい。」

AI: 「どんな「いい感じ」に出力したいのかを教えてもらえますか?例えば:

  • メール送信したい
  • Slack通知に流したい
  • 別のシートに整形して出力したい
  • etc...」

自分: 「報告用の資料として使いたい。」

AI: 「いくつか確認させてください。

  1. 出力形式について
    a. メールに添付して送信したい
    b. Slackに投稿したい
    c. etc...
  2. レイアウトについて
    a. シンプルな表形式で良いか
    b. etc...
  3. タイミングについて
    a. 毎日・毎週など定期的に出力したいか
    b. 手動で出力したいか」

このように対話を重ねることで、「報告用の資料として整形したい」→「ではレイアウトは?」→「タイミングは?」と、必要なピースが埋まっていきます。

バイブコーディングにおける第一の仕事は、コードを書きはじめることではなく、 AIとの対話を通じて「成果物のイメージの具体化」 なのです。

2. 一度に頼み過ぎない、繰り返しで成長させる成果物

ある程度具体的なアウトプットのイメージを伝えたことで、GASのプログラムが生成されました。指示通りに、実行してみると、報告書のような成果物が表示されます。

スクリーンショット 2025-12-16 17.19.16.png

【週次報告書】今日の日付

- 案件1
- 案件2
- 案件3

イメージを伝えて、コードが出てくる。
「一発で動いた。素晴らしい!」と思ったけれど、よく見ると実務で使うには足りない点が見えてきます。リストの中身が、 リリース済み開発待ち が一覧になっているので、結局手作業で分類し直さなければならず、使えるレベルにはなっていません。

自分:「A列に状況が書いてあるから種別ごとにまとめて下さい。また、『開発待ち』は報告書に載せなくていいから除外して下さい。」

AI: 「修正完了です!変更点は...」

AIは即座に修正してくれます。出力されたコードを貼り付け直して実行!
これぞ、 バイブコーディングの真髄 です。
手軽に修正を指示して、出力されたコードを反映、即座に確認を繰り返すことで、クオリティがUPします。

【週次報告書】今日の日付

## 【リリース済み / リリース待ち】
- 案件1
- 案件2

## 【開発中】
- 案件3

## 【開発待ち】
- 案件4

「あれ?『開発待ち』が消えていない……」

AIに複数の指示を一度に渡すと、いくつかの指示を見落とすことがよくあります。場合によっては混乱して、関係のないところを修正し始めることも。
AIとの対話は、一つずつ丁寧に。 これが結果的に、素早く理想の成果物にたどり着く近道となります。

3. AIも「散らかった部屋」では仕事ができない

AIとのキャッチボールを繰り返し、ついに理想通りの動作をするツールが完成しました。「動いた!大成功!」 と感じる瞬間です。
個人的には、動いているのだから完了!としても、悪くはないと思います。しかし、完成したコードをよく見てみると、D列のデータを読み込んでいるのに結局使っていないなど、意外な「無駄」が潜んでいるケースがあります。確かに、今の規模ならそれでも動きますし、動くなら最小のコストで最大の成果です。

AIは、渡されたコードの中に「使われていない死にコード」があったとしても、それを「必要なもの」として解釈し、律儀に整合性を取ろうと努力します。その結果、不要なコードが雪だるま式に増え、AIの思考(コンテキスト)を圧迫し始めます。

だんだん指示を出しても「AIが指示を聞かなくなった」「別の場所が壊れるようになった」というケースが頻発し挫折してしまう人も多いのではないでしょうか?

多くの場合の要因はキャパオーバーです。

  1. AIへの指示が積もり積もって、何をすべきか整理できなくなった(=キャパオーバー)
  2. コードが肥大化しすぎて、何をすべきか整理できなくなった(=キャパオーバー)

(1)のケースは、指示出しを初期化することで解決するケースが多いですが、(2)は深刻です。
そこで必要なのが、 定期的な「コードの再整理(リファクタリング)」 です。

3-1. コメントで「AIの道しるべ」を作る

再整理といっても、我々が血眼になってコードを解読する必要はありません。ここでもAIを頼ります。
プログラムの中にある「コメント」は、人間だけでなくAIにとっても重要な「要約」になります。

もしコードの内容がわからなければ、 「この処理のコメントを追記して」 と依頼しましょう。コメントさえ読めば「ざっくり何をしているか」が把握できることで、人もAIもコードの意図が把握しやすくなります。

3-2. ファイルを分割して「ひと口サイズ」にする

1つのファイルに「データの取得」「計算」「メール送信」「Slack通知」など、あれやこれも詰め込まれていると、AIも処理に難儀します。
そんな時は、 「このファイルを機能ごとにリファクタリング(分割)して」 とお願いしてみましょう。

  • format.gs: ただの整数を「N円」に変換する処理、日時を日付に変換する処理
  • main.gs: 全体の流れを制御する処理

このように、例えば「変換処理」だけを別ファイルに切り出すだけでも効果があります。

人間が読みやすいコードは、AIにとっても読みやすいコードです。
「適切な分割単位(ひと口サイズ)」 に保つこと。これが、バイブコーディングで大きなシステムを作り切るための、もっともエンジニア的な、そして賢い戦略です。

おわりに

バイブコーディングの本質は、高速なタイピングでも、複雑な構文の暗記でもありません。それは 「AIという優秀だけれど、完璧ではないパートナー」 と、いかにうまく付き合うかというコミュニケーションの技術でした。

「成果物の解像度を高める」「少しずつ育てる」「部屋を片付ける」。これらはすべて、エンジニアが頭の中で行っていた「設計と管理」そのものです。コードを書く実作業がAIに置き換わった今、私たちに求められているのは、まさにこの 「コミュニケーションスキル」 なのかもしれません。

思った様に動かなくても、諦める必要はありません。AIと適切なコミュニケーションをとることで、きっと解決できます。
かつてプログラミングは限られた技術者の特権でしたが、バイブコーディングは、アイデアを持つすべての人にその扉を開きました。ぜひ、あなたもAIと共に、新しいモノづくりの世界へ飛び込んでみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?