Advanced

Claude Code上級プロンプトエンジニアリング:成果を最大化する技術

Claude Codeで成果を最大化するための上級プロンプトエンジニアリングテクニックを解説。メタプロンプト、チェーン、制約指定の実践法を紹介します。

プロンプトの質が成果を決める

Claude Codeの出力品質はプロンプトの質に大きく依存します。基本的なプロンプトの書き方は効果的なプロンプトの5つのコツで解説しましたが、この記事ではさらに高度なテクニックを紹介します。

テクニック1:制約指定プロンプト

「何をすべきか」だけでなく「何をすべきでないか」を明示します。

> ユーザー検索機能を実装して。
>
> 制約:
> - any型は使わない
> - 外部ライブラリは追加しない(既存の依存のみ使用)
> - SQLは直接書かずPrisma clientを使用
> - console.logは残さない
> - 1関数50行以内

制約を明示することで、レビューで差し戻されるような問題を事前に防げます。

テクニック2:ステップバイステップ指示

複雑なタスクは段階的に指示します。

> 以下のステップで通知システムを実装して。
> 各ステップ完了後にテストが通ることを確認してから
> 次に進んで。
>
> Step 1: 通知の型定義(Notification, NotificationType)
> Step 2: 通知サービスクラス(作成、既読、削除)
> Step 3: APIエンドポイント(CRUD + WebSocket)
> Step 4: React hooks(useNotifications)
> Step 5: UIコンポーネント(NotificationBell, NotificationList)

テクニック3:出力形式の指定

期待する出力形式を明確にします。

> このコードをレビューして。結果は以下の形式で:
>
> ## 致命的な問題
> - [ファイル名:行番号] 問題の説明 → 修正案
>
> ## 改善推奨
> - [ファイル名:行番号] 問題の説明 → 修正案
>
> ## 品質スコア
> セキュリティ: X/10
> パフォーマンス: X/10
> 保守性: X/10
> テスト: X/10

テクニック4:ロールとコンテキストの設定

CLAUDE.mdにプロジェクト固有のコンテキストを設定します。

# CLAUDE.md

## プロジェクト概要
ECサイトのバックエンドAPI。TypeScript + Express + Prisma。
月間100万PVを想定した設計。

## 技術スタック
- Runtime: Node.js 20
- Framework: Express 4
- ORM: Prisma 5
- DB: PostgreSQL 16
- Cache: Redis 7
- Test: Vitest

## コーディング規約
- 関数名は動詞で始める(get, create, update, delete)
- 非同期関数は必ずasync/awaitを使用
- エラーはカスタムエラークラスを使用(throw new NotFoundError())
- APIレスポンスは { data, meta, error } 形式

## 禁止事項
- any型の使用
- console.log(loggerモジュールを使用)
- var宣言
- ==(===を使用)
- 外部APIのURLハードコード(環境変数を使用)

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

テクニック5:比較・選択を求める

複数の選択肢を提示させてから決定します。

> 状態管理のアプローチを3つ提案して。
> 各案のメリット・デメリット・コード例を示して。
> 判断は私がするので実装はまだしないで。
>
> 候補:
> 1. React Context + useReducer
> 2. Zustand
> 3. Jotai

テクニック6:メタプロンプト

Claude Codeに最適なプロンプトを生成させます。

> 大規模なデータベースリファクタリングを
> Claude Codeで実施したい。
> 最適なプロンプトの構成を提案して。
> 安全性を最大限確保する指示を含めて。

テクニック7:イテレーティブな改善

一度で完璧を目指さず、段階的に改善します。

> まずシンプルに動く実装を作って。テストも書いて。
> 動いたので、以下を改善して:
> - エラーハンドリングを追加
> - 入力バリデーションを強化
> - パフォーマンスを最適化
> 改善後もテストが通ることを確認して。
> いい感じ。最後にリファクタリングして:
> - 関数を分割して単一責任に
> - 命名を改善
> - ドキュメントコメントを追加

テクニック8:失敗パターンからの学習

うまくいかなかった指示を改善する方法です。

> (悪い例)
> いい感じにリファクタリングして。

> (良い例)
> src/services/orderService.ts をリファクタリングして。
> 目標:
> - 200行を超えている関数を50行以内に分割
> - ビジネスロジックとDB操作を分離
> - テストカバレッジを維持(現在75%)
> - 公開APIの型シグネチャは変えない

具体的な数値や制約を入れることで、Claude Codeの出力が格段に改善します。生産性全般のTipsは生産性を3倍にする10のTipsを、リファクタリングの具体例はリファクタリング自動化ガイドもあわせてご覧ください。

まとめ

上級プロンプトエンジニアリングのポイントは、制約の明示、段階的な指示、出力形式の指定です。CLAUDE.mdにプロジェクトのコンテキストを充実させることで、毎回のプロンプトが短くなり、一貫した品質が得られます。

プロンプトエンジニアリングの詳細はAnthropic公式ドキュメントプロンプトエンジニアリングガイドを参照してください。

#Claude Code #プロンプトエンジニアリング #上級 #CLAUDE.md #プロンプト設計