Vibe Codingとは何か——Andrej Karpathyが変えたAIコーディングの定義
2025年2月2日、元Tesla AIディレクターでOpenAI共同創設者のAndrej KarpathyがXに1つのポストを投稿した。Vibe Coding(バイブコーディング)という新しいAIコーディングの概念を世に送り出した瞬間だ。
“There’s a new kind of coding I call ‘vibe coding’, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.” ——Andrej Karpathy, 2025年2月2日
「コードの存在を忘れる」——この一文が、ソフトウェア開発の常識を根底から揺さぶった。このポストは400万回以上表示され、2025年3月にはMerriam-Websterがスラング・トレンド用語として収録、同年11月にはCollins英語辞典の2025年Word of the Yearに選ばれた。
Karpathyがvibe codingを実践していた環境は具体的だ。Cursor Composer(AIコードエディタ)とSuperWhisper(音声入力ツール)を組み合わせ、キーボードをほとんど触らずに音声で指示を出す。「サイドバーのパディングを半分にして」といった簡単な指示を出し、生成されたコードのdiff(差分)を読まずに「Accept All」で全て受け入れる。エラーが出たらエラーメッセージをそのままコピペして貼り付ける——それだけでアプリが動く。
このとき彼が作っていたのはMenuGenという飲食店メニュー生成アプリだ。プロトタイプレベルのプロジェクトで、コードベースが自分の理解を超えて成長しても問題ないという前提があった。
(Cursor / Claude Code)"] B -->|"コード生成"| C["コードベース"] C -->|"エラー発生"| D["エラーメッセージ"] D -->|"コピペで貼り付け"| B B -->|"自動修正"| C C -->|"Accept All"| E["動くアプリ"] A -.->|"従来: 手動でコーディング"| C style A fill:#f5a623,stroke:#e67e22,color:#000 style B fill:#2980b9,stroke:#1a5276,color:#fff style E fill:#27ae60,stroke:#1e8449,color:#fff
Vibe Codingは2025年2月にKarpathyが提唱した「コードの存在を忘れる」開発手法
Cursor Composer + SuperWhisper(音声入力)で実践——キーボードをほぼ触らない
Collins辞典の2025年Word of the Yearに選出、Merriam-Websterにも収録
Vibe Codingと従来のコーディングは何が違うのか——AIコーディング以前との比較
Vibe Codingが従来のソフトウェア開発と根本的に異なるのは、開発者の役割が「コードを書く人」から「意図を伝える人」に変わる点だ。
| 観点 | 従来のコーディング | Vibe Coding(バイブコーディング) |
|---|---|---|
| 入力 | プログラミング言語(Python, JS等) | 自然言語(日本語・英語) |
| コード理解 | 全行を把握 | 「コードの存在を忘れる」 |
| デバッグ | ログ解析・ブレークポイント | エラーメッセージをAIに貼り付け |
| 必要スキル | 言語仕様・フレームワーク知識 | 明確な指示を出す能力 |
| レビュー | 全diffを確認 | Accept All(差分を読まない) |
| 適性 | あらゆる規模のプロジェクト | プロトタイプ・MVP・個人ツール |
| 速度 | 経験に比例 | 初心者でも高速 |
| 品質保証 | テスト・CI/CD・コードレビュー | AI任せ(リスクあり) |
AIコーディングの3つのレベル
2026年時点で、AIを使った開発は大きく3段階に分類できる。
# AIコーディングの進化段階
level_1_autocomplete:
名前: "AIコード補完"
代表ツール: "GitHub Copilot, TabNine"
特徴: "1行〜数行の補完提案"
開発者の役割: "コードを書く主体(AIは補助)"
level_2_vibe_coding:
名前: "Vibe Coding(バイブコーディング)"
代表ツール: "Cursor, Bolt.new, Lovable"
特徴: "自然言語→コード全体を生成"
開発者の役割: "意図を伝える人(AIが実装)"
level_3_agentic_engineering:
名前: "Agentic Engineering"
代表ツール: "Claude Code, Devin, OpenAI Codex"
特徴: "AIが計画→実装→テスト→デプロイ"
開発者の役割: "アーキテクト兼レビュアー(AIを監督)"
Level 1のコード補完は2021年のGitHub Copilot登場から普及した。Vibe Codingはその次の段階で、AIが「1行の補完」ではなく「機能全体の生成」を担う。そして2026年現在、Karpathy自身が提唱するAgentic EngineeringがLevel 3として台頭している。
重要なのは、これらが排他的ではないことだ。日常の小さな修正にはコード補完、新機能のプロトタイプにはVibe Coding、大規模リファクタリングにはAgentic Engineering——3つのレベルを使い分けるのが2026年の開発者のスタンダードになりつつある。
数字で見るVibe Codingの普及
2026年の調査データはVibe Codingの爆発的な普及を示している。
- 92% の米国開発者がAIコーディングツールを毎日使用(グローバルでは週次82%)
- GitHubの新規コードの 46% がAI生成(一部調査では60%)
- 開発者の 74% が生産性向上を実感
- ただし、AI共著コードは人間のコードの 1.7倍 の重大問題を含む
- AIツールへの好感度は2023年の77%から2026年の 60% に低下
従来のコーディングでは開発者がコードを書く主体——Vibe Codingでは意図を伝える人に変わる
AIコーディングは補完→Vibe Coding→Agentic Engineeringの3段階で進化中
米国開発者の92%がAIコーディングツールを毎日使用するまで普及
Vibe Codingツール徹底比較2026年版——Claude Code・Cursor・Windsurf・Bolt.new
Vibe Codingを実践するツールは2026年時点で大きく2カテゴリに分かれる。ブラウザで完結するノーコード型と、ローカル環境で動作するプロフェッショナル型だ。
ノーコード型(非エンジニア向け)
ブラウザだけでアプリを構築できるツール群。インストール不要で、自然言語の指示だけでWebアプリが動く。
| ツール | 料金(2026年) | 強み | 制限 |
|---|---|---|---|
| Bolt.new | 無料〜$20/月 | StackBlitzベースでブラウザ完結。フルスタックアプリを即座にプレビュー | 大規模プロジェクトには非対応 |
| Lovable | 無料〜$20/月 | UI生成に特化。デザイン品質が高い | バックエンド機能が限定的 |
| Replit | 無料〜$25/月 | 実行環境込み。デプロイまでワンストップ | パフォーマンスに上限 |
| v0 by Vercel | 無料〜$20/月 | Next.js/React UIコンポーネント生成に特化 | UIコンポーネント生成のみ |
プロフェッショナル型(開発者向け)
ローカルのコードベースに対して動作し、既存プロジェクトの拡張・リファクタリングにも対応する。
| ツール | 種別 | 料金(2026年) | SWE-bench | 強み |
|---|---|---|---|---|
| Claude Code | ターミナルエージェント | 従量課金(Pro $20/月〜) | 82.1% | 最深の推論能力。40+ファイルの大規模リファクタ。Git/デプロイ統合 |
| Cursor | AIエディタ(VS Code fork) | $20/月(Pro) | — | 最速のオートコンプリート。.cursorrules でプロジェクト固有ルール定義 |
| Windsurf | AIエディタ | $15/月〜 | — | コスパ最良。Cascadeエージェントモード搭載 |
| GitHub Copilot | AIアシスタント | $10/月〜 | — | VS Code/JetBrains統合。エントリーレベルとして最も広く普及 |
| Devin | 自律型エージェント | $500/月〜 | — | 完全自律で数時間のタスクを処理。Slack連携 |
| OpenAI Codex | クラウドエージェント | 従量課金 | — | サンドボックス環境での並列タスク実行 |
どのツールを選ぶべきか
# プログラミング未経験 → ブラウザ型から始める
# Bolt.new でWebアプリのプロトタイプを作る
https://bolt.new
# → 自然言語で「ToDoアプリを作って」と入力するだけ
# VS Code に慣れている → Cursor
# インストール
brew install --cask cursor
# → 既存のVS Code設定・拡張機能がそのまま使える
# ターミナル派 → Claude Code
npm install -g @anthropic-ai/claude-code
claude
# → "このリポジトリのREADMEを日本語に翻訳して"
# 大規模プロジェクト → Claude Code + Cursor 併用
# 日常のコーディング: Cursor
# 大規模リファクタ: Claude Code
# この組み合わせが2026年のベストプラクティス
Claude CodeとCursorの詳細比較では14項目にわたって両ツールを比較しているので、選択に迷う場合はそちらも参照してほしい。
2026年の結論: 単一ツールで完結しようとしない。プロトタイプはBolt.new/Lovable、日常コーディングはCursor、大規模作業はClaude Code——用途に応じて使い分けるのが現実的な最適解だ。Boris Cherny(Claude Code開発責任者)は2026年2月のLenny’s Podcastで「コーディングは実質的に解決された」と語り、Claude Codeが既にGitHub全公開コミットの4%を占めていると明かしている。
ノーコード型(Bolt.new, Lovable)とプロフェッショナル型(Claude Code, Cursor)の2カテゴリ
Claude CodeはSWE-bench 82.1%で最高精度。GitHub公開コミットの4%を占める
単一ツールで完結せず、用途に応じた使い分けが2026年の最適解
Vibe Codingの実践ワークフロー——AIコーディングを始める5ステップ
Vibe Codingは「AIに丸投げ」ではない。効果的なワークフローには明確な構造がある。ここでは、プロトタイプから本番レベルまでの実践的な5ステップを紹介する。
Step 1: 意図を明確にする(Plan)
AIに指示を出す前に、作りたいものの構造を決める。曖昧な指示は曖昧なコードを生む。
# 良い指示の例(PRD: Product Requirements Document)
## プロジェクト概要
ToDoアプリ(React + TypeScript + Supabase)
## 機能要件
- タスクのCRUD操作(作成・読取・更新・削除)
- ドラッグ&ドロップで並び替え
- カテゴリ別フィルタリング
- ダークモード対応
## 技術スタック
- フロントエンド: React 19 + TypeScript
- スタイリング: Tailwind CSS v4
- バックエンド: Supabase(PostgreSQL + Auth)
- デプロイ: Vercel
## 制約
- モバイルファースト(レスポンシブ必須)
- Lighthouse Performance 90+
- ログインはSupabase Authを使用
Vibe Codingの成否は「最初の指示の質」で8割決まる。開発者はコードを書く代わりに、明確な仕様書を書く能力が求められる。
Step 2: ブラウザ型でプロトタイプ(Prototype)
まずBolt.newやLovableでMVP(最小限の動くプロダクト)を作る。ここがVibe Codingの最も生産的なフェーズだ。
# Bolt.new での指示例
"React + TypeScript でToDoアプリを作って。
Tailwind CSSでスタイリング、ダークモード切替ボタン付き。
タスクの追加・削除・完了切替ができるようにして。"
# → 数分でプレビュー可能なアプリが生成される
# → 動作確認して「カテゴリフィルターを追加して」と追加指示
Step 3: プロフェッショナルツールに移行(Graduate)
プロトタイプが固まったら、CursorやClaude Codeに移行して本格的な開発に入る。2026年に注目されている「卒業ワークフロー」(Graduate Workflow)がこの手法だ。
# Bolt.new からコードをエクスポート
# → ローカルにgit clone
# Claude Code で本番レベルに引き上げ
claude "このプロジェクトにSupabaseバックエンドを統合して。
認証はSupabase Auth、データベースはPostgreSQL。
既存のローカルステートをSupabaseに移行して。
RLS(Row Level Security)も設定して。"
# Cursor で日常的な修正・改善
# .cursorrules にプロジェクト固有ルールを定義
echo "Use TypeScript strict mode.
All components must be functional components.
Use Tailwind CSS for styling, no inline styles.
Follow React 19 conventions." > .cursorrules
Step 4: 差分レビューとテスト(Review)
ここがVibe Codingと本番開発の分岐点だ。プロトタイプでは「Accept All」でよかったが、本番に向けては差分の確認が必須になる。
# Claude Code のdiff確認
# Claude Codeは変更前に必ず差分を表示し、承認を求める
# テストの自動生成
claude "このプロジェクトにVitestのユニットテストを追加して。
カバレッジ80%以上を目標に、主要なコンポーネントと
ユーティリティ関数のテストを書いて。"
# セキュリティチェック
claude "このコードベースのセキュリティ監査をして。
SQLインジェクション、XSS、認証バイパスの
リスクがないか確認して。"
Step 5: デプロイと反復(Ship & Iterate)
# Claude Code でデプロイまで一気通貫
claude "Vercelにデプロイして。
環境変数はSUPABASE_URLとSUPABASE_ANON_KEYを設定。
プレビューデプロイで動作確認してからプロダクションに昇格して。"
Claude Codeのベストプラクティス完全ガイドでは、CLAUDE.mdの書き方やHooks・Skillsの活用法など、Step 3以降の本格運用に役立つテクニックを詳しく解説している。
5ステップ: Plan → Prototype → Graduate → Review → Ship
「卒業ワークフロー」でブラウザ型→プロフェッショナル型に段階的に移行
プロトタイプでは「Accept All」OK、本番では差分レビュー・テスト・セキュリティ監査が必須
Vibe Codingの注意点と限界——AIコーディングで失敗しないために
Vibe Codingは強力だが万能ではない。2025年9月にはFast Companyが「vibe coding hangover(バイブコーディングの二日酔い)」を報じ、AIコーディングの限界が広く認識されるようになった。
1. セキュリティの盲点
AIが生成するコードは「動くこと」が最優先で、セキュリティは後回しになりがちだ。
# AIが生成しがちな危険なコード例
# NG: SQLインジェクションに脆弱
def get_user(username):
query = f"SELECT * FROM users WHERE name = '{username}'"
return db.execute(query)
# OK: パラメータバインディングで安全に
def get_user(username):
query = "SELECT * FROM users WHERE name = ?"
return db.execute(query, (username,))
# NG: 環境変数のハードコード
API_KEY = "sk-1234567890abcdef"
# OK: 環境変数から読み込み
import os
API_KEY = os.environ.get("API_KEY")
if not API_KEY:
raise ValueError("API_KEY environment variable is required")
2. コードの一貫性欠如
AIは同じ問題に対して、会話ごとに異なるパターンを生成する。月曜日にはasync/awaitで書き、火曜日にはPromiseチェーンで書く——コードベース全体の一貫性が崩壊する。
対策として、プロジェクト固有のルールファイルが効果的だ。
# .cursorrules または CLAUDE.md に記述
## コーディング規約
- 非同期処理は必ず async/await を使用(Promise チェーン禁止)
- エラーハンドリングは try-catch で統一
- 変数名は camelCase、定数は UPPER_SNAKE_CASE
- コンポーネントは必ず TypeScript で型定義を書く
- API呼び出しは src/lib/api.ts に集約
- スタイリングは Tailwind CSS のみ(CSS Modules 禁止)
3. 技術的負債の蓄積
GitHubの調査では、AI生成コードはコード重複が8倍に増加するという結果が出ている。AIは過去の文脈を保持しないため、同じロジックを何度も再生成してしまう。
4. 「理解していないコード」のリスク
Karpathy自身がvibe codingの定義で「コードの存在を忘れる」と述べたように、Vibe Codingでは開発者がコードを理解していない状態が常態化する。小規模なプロトタイプでは問題にならないが、以下の場面で致命的になる。
- 本番障害のデバッグ: AIが生成したコードの構造を把握していないと原因特定が困難
- パフォーマンスチューニング: N+1クエリやメモリリークをAIが自覚的に回避するとは限らない
- 規制対応: GDPR、HIPAA等のコンプライアンス要件をAIは完全に理解していない
5. AIツールへの信頼低下
2026年の調査では、AIコーディングツールへの開発者の好感度が2023年の77%から60%に低下した。AIコードの正確性を信頼する開発者はわずか33%(2024年の43%から減少)。「生産性が上がった気がする」のに実際の品質が下がる——この認知ギャップが最大の落とし穴だ。
Vibe Codingのゴールデンルール: プロトタイプにはVibe、本番にはReview。ハッカソンや個人プロジェクトではdiffを読まない自由がある。しかし、ユーザーがいるプロダクトでは、AIが生成した全てのコードを人間のPRと同じ水準でレビューするべきだ。
セキュリティ・一貫性・技術的負債・理解不足・信頼低下の5大リスク
AI生成コードのコード重複は8倍、重大問題は1.7倍
「プロトタイプにはVibe、本番にはReview」がゴールデンルール
Karpathyの進化——Vibe Codingから「Agentic Engineering」へ
2026年2月、Karpathy自身がXで「vibe codingはもう古い(passe)」と宣言した。提唱からちょうど1年——Vibe Codingの生みの親が、次の段階を定義した。
“Today (1 year later), programming via LLM agents is increasingly becoming a default workflow for professionals, except with more oversight and scrutiny.” ——Andrej Karpathy, 2026年2月
Karpathyが提唱した新しい概念がAgentic Engineeringだ。「デフォルトは99%の時間コードを書かないこと。エージェントをオーケストレーションすること」——これが2026年の開発者の在り方だという。
| 観点 | Vibe Coding(2025年) | Agentic Engineering(2026年) |
|---|---|---|
| 人間の役割 | プロンプター(指示を出す人) | アーキテクト兼レビュアー |
| コード所有権 | AIに委譲 | 人間が保持 |
| レビュー | Accept All(差分を読まない) | 全diffをPRと同水準でレビュー |
| 適性 | プロトタイプ・ハッカソン | 本番CI/CD・大規模プロジェクト |
| ツール例 | Cursor Composer, Bolt.new | Claude Code, Devin, OpenAI Codex |
| ワークフロー | 対話的・アドホック | 仕様→エージェント実行→人間レビュー |
実際のAgentic Engineeringワークフロー
# Step 1: 仕様書をCLAUDE.md + DESIGN.md に記述
# → AIはこれを「常に参照する設計書」として扱う
# Step 2: Claude Code でエージェントに実装を委任
claude "DESIGN.md の仕様に従って、認証モジュールを実装して。
テストも書いて。完了したらgit commitして。"
# Step 3: 人間がdiffをレビュー
git diff HEAD~1
# → 全ての変更を確認、問題があれば修正を指示
# Step 4: CI/CDで自動テスト
# → テストが通ったらマージ
# Step 5: 並列ワークツリーで複数タスクを同時進行
claude -w # 新しいワークツリーで別タスクを並行処理
この流れはAIエージェントフレームワーク比較2026年版で解説しているマルチエージェントの考え方と同じだ。人間が全体設計を担い、AIエージェントが実装を担当する分業体制が2026年のソフトウェア開発の標準になりつつある。
Vibe CodingとAgentic Engineeringは対立概念ではない。アイデアの初期検証にはVibe Codingの「コードを忘れる」自由さが効果的で、本番開発にはAgentic Engineeringの「人間が設計・AIが実装・人間がレビュー」の規律が必要だ。両方を使い分けられるのが、2026年の開発者の競争力になる。
Karpathy自身が2026年2月に「vibe codingは古い」と宣言しAgentic Engineeringを提唱
Agentic Engineering = 人間が設計、AIエージェントが実装、人間がレビュー
Vibe CodingとAgentic Engineeringは対立ではなく、用途に応じた使い分け
Vibe Codingを今日から始めるための実践チェックリスト
最後に、この記事の内容を実践に落とし込むためのチェックリストを用意した。
初心者(プログラミング未経験)
# 1. Bolt.new にアクセス(無料)
https://bolt.new
# 2. 作りたいアプリを自然言語で説明
"ポモドーロタイマーアプリを作って。
25分作業→5分休憩のサイクル。
作業回数をカウントして表示。
シンプルでモダンなデザイン。"
# 3. 生成されたアプリをプレビューで確認
# 4. 追加機能を自然言語で指示
"統計画面を追加して。今日の合計作業時間と
完了したポモドーロ回数をグラフで表示して。"
# 5. 動いたらデプロイ(Bolt.new内でワンクリック)
中級者(プログラミング経験あり)
# 1. Cursor をインストール
brew install --cask cursor
# 2. 既存プロジェクトを開く
cursor /path/to/your/project
# 3. .cursorrules でプロジェクトルールを定義
cat > .cursorrules << 'EOF'
- TypeScript strict mode
- React 19 functional components only
- Tailwind CSS for all styling
- Vitest for testing
- All API calls through src/lib/api.ts
EOF
# 4. Cmd+K でインラインAI編集
# 5. Cmd+L でチャットパネルから大きな変更を指示
上級者(Agentic Engineeringへ移行)
# 1. Claude Code をインストール
npm install -g @anthropic-ai/claude-code
# 2. CLAUDE.md を作成(/init で自動生成→カスタマイズ)
claude
# > /init
# 3. 並列ワークツリーで複数タスクを同時処理
claude -w # 機能A用のワークツリー
claude -w # 機能B用のワークツリー(別ターミナル)
# 4. Hooks で品質ゲートを自動化
# .claude/settings.json に pre-commit フックを設定
# 5. Skills でワークフローを定型化
# .claude/skills/deploy/SKILL.md にデプロイ手順を定義
Vibe Codingの門戸は誰にでも開かれている。ブラウザを開いて自然言語で指示を出すだけ——それが2026年のソフトウェア開発の入口だ。そこからどこまで深く潜るかは、あなた次第だ。
参照ソース
- Andrej Karpathy — vibe coding 原ポスト (X)
- Vibe coding - Wikipedia
- Vibe Coding Explained: Tools and Guides - Google Cloud
- What is Vibe Coding? - IBM
- Vibe coding is passe. Karpathy has a new name for the future of software. - The New Stack
- Head of Claude Code: What happens after coding is solved - Boris Cherny (Lenny’s Podcast)
- Comparing the best vibe coding tools - Appwrite
- 8 vibe coding best practices (2026 guide) - Softr