ClaudeCode.Tokyo

The Definitive Source for Claude Code — AI時代のコード新聞

THURSDAY, MARCH 19, 2026|Tokyo Edition
Claude Codeへの指示の出し方|初心者のためのプロンプトガイド
入門·更新: 2026-03-20

Claude Codeへの指示の出し方|初心者のためのプロンプトガイド

Claude Codeで思い通りのコードを生成するためのプロンプト術を解説。良い指示と悪い指示のBefore/After、段階的な指示テクニック、CLAUDE.mdとの組み合わせ方を紹介します。

ClaudeCode.Tokyo編集部

2026-03-20 公開

ポスト

この記事のポイント

  • Claude Codeへの指示は「具体的・構造的・段階的」の3原則が重要
  • Before/After形式で良い指示と悪い指示の違いを理解できる
  • CLAUDE.mdに共通ルールを書いておけば、毎回の指示がシンプルになる
  • 5つのプロンプトパターンを覚えれば、ほとんどの開発タスクに対応できる

なぜ指示の出し方が重要なのか

Claude Codeに「いい感じに作って」と指示しても、期待通りの結果は得られません。 プロンプトの書き方一つで、生成されるコードの品質は大きく変わります。 この記事では、初心者でもすぐに使えるプロンプトテクニックを解説します。

Claude Codeの基本操作がまだの方は、先に基本コマンド一覧を確認してください。

良い指示と悪い指示のBefore/After

ケース1:新しい機能を追加する

Before(悪い指示):

ログイン機能を作って

この指示では、以下が不明です。

  • 認証方式(メール?OAuth?)
  • UIデザイン
  • バリデーションルール
  • エラーハンドリング

After(良い指示):

メールアドレスとパスワードによるログイン機能を作ってください。

要件:
- NextAuth.jsを使用
- Credentials providerでメール+パスワード認証
- バリデーション: メール形式チェック、パスワード8文字以上
- ログインフォームはsrc/app/login/page.tsxに配置
- エラー時はフォーム上部にエラーメッセージを表示
- ログイン成功後は/dashboardにリダイレクト

結果の違い:

項目 Before After
認証方式 Claudeが推測 NextAuth.js指定
UI配置 不明確 パス指定済み
バリデーション なしor適当 具体的なルール
エラー処理 不十分 表示方法指定

ケース2:バグを修正する

Before(悪い指示):

ボタンが動かないので直して

After(良い指示):

src/components/SubmitButton.tsxの送信ボタンをクリックしても
フォームが送信されません。

現象:
- ボタンをクリックしてもonSubmitが発火しない
- コンソールにエラーは出ていない
- 昨日までは動いていた

最近の変更:
- フォームのバリデーションロジックを追加した

原因を調査して修正してください。

バグ修正の指示では「現象・再現手順・最近の変更」の3点セットが重要です。

ケース3:リファクタリング

Before(悪い指示):

コードを綺麗にして

After(良い指示):

src/utils/api.tsをリファクタリングしてください。

改善したい点:
- 同じfetch処理が5箇所で重複している → 共通関数に切り出す
- エラーハンドリングがtry-catchで統一されていない → 統一する
- 型定義がanyになっている箇所がある → 適切な型に変更

変更しないでほしい点:
- 既存のAPI呼び出しの引数と戻り値の型は変えない
- テストが通る状態を維持する

「何を変えるか」だけでなく「何を変えないか」も伝えると安全です。

3つの基本原則

原則1:具体的に書く

曖昧な言葉を具体的な言葉に置き換えましょう。

曖昧な表現 具体的な表現
いい感じに Tailwind CSSでモダンなデザインに
ちゃんと TypeScriptのstrictモードでエラーなし
速く 初回ロード3秒以内
セキュアに XSS対策、CSRF対策、入力サニタイズを実装
使いやすく モバイル対応、キーボード操作可能

原則2:構造的に書く

情報を整理して伝えましょう。

【目的】ユーザープロフィール編集画面を作る

【技術要件】
- React Hook Formでフォーム管理
- Zodでバリデーション
- 画像アップロード対応(最大5MB、JPG/PNG)

【UIの要件】
- 既存のデザインシステムに合わせる
- src/components/ui/のコンポーネントを使用
- レスポンシブ対応

【バリデーションルール】
- 名前: 必須、50文字以内
- メール: 必須、メール形式
- 自己紹介: 任意、500文字以内

箇条書きとカテゴリ分けで、Claude Codeが情報を正確に把握できます。

原則3:段階的に進める

複雑なタスクは一度に指示せず、段階的に進めましょう。

ステップ1: 「データベーススキーマを設計して」
    ↓ 確認・修正
ステップ2: 「APIエンドポイントを実装して」
    ↓ 確認・修正
ステップ3: 「フロントエンドのUIを作って」
    ↓ 確認・修正
ステップ4: 「テストを書いて」

各ステップで確認を挟むことで、手戻りを最小化できます。

5つのプロンプトパターン

実際の開発でよく使うパターンをテンプレート化しました。

パターン1:機能実装

【機能名】を実装してください。

技術スタック:
- (使用するライブラリ)

要件:
- (箇条書きで要件を列挙)

ファイル配置:
- (ファイルパスを指定)

注意点:
- (制約や既存コードとの整合性)

パターン2:バグ修正

【ファイルパス】で【現象】が発生しています。

再現手順:
1. (手順1)
2. (手順2)
3. (手順3)

期待する動作: (こうなるべき)
実際の動作: (こうなっている)

エラーメッセージ:
```(エラーログ)```

原因を調査して修正してください。

パターン3:リファクタリング

【ファイルパス】をリファクタリングしてください。

改善目的:
- (可読性向上、パフォーマンス改善、など)

改善したい点:
- (具体的な問題点を列挙)

変更しないでほしい点:
- (維持すべき仕様や型)

テスト: 既存テストが通る状態を維持すること

パターン4:テスト作成

【ファイルパス】のテストを作成してください。

テストフレームワーク: (Jest / Vitest / etc.)

テストケース:
- 正常系: (期待する動作)
- 異常系: (エラーケース)
- 境界値: (0件、上限値など)

モック:
- (外部依存のモック方法)

パターン5:コードレビュー

以下の変更をレビューしてください。

確認してほしい観点:
- セキュリティ上の問題はないか
- パフォーマンスに懸念はないか
- TypeScriptの型定義は適切か
- エッジケースの考慮漏れはないか

変更の目的: (何のための変更か)

CLAUDE.mdとの組み合わせ

CLAUDE.mdに共通ルールを書く

毎回同じ指示を繰り返すのは非効率です。 CLAUDE.mdに共通ルールを書いておけば、プロンプトがシンプルになります。

CLAUDE.mdの例:

# プロジェクトルール

## 言語
- 日本語で応答すること
- コメントは日本語で書くこと

## コーディング規約
- TypeScript strictモードを使用
- 関数コンポーネントのみ使用(クラスコンポーネント禁止)
- スタイリングはTailwind CSSのみ使用
- 命名規則: コンポーネントはPascalCase、関数はcamelCase

## ファイル配置
- コンポーネント: src/components/
- フック: src/hooks/
- 型定義: src/types/
- ユーティリティ: src/utils/

## テスト
- テストフレームワーク: Vitest
- テストファイルは __tests__/ ディレクトリに配置

CLAUDE.mdがある場合のプロンプト

CLAUDE.mdにルールを書いておくと、指示がシンプルになります。

CLAUDE.mdなしの場合:

ユーザー一覧コンポーネントを作ってください。
TypeScript strictモードで、関数コンポーネントで、
Tailwind CSSでスタイリングして、
src/components/に配置して、
コメントは日本語で...

CLAUDE.mdありの場合:

ユーザー一覧コンポーネントを作ってください。

表示項目: 名前、メール、登録日
機能: ページネーション、検索フィルタ

共通ルールはCLAUDE.mdに任せて、タスク固有の要件だけを伝えます。

CLAUDE.mdの詳しい書き方はCLAUDE.md活用ガイドを参照してください。

会話の流れを活かすテクニック

テクニック1:前の結果を踏まえて追加指示

Claude Codeは会話の文脈を覚えています。 前の応答を踏まえた追加指示が効果的です。

1回目: 「ユーザー一覧APIを作って」
  → APIが生成される

2回目: 「それにページネーションを追加して」
  → 既存コードを修正してくれる

3回目: 「ソート機能も追加して。名前と登録日でソートできるように」
  → さらに機能を追加してくれる

「それ」「これ」で前の文脈を参照できます。

テクニック2:確認してから進む

大きな変更の前に、方針を確認しましょう。

認証機能を追加したいです。
NextAuth.jsとSupabase Authのどちらがこのプロジェクトに
適しているか、メリット・デメリットを教えてください。
実装はまだしないでください。

「実装はまだしないでください」が重要です。 方針を確認してから実装に進むと、手戻りが減ります。

テクニック3:エラーをそのまま貼る

エラーが出たら、メッセージをそのまま貼り付けましょう。

npm run buildしたら以下のエラーが出ました。修正してください。

Type error: Property 'email' does not exist on type 'User'.

  45 |   return (
  46 |     <div>
> 47 |       <p>{user.email}</p>
     |              ^
  48 |     </div>
  49 |   );

エラーメッセージを加工する必要はありません。 Claude Codeがコンテキストから原因を特定して修正します。

テクニック4:参考コードを見せる

既存のコードパターンに合わせてほしい場合は、参考を示しましょう。

src/components/UserCard.tsxと同じパターンで、
ProductCard.tsxを作ってください。

表示項目: 商品名、価格、画像、在庫状況

「同じパターンで」と指示すると、既存コードのスタイルに合わせてくれます。

よくある失敗と対処法

失敗1:一度にすべてを指示する

❌ ECサイト全部を作って。ユーザー認証、商品一覧、カート、
   決済、注文履歴、管理画面、メール通知...

Claude Codeは一度に大量の指示を受けると、品質が下がります。

✅ まず商品一覧ページから作りましょう。
   以下の仕様で実装してください...

失敗2:コンテキストを伝えない

❌ 修正して

何を修正するのか、どこが問題なのかが不明です。

✅ src/app/api/users/route.tsのGETエンドポイントで、
   削除済みユーザーもレスポンスに含まれてしまっています。
   deletedAtがnullのユーザーのみ返すように修正してください。

失敗3:矛盾する指示を出す

❌ シンプルに作って。でも全機能をカバーして。
   パフォーマンスも最高にして。

矛盾する要件はClaude Codeを混乱させます。

✅ まずMVP版をシンプルに作ってください。
   パフォーマンス最適化は後のステップで行います。

   MVP要件:
   - ユーザー登録
   - ログイン
   - プロフィール表示

優先順位を明確にしましょう。

プロンプトの実践例集

実践例1:API実装

RESTful APIを実装してください。

エンドポイント: /api/posts
メソッド: GET, POST, PUT, DELETE

GETの仕様:
- クエリパラメータ: page, limit, sort, search
- レスポンス: { posts: Post[], total: number }
- デフォルト: page=1, limit=20

POSTの仕様:
- リクエストボディ: { title: string, content: string }
- バリデーション: title必須(100文字以内)、content必須
- レスポンス: 作成されたPost

エラーハンドリング:
- 400: バリデーションエラー
- 404: リソースが見つからない
- 500: サーバーエラー

実践例2:デザイン修正

src/app/page.tsxのヒーローセクションを改善してください。

現状の問題:
- モバイルで文字が小さすぎる
- CTAボタンが目立たない

改善内容:
- 見出し: モバイルtext-2xl → デスクトップtext-5xl
- CTAボタン: 背景をgradient(blue-500→purple-600)に変更
- ボタンサイズ: パディングを大きくする(py-4 px-8)
- ホバー時にスケールアニメーションを追加

実践例3:パフォーマンス改善

このプロジェクトのパフォーマンスを改善してください。

現状:
- Lighthouseスコア: Performance 65
- LCP: 4.2秒
- 画像が最適化されていない

やってほしいこと:
1. next/imageコンポーネントへの置き換え
2. 不要なクライアントコンポーネントのサーバーコンポーネント化
3. dynamic importによるコード分割
4. フォント読み込みの最適化

対象ファイル: src/app/ 配下のすべてのページ

まとめ

Claude Codeへの指示で重要なポイントです。

  • 具体的に書く:曖昧な表現を避け、数値や名前で指定する
  • 構造的に書く:箇条書きとカテゴリ分けで情報を整理する
  • 段階的に進める:大きなタスクは分割し、確認を挟む
  • CLAUDE.mdを活用する:共通ルールを書いておき、毎回の指示を簡潔にする
  • 5つのパターンを覚える:機能実装、バグ修正、リファクタリング、テスト、レビュー

次のステップとして、以下の記事もおすすめです。

よくある質問

Q. プロンプトは日本語と英語どちらが良いですか?

どちらでも問題なく動作します。日本語で指示して日本語で応答を受けるのが自然です。ただし、CLAUDE.mdに「日本語で応答すること」と明記しておくと確実です。技術用語は英語のまま使う方が正確に伝わります。

Q. 長いプロンプトと短いプロンプト、どちらが良いですか?

タスクの複雑さによります。簡単な修正は短いプロンプトで十分です。新機能の追加や設計変更など複雑なタスクでは、要件を箇条書きにした長めのプロンプトが効果的です。

Q. Claude Codeが意図と違う結果を返したらどうすればいいですか?

「違います。○○ではなく△△にしてください」と修正指示を出してください。具体的にどこが違うかを伝えるのがポイントです。Escキーで途中で止めてやり直すこともできます。

Q. CLAUDE.mdに何を書けばいいですか?

最低限、使用言語(日本語)、コーディング規約(命名規則など)、プロジェクトの技術スタックを書きましょう。チームで使う場合はレビュー基準やブランチ戦略も有効です。

Q. プロンプトのテンプレートはありますか?

この記事で紹介している5つのパターン(機能実装、バグ修正、リファクタリング、テスト作成、コードレビュー)がテンプレートとして使えます。コピーしてカスタマイズしてください。

#プロンプト#指示の出し方#初心者#CLAUDE.md#ベストプラクティス

Written by

ClaudeCode.Tokyo編集部

Claude Code専門メディア「ClaudeCode.Tokyo」の編集部です。AI×開発の最新情報を、初心者にもわかりやすくお届けします。

ポスト

関連記事