プロンプト設計がClaude Codeの出力品質を決める

Claude Codeは同じモデルを使っていても、指示の出し方で出力品質が大きく変わります。Anthropicの公式ベンチマークでも、モデル性能よりもハーネス(AIを動かす仕組み)の設計が成果を左右することが示されています。同じOpus 4.5を使っても、ハーネス設計の違いでベンチマークスコアに大きな差が出るのです。

つまり、Claude Codeで成果を出すには「何を、どう伝えるか」の設計が不可欠です。

CLAUDE.mdの設計 — AIに思想を与える

CLAUDE.mdはClaude Codeが毎回読み込む設定ファイルです。ここに何を書くかで、AIの振る舞いが根本的に変わります。

書くべきこと

書きすぎない勇気

実務で得た教訓があります。CLAUDE.mdに300行のルールを書き込んだところ、逆にAIが混乱して指示を守らなくなりました。99%を削除して「思想」だけを残したら、最高の仕事が始まったのです。

ルールを細かく列挙するのではなく、プロジェクトの方向性と判断基準を伝える方がClaude Codeは的確に動きます。細かいルールはコード自体やlintツールに任せましょう。

CLAUDE.mdのサンプル

# プロジェクト概要
AI実践ガイド — X+note+YouTube統合型自社メディア
対象: AI活用に興味がある非エンジニア

# 技術スタック
Python 3.12 / Jinja2 / Cloudflare Pages

# 方針
- 記事は実践的・具体的に。概念説明だけで終わらない
- 2000〜4000文字、h2見出し4〜7個
- 事実として書く内容は正確に

記憶の3層構造を使い分ける

Claude Codeが言うことを聞かない原因の多くは、記憶の置き場所の問題です。3つの階層を正しく使い分けることが重要です。

繰り返し使うルールはCLAUDE.mdに書く。会話内で何度言っても守らない場合、それはCLAUDE.mdに書くべきサインです。

コンテキスト渋滞を防ぐ

Claude Codeの最大の落とし穴が「コンテキスト渋滞」です。会話履歴が長くなると、コンテキストウィンドウが埋まり、初期の指示やCLAUDE.mdの内容が押し出されてしまいます。結果、AIの出力品質が突然劣化します。

対策

効果的な指示の出し方

ゴールを先に伝える

手順ではなく、達成したい状態を伝えるのが効果的です。

❌ まずpackage.jsonを開いて、依存関係を確認して、それからテストを書いて...
✅ このプロジェクトのユーティリティ関数に対するユニットテストを追加して。Jestを使って

制約条件を明示する

✅ 既存のAPIインターフェースは変えないで。内部実装だけリファクタリングして

段階的に進める

一度に全部を任せるよりも、段階的に指示を出す方が精度が上がります。

1回目: 「ユーザー認証機能の設計案を出して」
2回目: 「その案でいこう。まずログイン画面のコンポーネントを作って」
3回目: 「次にAPIエンドポイントを作って」

settings.jsonでハーネスを強化する

Claude Codeにはsettings.jsonという設定ファイルもあります。長時間タスクで品質が崩壊する場合、ハーネス設計を見直すことで改善できます。

たとえば、特定のファイルパターンへの書き込みを制限したり、コマンド実行の自動承認ルールを設定したりできます。プロジェクトの .claude/settings.json に配置します。

CLAUDE.mdが「何をすべきか」を伝えるのに対し、settings.jsonは「何ができるか(権限)」をコントロールします。両方を組み合わせることで、安全かつ高品質な自動化が実現します。

まとめ

Claude Codeのプロンプト設計は、技術的なスキルというよりも「AIへの仕事の任せ方」の設計です。CLAUDE.mdに思想を書き、記憶の階層を正しく使い分け、コンテキスト渋滞を防ぐ。この3つを押さえるだけで、出力品質は劇的に変わります。