ChatGPTとVSCodeで“Vibe Coding”を体験:AIと人が共にコードを書く新時代

AIテキスト

はじめに:コードを書くという体験が変わり始めている

ChatGPTとVisual Studio Code(VSCode)をつなぐと、まるでAIと肩を並べてコーディングしているような感覚になります。

生成AIと伴にコーディングを行うこのスタイルは、「Vibe Coding」(バイブコーディング)と呼ばれています。指示ではなく会話でコードを生成し、試し、直感的に修正していく──そんなリズムが生まれます。

本記事では、ChatGPTのMacアプリを使ってVSCodeと連携しながら「Vibe Coding」を実際に試した流れを紹介します。

ChatGPTのMacアプリを使う理由

ChatGPTはWeb版もありますが、MacアプリならVSCodeとのスムーズな連携が可能です。

Macアプリはアプリ連携により、VSCodeなどのエディタと連携し、ChatGPTがソースコードを直接編集できます。提案はパッチ形式(差分表示)で示され、どの部分が変更されるかを明確に確認してから適用できる安心設計です。

これはChatGPTのWeb版やWindows版アプリにはない、Macアプリ独自の特徴です。

この連携はGit管理とも親和性が高く、AI提案を安全にレビュー・適用できる点が大きな特徴です。
ChatGPTをまさに“隣で作業する相棒”として置くことで、Vibe Codingの体験はより直感的で実践的なものになります。

Vibe Codingとは?その起源と考え方

Vibe Codingとは、単に「AIにコードを書かせる」ことではありません。
人間の発想とAIの生成力をリズムとして往復させる開発スタイルです。

  • 🎧 Vibe=会話のリズム、思考の流れ
  • 💻 Coding=具現化の行為

つまり、ChatGPTと開発者が共に即興セッションを行うようにコードを育てていきます。
これが、手触りとしての「Vibe Coding」です。

Vibe Codingの原典

「Vibe Coding」という言葉は、AI研究者の Andrej Karpathy 氏が2025年2月にSNS(X/旧Twitter)で発言したことに由来するとされています。
Karpathy氏は次のように述べています。

「私は“Vibe Coding(バイブ・コーディング)”と呼んでいる新しいタイプのコーディングがある。そこでは“雰囲気(vibe)”に完全に身を委ね、指数関数的な変化を受け入れ、コードという存在を忘れてしまう。」(ChatGPTによる翻訳)

— Andrej Karpathy (@karpathy), February 2025

この投稿をきっかけに、「Vibe Coding」はAIとの対話を通じて直感的・即興的にコードを生成する開発スタイルとして注目され始めました。
正式な技術用語というよりも、AI時代のプログラミング体験を象徴する比喩的コンセプトとして使われています。

VSCode側の準備と基本の流れ

VSCodeでVibe Codingを始めるには、次のような最小構成で十分です。

  1. ChatGPTを開いた状態で、作業中のプロジェクトをVSCodeで開く
  2. VSCode側でPython等の実行環境を整えておく
  3. ChatGPTにVSCodeを開いている状態でアプリ連携を指示する

アプリ連携の指示は、ChatGPT側のチャット欄のアプリアイコンをクリックし、開いたサブメニューから”Code”を「追加する」を選択します。

これだけで、ChatGPTはファイル構成や命名規則を理解し、コード提案から実行手順まで自然に案内してくれます。

現時点では、VSCodeとChatGPTの連携は専用APIによる統合ではなく、ChatGPT Macアプリの「App Pairing」機能によるローカル通信で実現されています。

この仕組みでは、エディタ内のファイル内容をChatGPTが一時的に読み込み、パッチ形式で修正提案を返すことができます。
通信はすべてローカルで完結しており、文脈を維持するにはプロジェクトの範囲や対象ファイルを明示するなど、少し工夫が必要です。

実践:Vibe Codingを体験してみる

ここでは、ChatGPTのMacアプリとVSCodeを使ってPythonのコーディングを行う基本の流れを紹介します。

コードを生成する

ChatGPTに「Pythonで ’Hello, Vibe Coding!’ と表示するコードを書いて」と依頼します。

生成されたコードをVSCodeに連携する

VSCodeで開いているファイルへのパッチが生成されますので、「適用する」をクリックすると反映されます。もちろん、VSCode新規ファイル(例:hello_vibe.py)を作成し、生成されたコードを貼り付けて実行でも構いません。

追加の対応指示と実行を繰り返す

下記は「出力結果をファイルに保存して」という機能追加の例です。ファイルの実行は手動で行う必要があります。たとえば「この関数をもう少し汎用的にして」や「実行結果をCSVに保存して」と伝えるだけで、修正案を提示してくれます。

  1. 出力結果やエラーをChatGPTに見せる
    正常な出力が得られた、もしくはエラーが出た場合は、ChatGPTにスクリーンショットを見せて次の対応を依頼します。エラーが出ていた場合は、エラーやスタックトレースの内容をもとに、適切な修正案が返されます。

このように、短いコードから始めて自然な会話を交わすことで、Vibe Codingのリズムを体験できます。

実感した3つの変化

  1. 要件や設計に集中できる
    指示が曖昧でもAIが補うため、考えるべきはロジックや意味の流れです。
    変数名、条件分岐の選択、どのモジュールを利用するかなどに割かれる意識のリソースが少なくなります。
  2. “テンポ”のあるコーディングへの感覚の変化
    AIから「返答」が返ってくるため、試行と生成の往復で開発にリズム感が生まれます。
  3. 失敗が怖くなくなる
    「間違ってもAIがリカバリしてくれる」という安心感があり、積極的に新しいことを試す意欲が高まります。

Vibe Codingにおける課題と対策

AIも完全ではなく、実際にVibe Codingを試す中ではいくつかの問題が見えてきました。ここでは主な課題とその対策を整理します。

主な課題

  1. テストコード重視による本体改変
     生成AIにテストを書くよう指示すると、テストを通すために本体のコードを書き換えようとすることがあります。結果として、本来の仕様を逸脱するリスクがあります。
  2. 複数ファイル参照の限界
     AIは他ファイルの関数呼び出しや引数を想像で組み立てる傾向があり、マルチファイル構成では誤動作や想定外の依存が発生しやすいです。
     他のモデル(Claude Sonnet等)で多少緩和される場合もありますが、コンテキスト長の制約もあり、完全な解決には至っていません。
  3. 例外の隠蔽
     エラー時のフォールバックを優先し、動作しているように見せかけるケースがあります。特に例外処理で発生した例外を隠蔽したり無視する傾向があります。
  4. 長時間利用時の不安定化
     長時間のやり取りを続けると、AIが内部状態を失い、モック化やコードの削除を行うことがあります。セッションが長くなるほど、コンテキストの精度が低下します。
  5. 自己修復不能なループ
     問題を自動で修正できず、同じ提案を繰り返す「AIループ」に陥ることもあります。この場合、AIが提案した修正内容をいったん断ち切り、別のアプローチに切り替える判断が必要です。

あくまで2025年10月時点の試行で見られた傾向で、今後のモデル改善や新機能追加で変化する可能性があります。

対策と提案

  • Gitによるバージョン管理
     AIが提案した修正を適用する前に、必ずコミットしておくことで、不要な変更をロールバックできます。特にgit diffgit stashを活用すると、提案内容の比較と安全な検証が可能です。なおGitに慣れていない場合は、その操作もAIに支援してもらうことが可能です。
  • セッションの分割
     長時間対話ではなく、フェーズごとにチャットを分けることで文脈の破綻を防げます。経験則に基づくものですが、1〜2時間ごとに新しいセッションを開始するのが効果的です。
  • 明示的な制約指定
     ChatGPTに「既存コードを変更しない範囲で」「例外処理を省略しない」などの制約を与えると、安定した生成結果を得やすくなります。同じ結果が生成されても、何度か試すと改善する場合もあります。
  • テスト生成時の注意
     「テストは本体を修正せず、エラーを検出する目的でのみ書く」旨を明示しておくと安全です。ただし指示しても無視される場合もあるため、チェックと修正は必須です。

これらの課題を踏まえると、Vibe Codingは即興性と創造性に優れた開発体験である一方、AIの提案を鵜呑みにせず、人間のレビューを組み合わせることで、その真価を最大限に引き出せると感じました。

よくある質問(FAQ)

Q1. 無料プランでもVibe Codingはできますか?
A1. 可能です。当然、有料版(ChatGPT Proなど)はより優れていますが、課金を検討する場合はChatGPTだけでなくGithub Copilot等との比較検討を推奨します。

Q2. VSCode拡張機能との違いは?
A3. ChatGPTアプリは「対話主導」、拡張機能は「エディタ統合」型です。両立も可能です。

Q3. 日本語でも自然にVibe Codingできますか?
A4. できます。ただしChatGPT以外のモデルを利用する場合は日本語対応力が落ちることもあります。

Q4. エラーが出たときはどうすれば?
A5. ChatGPTにエラーメッセージをそのまま貼り付けて相談しましょう。コピペでもスクリーンショットでも対応してくれます。

まとめ:AIと人の呼吸が揃う瞬間

Vibe Codingとは、AIを「使う」開発ではなく、共に呼吸する開発です。
MacアプリとVSCodeという両輪で、ChatGPTがあなたの横に座り、時には雑談を交えてコーディングをサポートしてくれます。今後、Github CopilotやVSCodeとOllamaの連携も試してみたいと思います。

コメント

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