Claude Code with Claude Code
Learn about claude code using Claude Code. Practical tips and code examples included.
プロンプトの質が成果を決める
Claude Codeの出力品質はプロンプトの質に大きく依存します。基本的なプロンプトの書き方は効果的なプロンプトの5つのコツで解説しましたが、この記事ではさらに高度なテクニックを紹介します。
テクニック1:制約指定プロンプト
「何をすべきか」だけでなく「何をすべきでないか」を明示します。
> ユーザー検索機能を実装して。
>
> 制約:
> - any型は使わない
> - 外部ライブラリは追加しない(既存の依存のみ使用)
> - SQLは直接書かずPrisma clientを使用
> - console.logは残さない
> - 1関数50行以内
制約を明示することで、レビューで差し戻されるような問題を事前に防げます。
テクニック2:ステップバイステップ指示
複雑なタスクは段階的に指示します。
> 以下のステップで通知システムを実装して。
> 各ステップ完了後にテストが通ることを確認してから
> 次に進んで。
>
> Step 1: 通知の型定義(Notification, NotificationType)
> Step 2: 通知サービスクラス(作成、既読、Delete)
> 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を、リファクタリングの具体例はリファクタリング自動化ガイドもあわせてご覧ください。
Summary
上級プロンプトエンジニアリングのポイントは、制約の明示、段階的な指示、出力形式の指定です。CLAUDE.mdにプロジェクトのコンテキストを充実させることで、毎回のプロンプトが短くなり、一貫した品質が得られます。
プロンプトエンジニアリングの詳細はAnthropic公式ドキュメントやプロンプトエンジニアリングガイドを参照してください。
Level up your Claude Code workflow
50 battle-tested prompt templates you can copy-paste into Claude Code right now.
Free PDF: Claude Code Cheatsheet in 5 Minutes
Key commands, shortcuts, and prompt examples on a single printable page.
About the Author
Masa
Engineer obsessed with Claude Code. Runs claudecode-lab.com, a 10-language tech media with 2,000+ pages.
Related Posts
Getting Started with Claude Code Agent SDK — Build Autonomous Agents Fast
Learn how to build autonomous AI agents with Claude Code Agent SDK. Covers setup, tool definitions, and multi-step execution with practical code examples.
The Complete Guide to Context Management in Claude Code
Learn practical techniques to maximize Claude Code's context window. Covers token optimization, conversation splitting, and CLAUDE.md usage.
Mastering Claude Code Hooks: Auto-Format, Auto-Test, and More
Mastering Claude Code Hooks: Auto-Format, Auto-Test, and More. A practical guide with code examples.