PR

[失敗談]流行りのVibe CodingをGitHub Copilot Agentで試したら、1週間でクレジットを使い果たして大失敗した話

備忘録
https://github.blog/jp/2025-05-20-github-copilot-meet-the-new-coding-agent/

AIにいい感じにコードを書いてもらう」そんな夢のような開発スタイル「Vibe Coding」。最近、技術界隈でよく耳にするこの言葉、気になっている方も多いのではないでしょうか。

私もその一人でした。少し乗り遅れていますが、「そろそろそ試すか!」と、早速GitHub Copilotの機能「GitHub Copilot Agent」を使って、Vibe Codingに挑戦してみることにしました。しかし、結論から言うと、この試みはたった1週間でクレジットを溶かし尽くすという、見事な失敗に終わりました。

今回は、自分の失敗談を赤裸々にお話しすることで、同じ轍を踏む人が一人でも減ることを願い、この記事を執筆します。

そもそもVibe CodingとGitHub Copilot Agentとは?

本題に入る前に、今回の主役となる2つのキーワードについて、簡単におさらいしておきましょう。

Vibe Codingとは?

Vibe Coding(バイブ・コーディング)とは、一言で言えば「雰囲気でコーディングする」スタイルです。開発者は細かな実装を一行一行書く代わりに、AIに対して「こんな感じの機能を作って」「この部分をいい感じにリファクタリングして」といった、自然言語による直感的・抽象的な指示を与え、コーディングの大部分をAIに委ねる開発手法を指します。OpenAIの共同創設者であるAndrej Karpathy氏が提唱したことで注目を集めました。

GitHub Copilot Agentとは?

GitHub Copilot Agentは、従来のGitHub Copilotがコード補完ツールだったのに対し、より自律的にタスクをこなす「AIエージェント」です。単一ファイルの編集だけでなく、リポジトリ全体を理解し、自然言語で指示を与えるだけで、バグ修正、機能追加、テストコードの生成などを自動で行い、プルリクエストまで作成してくれます。まさにVibe Codingを実践するための強力なパートナーと言えるでしょう。

なぜVibe Codingを試そうと思ったのか

理由は単純で、「流行っているから試してみたかった」からです。SNSや技術ブログで「Vibe Codingで爆速開発!」といった景気の良い話を目にするたびに、「このビッグウェーブに乗り遅れるわけにはいかない」と感じていました。

AIに大部分を任せて、自分はより創造的な設計やアイデア出しに集中できるなんて、なんて素晴らしい世界なんだろう。そんな淡い期待を胸に、GitHub Copilot AgentとのVibe Codingをしてみました

期待から絶望へ、そしてVibe Codingの落とし穴

意気揚々とCopilot Agentに「ユーザー認証機能、いい感じに作っといて!」とか「XXXの機能をDDDで作って!」といった、まさに”Vibe”な指示を投げかける日々。最初は順調に見えました。AIは驚くべきスピードでコードを生成してくれます。

しかし、その夢のような時間は長くは続きませんでした。わずか1週間ほどで、GitHub Copilot Agentのクレジットが底をついたのです。

なぜクレジットは瞬く間になくなったのか?

原因は、あまりにも「ふわっとした指示」にありました。

Vibe Codingのつもりで行っていた抽象的な指示は、Copilot Agentに大量の中途半端なコードを生成させてしまったのです。例えば、「ユーザー認証機能」という指示だけでは、使用するライブラリ、認証方式(パスワード、OAuthなど)、エラーハンドリングの仕様といった重要な情報が欠けています。

その結果、Copilot Agentは「とりあえず動くかもしれないけれど、実用には耐えないコード」を量産。私はその中途半端なコードを理解し、修正するために、さらなる指示をCopilot Agentに出すという悪循環に陥りました。

「さっきのコード、JWT認証に対応させて」

「やっぱりここのエラーメッセージはこう変えて」

「あ、テストコードもお願い」

一つの指示がまた新たな指示を呼び、そのたびにCopilot Agentは思考し、コードを生成します。この無駄なラリーの繰り返しが、貴重な時間とクレジットを猛烈な勢いで消費していったのです。

失敗から学んだ結論『AIには「具体的に」伝えよう』

この手痛い失敗を経て、一つの結論に至りました。それは、「GitHub Copilot Agentのような高度なAIを使いこなすには、Vibe(雰囲気)ではなく、具体的で詳細な指示が不可欠である」ということです。

AIは魔法の杖ではありません。あくまで私たちの指示に基づいて動作するツールです。最高のパフォーマンスを引き出すためには、私たちが「何を」「どのように」作ってほしいのかを明確に伝える必要があります。

具体的には、以下のような情報を指示に含めることが重要です。

  • コードの目的: このコードは何を達成するためのものか?
  • 要件: どのような機能や仕様を満たす必要があるか?
  • 制約条件: 使用するフレームワーク、ライブラリのバージョン、コーディング規約などは何か?

copilot-instructions.mdの活用

さらに、リポジトリ全体に共通する指示を与えたい場合は、.github/copilot-instructions.mdファイルを作成するのが非常に有効です。ここにプロジェクトの概要、使用技術、コーディングスタイルなどを記述しておくことで、Copilot Agentは常にその文脈を理解した上で、より精度の高いコードを生成してくれるようになります。

# このリポジトリについて
これはReactとTypeScriptを使用したウェブアプリケーションです。

# 技術スタック
- フレームワーク: Next.js
- 言語: TypeScript
- スタイリング: Tailwind CSS
- テスト: Jest、React Testing Library

# コーディングスタイル
- Airbnb JavaScript Style Guideに従ってください。
- コンポーネントのファイル名はPascalCaseで命名してください。
- すべてのエクスポートされた関数にJSDocコメントを追加してください。

上記はcopilot-instructions.mdの記述例です。

このような具体的な指示を与えることで、AIとの無駄なやり取りを減らし、クレジットの消費を抑え、本当に価値のあるコードを効率的に生み出すことができるのです。

流行りに乗る前に、まず考えよう

今回の失敗談が、これからVibe CodingGitHub Copilot Agentを試そうとしている方々への一つの教訓になれば幸いです。

流行りの技術に飛びつくのは素晴らしいことですが、そのツールの特性を正しく理解し、どうすれば最も効果的に使えるかを考えることが、その恩恵を最大限に受けるための鍵となります。

Vibe Coding自体が悪いわけではありません。しかし、その「Vibe」をAIに正しく伝えるためには、私たち人間にこそ、明確なビジョンとそれを言語化する能力が求められるのです。

皆さんもGitHub Copilot Agentを使う際は、ぜひ「具体的で詳細な指示」を心がけてみてください。そうすれば、きっとクレジットを無駄にすることなく、最高のAIペアプログラマーとして、その真価を発揮してくれるはずです。

参考

GitHub Copilot · あなたの AI ペア プログラマー
GitHub Copilot works alongside you directly in your editor, suggesting whole lines or entire functions for you.

コメント

タイトルとURLをコピーしました