プロンプトの極意
基本原則:人間のエンジニアに話すように書く
Section titled “基本原則:人間のエンジニアに話すように書く”Claude Codeへの指示は、「優秀だが文脈を知らないエンジニアへの依頼書」として書くと上手くいきます。
パターン1: 背景+目的+制約
Section titled “パターン1: 背景+目的+制約”背景: 現在、ユーザーがプロフィール画像をアップロードできる機能を実装中です。目的: 画像のリサイズ処理を追加したいです。制約: Sharpライブラリをすでに使っているので、それを使ってください。パターン2: 現状+期待する姿
Section titled “パターン2: 現状+期待する姿”現状: ユーザー一覧ページのAPIが毎回全件取得しています(N+1問題あり)。期待する姿: ページネーション付きで、1ページ20件取得するように変更してください。※API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。
パターン3: 例を示す
Section titled “パターン3: 例を示す”以下の形式でAPIレスポンスを変換する関数を書いてください。入力: { "user_id": 1, "user_name": "田中" } 出力: { "id": 1, "name": "田中" }例を見せると、意図が正確に伝わります。
やってはいけないプロンプト
Section titled “やってはいけないプロンプト”悪い例(コピーしないこと):
最適化してきれいにしていい感じにして何を最適化するのか、何がきれいでないのかを明示する必要があります。
複数の依頼を一度に
Section titled “複数の依頼を一度に”認証機能を追加して、デザインも直して、テストも書いて、READMEも更新して一つずつ依頼した方が、それぞれの質が上がります。
※プロンプト: AIへの指示文。Claude Codeへの指示の質がそのまま出力の質に影響する。
確認ポイントを埋め込む
Section titled “確認ポイントを埋め込む”大きな変更の前に「まず確認してから実行」を習慣にする。
ユーザーテーブルのスキーマを変更したい。まず変更内容の計画と影響範囲を説明して、OKなら実行に移って。※スキーマ: データベースのテーブル構造や型定義のこと。
モデルに役割を与える
Section titled “モデルに役割を与える”あなたはセキュリティの専門家として、このコードの脆弱性を指摘してください。役割を与えることで、特定の観点からの深い分析が得られます。