Claude Codeは非常に高性能なAIコーディングアシスタントですが、その能力を最大限に引き出せるかどうかは「指示の出し方」に大きく左右されます。同じタスクでも、プロンプトの書き方次第で出力の品質が大きく変わるのです。本記事では、Claude Codeで確実に成果を出すためのプロンプト術を、具体的な例とともに解説します。中小企業のIT担当者やエンジニアの方が、すぐに実践で使えるテクニックを網羅しました。
なぜプロンプトの書き方が重要なのか
Claude Codeは自然言語で指示を受け取り、コードの生成・編集・実行を行います。しかし、AIは人間と違って「行間を読む」ことが得意ではありません。曖昧な指示を出すと、意図と異なるコードが生成されたり、不要な作業を行ったりすることがあります。
悪い指示と良い指示の違い
| 悪い例 | 良い例 |
|---|---|
| 「ログイン機能を作って」 | 「Express + PassportでJWT認証のログインAPIを作って。エンドポイントはPOST /api/auth/loginで、emailとpasswordを受け取る」 |
| 「バグを直して」 | 「src/utils/date.tsのformatDate関数で、月が0始まりになっているバグを修正して。1月が0と表示される」 |
| 「テストを書いて」 | 「src/services/userService.tsのcreateUser関数に対するJestのユニットテストを書いて。正常系、バリデーションエラー、DB重複エラーの3パターン」 |
良いプロンプトに共通しているのは、具体性・対象の明確さ・期待する結果の明示の3つです。
効果的なプロンプトの5つの原則
Claude Codeに指示を出す際は、以下の5つの原則を意識しましょう。
原則1:具体的なファイルやパスを指定する
Claude Codeはプロジェクト全体を理解していますが、対象を明確にすることで、より正確な操作が可能になります。
# 悪い例
> ユーザーのバリデーションを修正して
# 良い例
> src/validators/userValidator.tsのemailバリデーションを修正して。
現在は@の前に.が含まれるアドレスが弾かれてしまう
原則2:技術的な制約条件を明示する
使用すべきライブラリ、対応するバージョン、コーディング規約などの制約を伝えましょう。
> React 18のServer Componentsを使って、商品一覧ページを作成して。
スタイリングはTailwind CSS v3、データ取得はServer Actionで行うこと
原則3:段階的に指示を出す
大きなタスクを一度に指示するよりも、段階的に進める方が品質は高くなります。
- まず設計方針を確認する:「○○機能の実装方針を提案して」
- 方針を確認してから実装に進む:「その方針でコードを実装して」
- テストを追加する:「作成したコードのテストを書いて」
原則4:期待する出力形式を指定する
コードだけが欲しいのか、説明も欲しいのか、ファイルの分割方法はどうするかを伝えましょう。
> usersテーブルのCRUD APIを作成して。
ファイル構成はroutes/、controllers/、services/の3層に分けて。
各関数にJSDocコメントをつけて
原則5:背景情報を共有する
なぜその作業が必要なのかを伝えると、AIはより適切な判断ができます。
> 現在、月次レポートの生成に30秒以上かかっている。
generateMonthlyReport関数のパフォーマンスを改善して。
SQLクエリの最適化とメモリ使用量の削減が主な課題
コンテキスト管理のテクニック
Claude Codeのセッション中は、会話のコンテキスト(文脈)が蓄積されていきます。このコンテキストを適切に管理することが、長時間の開発セッションで品質を維持するコツです。
/compactでコンテキストを整理する
セッションが長くなると、トークン消費量が増え、応答速度が低下したり、古い情報に基づく回答が生成されたりすることがあります。そんなときは/compactコマンドでコンテキストを圧縮しましょう。
# コンテキストを自動要約して圧縮
/compact
# 特定のテーマに焦点を当てて圧縮
/compact ユーザー認証関連の作業に絞って
/compactは、これまでの会話を要約して新しいコンテキストとして置き換えます。トークン消費を抑えつつ、重要な情報を保持できる便利な機能です。
/clearで完全リセット
まったく新しいタスクに取り組む場合は、/clearでコンテキストを完全にリセットする方が効率的です。前のタスクの情報が残っていると、新しいタスクの処理に悪影響を及ぼすことがあります。
CLAUDE.mdで永続的なコンテキストを設定
毎回のセッションで共通して必要な情報は、CLAUDE.mdに記述しておきましょう。プロジェクトの技術スタック、コーディング規約、ディレクトリ構造などを記載しておけば、セッション開始時に自動で読み込まれます。
スラッシュコマンドの全リストはClaude Codeコマンド一覧でご確認いただけます。
タスク別プロンプトパターン集
ここでは、実際の開発シーンで使える具体的なプロンプトパターンをご紹介します。
新機能の実装
> 以下の仕様でパスワードリセット機能を実装して。
## 仕様
- POST /api/auth/forgot-password でリセットメールを送信
- POST /api/auth/reset-password でパスワードを更新
- トークンの有効期限は1時間
- トークンはcryptoモジュールで生成
## 技術要件
- 既存のsrc/routes/auth.tsに追加
- メール送信はsrc/services/mailService.tsを利用
- バリデーションはzodで実装
バグ修正
> src/components/DataTable.tsxで以下のバグが発生している。
## 症状
ページネーションで2ページ目に移動後、ソート操作をすると1ページ目のデータが表示される
## 再現手順
1. テーブルに100件以上のデータをロード
2. 「次へ」ボタンで2ページ目に遷移
3. カラムヘッダーをクリックしてソート
4. 1ページ目のデータが表示される
## 期待動作
ソート後も現在のページが維持されること
バグ修正のより詳しいテクニックは、Claude Codeデバッグガイドで解説しています。
リファクタリング
> src/services/orderService.tsのprocessOrder関数をリファクタリングして。
## 現在の問題
- 関数が200行以上あり可読性が低い
- バリデーション、計算、DB保存が1つの関数に混在
- テストが書きにくい構造
## 方針
- 単一責任の原則に従って関数を分割
- 既存のテストが通ることを確認
- 型安全性を強化(any型を除去)
リファクタリングの体系的な手法については、Claude Codeリファクタリングガイドも合わせてお読みください。
コードレビュー
> src/controllers/paymentController.tsをレビューして。
以下の観点でチェックしてほしい:
- セキュリティ上の問題はないか
- エラーハンドリングは適切か
- パフォーマンスの改善点はあるか
- TypeScriptの型定義は適切か
拡張思考を活用した高度なプロンプト
複雑なタスクでは、Claude Codeの拡張思考(Extended Thinking)機能を活用すると、より深い分析と高品質な出力が得られます。
拡張思考が効果的な場面
- アーキテクチャの設計判断
- 複雑なアルゴリズムの実装
- パフォーマンスのボトルネック分析
- セキュリティ脆弱性の洗い出し
> think deeply about this:
現在のマイクロサービスアーキテクチャで、
注文サービスと在庫サービスの間でデータ整合性を保証する方法を検討して。
Sagaパターンとイベントソーシングの比較も含めて提案して
「think deeply」や「じっくり考えて」といったプロンプトを加えることで、Claude Codeが拡張思考モードに入り、より包括的な分析を行います。
よくある失敗パターンと対策
Claude Codeの利用でありがちな失敗パターンと、その回避策を紹介します。
失敗1:指示が曖昧すぎる
問題:「いい感じにして」「もっときれいに書いて」など、抽象的な指示では期待通りの結果が得られません。
対策:具体的に何をどう変えてほしいかを明示しましょう。「変数名をキャメルケースに統一して」「関数を50行以内に分割して」など、測定可能な基準を設けると効果的です。
失敗2:一度に大量の変更を指示する
問題:10ファイル以上にまたがる大規模な変更を一度に指示すると、整合性が崩れやすくなります。
対策:タスクを分割して、段階的に進めましょう。まず1つのファイルで動作を確認してから、他のファイルに展開する方法が安全です。サブエージェント機能を使って並列処理させる方法もありますが、最初は段階的なアプローチがおすすめです。
失敗3:コンテキストの汚染
問題:長時間のセッションで、異なるタスクの情報が混在し、AIが混乱してしまうケースです。
対策:タスクの切り替え時には/compactや/clearを活用しましょう。異なる機能の実装は別セッションで行うのも有効です。
失敗4:出力を検証しない
問題:AIが生成したコードを検証せずにそのまま使ってしまい、後から問題が発覚するケースです。
対策:AIにテストの作成・実行まで含めて指示しましょう。「この変更に対するテストも書いて実行して」と加えるだけで、品質が大きく向上します。
チーム開発でのプロンプト標準化
チームでClaude Codeを使う場合、プロンプトの書き方をチーム内で標準化することが重要です。
CLAUDE.mdでチーム共通のルールを設定
CLAUDE.mdにプロジェクト固有のルールを記述しておけば、チームメンバー全員が同じ前提条件のもとでClaude Codeを使えます。
プロンプトテンプレートの共有
よく使うプロンプトのテンプレートをチームで共有しましょう。Skills機能を使えば、定型的なプロンプトパターンをカスタムスラッシュコマンドとして登録することもできます。
# Skillsで定型プロンプトを登録する例
# .claude/skills/create-api-endpoint.md に以下を記述
## 手順
1. ルーティング定義をsrc/routes/に追加
2. コントローラーをsrc/controllers/に作成
3. サービス層をsrc/services/に実装
4. バリデーションスキーマをsrc/validators/に作成
5. ユニットテストをtests/に追加
まとめ:プロンプト力で開発効率を飛躍させよう
Claude Codeのプロンプト術は、一度身につければすべてのAIツールに応用できる普遍的なスキルです。本記事で紹介した5つの原則(具体性・制約条件・段階的指示・出力形式・背景情報)を意識するだけで、出力品質は大きく向上します。
まだClaude Codeを導入していない方は、セットアップガイドを参考にインストールから始めてみてください。すでに利用中の方は、今日のプロンプトから本記事のテクニックを1つでも取り入れてみてください。小さな改善の積み重ねが、チーム全体の開発効率を飛躍的に高めてくれるはずです。
関連記事
Claude CodeでREST API開発|設計からテストまでAI駆動で高速構築
Claude Codeでコードレビュー|AIを活用した品質チェックとレビュー効率化
Claude Codeのコンテキスト管理術|大規模プロジェクトで精度を維持する方法
Claude Codeのカスタムスラッシュコマンド作成ガイド|独自ワークフローの自動化
Claude Codeでデータベース移行・マイグレーション|安全なスキーマ変更の実践
Claude Codeでデバッグを効率化|バグ修正・エラー解析の実践テクニック
Claude Codeでドキュメント自動生成|README・API仕様書・技術文書の効率的な作り方
Claude Codeでエラーハンドリング実装|堅牢なアプリケーションを構築するパターン集