ブログ記事
「雰囲気開発」から抜け出す:Claude Codeを仕様駆動で使いこなす方法
AIにコードを書かせると生産性が上がる——そう感じた後に、「気づいたらどこを変えても別のバグが出る」状態になった経験はないだろうか。『実践Claude Code入門』(エンジニア選書)は、この問題に「Vibe Coding(雰囲気による開発)」という名前を与え、その脱出路を示している。
1. Vibe Codingとは何か
「この機能を追加して」「スタイルをもう少し整えて」——その場その場のプロンプトでAIに要求を伝え続けると何が起きるか。
AIはその時点のコンテキストで最適な出力を生成しようとする。しかし設計方針が共有されていなければ、AIは「前回と異なる設計」をそれぞれの要求に対して選び続ける。コードは機能するが、一貫したアーキテクチャを持たないパッチワーク状態になる。
修正するたびに別の場所が壊れる状態は、技術的負債ではなく設計の不在によるものだ、と本書は位置づける。
2. Claude Codeは「補完ツール」ではなく「合意を実行するエージェント」
従来のコード補完ツール(Copilot世代)は、開発者が書くコードの続きを予測するものだった。Claude Codeはそれとは異なる動きをする。
仕様ファイルを読み込み、コードベースを探索し、実装してテストを実行し、結果を確認して修正する——という一連の作業を自律的に行う。開発者がすべてのコードを書くのではなく、AIに何を達成させるかの「仕様」を定義する役割に変わる。
本書の言葉を借りれば、エンジニアの役割は「作業員」から「ディレクター」へ移行している。
3. CLAUDE.md がコンテキストの劣化を防ぐ
会話が長くなるほど、AIは以前に決めたルールを参照しにくくなる。「コンポーネントはすべて Server Component にする」「ESLint の特定のルールは無効にしない」といった決定が、後半のプロンプトで無視されることが起きる。
本書が推奨するのがリポジトリ直下に置く CLAUDE.md だ。ここにプロジェクトの構成、技術スタック、守るべき規約を記述しておくと、AIは毎回このファイルを参照した上で応答する。
記載すべき内容の例:
- ディレクトリ構成と各ディレクトリの役割
- 使用しているフレームワークとバージョン
- 実行を禁止するコマンド(
git pushの禁止など) - コミットメッセージの形式
この仕組みは「記憶の補強」ではなく、AIとの「合意の文書化」として機能する。
4. エンジニアが担うべき「インテリ活動」
AIが得意な作業とそうでない作業を分けて考えることも、本書の重要なテーマだ。
AIに委ねやすい作業:
- コードの記述・修正
- 既存コードの解析とリファクタリング
- テストコードの生成
- ドキュメントの形式整備
人間が担い続けるべき作業:
- ビジネス要件の整理とドメイン知識の言語化
- アーキテクチャ上の意思決定と判断基準の設定
- 「何を作るか」の定義と優先順位づけ
AIの能力が上がるほど、後者の重要性が増す。本書が「仕様書を書く」ことを繰り返し強調するのは、仕様の曖昧さがそのままコードの混乱になるからだ。
本記事のリンクには Amazon アソシエイト等の広告が含まれる場合があります。リンク経由の購入で運営者に紹介料が支払われることがあります。
この記事を共有
この地図を共有