「AI にコードを書かせてみたが、結局自分で直している時間の方が長い」——Claude Code を試してそう感じた経験はないでしょうか。問題の多くは、ツールの性能ではなく使い方の設計にあります。本記事では、Claude Code を単なるコード補完ツールとしてではなく、調査・計画・実装・検証の4フェーズを通じた開発パートナーとして活用する実践的な方法を解説します。導入の基本から、CLAUDE.md による文脈の永続化、コスト管理、苦手なタスクの見極めまで、実務で得た知見をもとに体系的にまとめます。
Claude Code とは:コード補完との根本的な違い
Claude Code は Anthropic が開発したエージェント型の CLI ツールです。GitHub Copilot のようなリアルタイムのインライン補完とは根本的に異なり、自然言語の指示を受けてコードベース全体を読み解き、複数ファイルにまたがる変更・テストの実行・Git 操作まで自律的に行うことができます。
従来のコード補完が「タイピング中の隣人」だとすれば、Claude Code は「要件を渡せば実装まで進めてくれるジュニア〜ミドルエンジニア」に近い存在です。ただし、指示の質がアウトプットの質を直接左右するため、「どう使うか」の設計が成果を大きく左右します。
エンジニアClaude Code を試し始めた頃は、短いプロンプトをその都度投げる「ペアコーディング」スタイルで使っていました。でも結局自分で直す時間が長くて、「これなら自分でやった方が早い」と感じることも多かった。使い方を「計画→実装→検証」の3フェーズに変えてから、生産性が明確に上がりました。
デザイナー使い方次第でこれだけ変わるんですね。デザイン観点でも、「このアニメーションを実装して」という短い指示より、「Figma の仕様に沿って、アクセシビリティも考慮した実装をして」と詳細に伝えた方がずっと意図に近いコードが出てくることに気づきました。
実践的な活用フロー:4フェーズで進める
フェーズ1:調査(コードベースの把握を Claude に任せる)
初めて触るコードベース、または久しぶりに手を入れるプロジェクトでは、全体像の把握に多くの時間を取られます。この調査フェーズを Claude Code に委ねることで、人間は把握した情報の判断と方針決定に集中できます。
# プロジェクトのルートディレクトリで起動
cd my-project
claude
# 全体像の把握を依頼する
> このリポジトリのアーキテクチャを理解して、
> 主要なモジュールとその依存関係をMarkdownにまとめてください。
> ファイルに保存してください:docs/architecture.md
# 特定機能の影響範囲調査
> 認証まわりのコードがどこにあるか調査して、
> 変更時に影響を受けるファイルをリストアップしてください
調査結果のドキュメントは、次の計画フェーズで Claude Code 自身に読み込ませるコンテキストにもなります。「調査 → ドキュメント化 → 次の作業に活用」というサイクルが定着すると、コードベースへの理解が蓄積されていきます。
フェーズ2:計画(実装前に仕様を言語化させる)
曖昧な指示のまま実装に入ると、方向性のずれた成果物が出てきて修正コストが膨らみます。Plan モード(--permission-mode plan)を使って、実装前に変更計画を出力させ、人間がレビューしてから承認するフローが有効です。
# Plan モードで起動(ファイルを変更せず計画のみ出力)
claude --permission-mode plan
> ユーザー登録フォームにメールアドレスの重複チェックを追加してください。
> - バックエンド:Laravel の ValidationRule を使用
> - フロントエンド:リアルタイムで確認し、エラーを FormField コンポーネントで表示
> - テスト:Vitest でフロント、PHPUnit でバックを追加
> まず変更計画を提示してください。実装はその後行います。
計画が意図した内容になるまでラリーして磨き込んでから承認することで、手戻りを最小化できます。実務では「承認してから打ち合わせに出ると、戻ってきたときには実装が完了している」というケースも多くなります。
フェーズ3:実装(人間は監視役に徹する)
計画を承認したら実装フェーズです。Claude Code は複数ファイルにまたがる変更・テストの実行・Lint の修正まで自律的に進めます。人間はアウトプットをレビューし、方向がずれたときだけ小さいプロンプトで修正を指示します。
# acceptEdits モード(編集の承認を省略して自動で書き込む)
claude --permission-mode acceptEdits
> 先ほどの計画に基づいて実装を進めてください。
> テストも追加し、最後に npm test と php artisan test を実行して確認してください。
コンテキストウィンドウの残量が減ってくると精度が落ちることが実務上の課題として知られています。長い作業セッションでは /compact で履歴を圧縮するか、タスクを小さく分割して新しいセッションで実行することが重要です。
フェーズ4:検証(仕様と実装のズレを確認する)
実装完了後は、計画フェーズで言語化した仕様と実際の実装を照らし合わせます。「Claude が根拠なく仕様を変えていないか」を確認することが、品質維持のポイントです。テストが通っていることの確認に加えて、差分レビューを人間の目で行うことは省略しないようにしましょう。
# 実装後のセルフレビューを依頼
> 実装した内容と当初の計画を比較して、
> 計画と異なる点や、仕様外の変更があればリストアップしてください。
> その後、コードレビューの観点(可読性・パフォーマンス・セキュリティ)でも確認してください。
CLAUDE.md:コンテキストを永続化してプロンプトを省く
毎回「このプロジェクトは Laravel 12 + React 19 で…」と説明する手間をなくすのが CLAUDE.md です。プロジェクトルートに置くことで、Claude Code が自動的に読み込み、技術スタック・コーディング規約・禁止事項などを常に参照します。チームでリポジトリにコミットして共有することで、全員が同じ前提で Claude Code を使えます。
# CLAUDE.md(プロジェクトルートに配置してリポジトリ管理)
## プロジェクト概要
Laravel 12 + React 19 で構築した EC サイト。
## 技術スタック
- Backend: Laravel 12 / PHP 8.2 / MySQL 8
- Frontend: React 19 / TypeScript / Tailwind CSS
- テスト: Vitest + Testing Library(フロント)/ PHPUnit(バック)
- インフラ: ECS Fargate / RDS / S3 / CloudFormation
## コンポーネント設計
Atomic Design を採用(atoms / molecules / organisms / templates / pages)
API 呼び出しは Page 層に集約し、Organism 以下には持ち込まない
## 必ず守ること
- コミットは Conventional Commits 形式(feat:, fix:, refactor: など)
- 新機能には必ずテストを追加する
- production/ ディレクトリのファイルを直接編集しない
## よく使うコマンド
- フロントテスト: npm test
- バックテスト: php artisan test
- ローカル起動: ./dc.sh start
Claude Code が得意なこと・苦手なこと
すべての作業を Claude Code に任せればよいわけではありません。実務で検証された「得意・不得意」の傾向を把握しておくことが、効果的な使い分けにつながります。
| カテゴリ | 得意なタスク | 苦手・向いていないタスク |
|---|---|---|
| 実装 | 新機能の初期実装、テストコードの生成、複数ファイルにまたがるリファクタリング | 単純な変数リネーム(IDE のリファクタリング機能の方が速い) |
| 調査・理解 | 初見コードベースの全体把握、影響範囲の調査、ドキュメント生成 | MCP 連携していない外部ツール(Slack・Jira 等)の情報を要する調査 |
| 修正・改善 | バグ修正、ライブラリのバージョンアップ対応、Lint エラーの一括修正 | 長期にわたる修正ラリー(誤ったコメントに引きずられて同じ間違いを繰り返しやすい) |
| 設計 | アーキテクチャの説明・提案、実装計画の作成 | プロジェクト全体のディレクトリ構成変更(パス解決の再帰処理に時間がかかる) |
PR レビューでのコメント対応については、「初回の仮実装まで」は有効ですが、何度も修正させると精度が下がることが実務上の知見として報告されています。PR 内でのやり取りは「コメントアウトの修正・変数名の見直しなど素早く直せるもの」に絞り、@メンションで呼び出す運用にするとコストも抑えられます。
コスト管理:プランの選択と使い方の工夫
Claude Code のコストは使い方次第で大きく変わります。現時点では Claude.ai の Pro プラン(月 $20)から利用可能で、Team・Enterprise プランでもチーム全体への展開ができます。
コスト効率を高めるための実践的なポイントを整理します。
- プロンプトキャッシングを有効にする:
enablePromptCaching: true(デフォルトで有効)。大規模コードベースの繰り返し参照コストを大幅に削減します。 - タスクを適切な粒度に分割する:1つのセッションに詰め込みすぎるとコンテキストが長くなり、精度低下とコスト増の両方につながります。
/compactを定期的に使う:セッションが長くなったタイミングで文脈を圧縮し、トークンを節約します。/costsでモニタリングする:使用状況を定期確認して、コストの肌感覚を養います。- モデルを使い分ける:日常的なコード生成には
sonnet、複雑な設計判断にはopusを使い分けることでコストと品質のバランスをとります。
まとめ:Claude Code を「使いこなす」ための考え方
Claude Code が期待どおりに機能しないとき、原因の多くは「AI の性能」ではなく「人間の入力の質」にあります。曖昧な指示・文脈不足・長すぎるセッションが精度低下の主な要因です。
- 4フェーズで進める:調査 → 計画(Plan モードで承認) → 実装(人間は監視役)→ 検証(仕様との照合)。
- CLAUDE.md で文脈を永続化する:技術スタック・規約・禁止事項をプロジェクト単位で定義し、毎回の指示を省く。
- 得意・不得意を把握する:初期実装・調査・バグ修正は得意。単純リネームや長期的な修正ラリーは人間の方が速い。
- コンテキスト管理を意識する:セッションが長くなったら
/compactで圧縮し、タスクを小分けにする。 - コストをモニタリングする:
/costsとenablePromptCachingでコストと品質のバランスを継続的に調整する。
「一人でコーディングしていない感覚で作業できる」——これが Claude Code を使いこなした開発者が共通して語る体験です。ツールとして機能させるのではなく、指示と文脈の設計を通じて開発パートナーとして育てる視点が、最大限の恩恵を引き出す鍵になります。