はじめに
Claude Code を日常的に使っていると、ある時点で気づくことがある。
CLAUDE.md は「AIに指示を書き込むファイル」ではなく、AIの思考プロセスと返答形式そのものを設計するファイルだということ。
最初は「簡潔に返答して」「絵文字は使わないで」みたいなスタイル指定から始めた。でも実運用を重ねるうちに、AIの出力品質を決めているのはスタイルではなく、判断の順序・自己検証の仕組み・情報参照のルールだと分かってきた。
この記事では、実運用の試行錯誤で磨いてきた5つの設計パターンを紹介する。すべてコピペできる形でスニペットも載せるので、自分のCLAUDE.md にそのまま組み込める。
前提: CLAUDE.md で制御できること
CLAUDE.md は単なる「プロジェクト指示書」と捉えられがちだが、実際には以下の4軸を制御する設計物として機能する。
- 返答スタイル: 長さ・トーン・フォーマット
- 意思決定の順序: 何を先に確認させ、何を後に回すか
- タスクフローの自動化: ログ記録、コミット、外部ツール連携
- 情報参照ルール: どのタイミングで何を取得させるか
以下の5つのパターンは、このうち「意思決定の順序」と「タスクフローの自動化」に関するもの。スタイル指定より1段深い部分の設計になる。
パターン1: 一般論で答えさせない設計
問題
AI は、戦略判断や意思決定を伴う問いに対して、平均的に正しそうな答えに自動収斂する癖がある。LLM の学習データに含まれる「正解っぽい回答パターン」の中央値に引きずられるためで、自分の文脈固有の判断が必要な場面で致命的になる。
「どう進めるべき?」「AとBどっちがいい?」みたいな問いに、自分の仮説をぶつける前にAIの流暢な一般論を読むと、思考がその方向に引っ張られる。自分の直感と比較する機会を失う。
解決
CLAUDE.md に、戦略判断を伴う問いでは、まずユーザー自身の仮説を1問だけ引き出すルールを書く。
実装スニペット
## 戦略判断を問われたら、まずユーザーの仮説を引き出す
- 戦略・判断・意思決定を伴う問い(「どう思う?」「どっちがいい?」「どう進めるべき?」等)に対しては、即座に全回答を返す前に、ユーザー自身の仮説・直感を1問だけ確認する
- 例: 「先にあなたの直感としてはどちらに傾いていますか?それを前提に肉付けします」
- ユーザーが既に仮説を提示している場合(質問文の冒頭2〜3行に主観が書かれている)はスキップして回答に進む
- 適用外: 単純な情報確認、実装タスク、ステータス報告、軽い質問
- 目的: ユーザーがAI回答を読んだ瞬間に素の主観が染まるのを防ぎ、「自分の仮説 vs AI回答」の比較構造を作る
このルールを入れてから、AIとの対話が「相談」ではなく「壁打ち」として機能するようになった。自分の仮説をまず言語化してから、AIの補強や反論を受ける構造が安定する。
パターン2: アウトプットに自己批判を添えさせる設計
問題
AIが出す提案は、一般論に寄るほど「自覚なく一般論になっている」という厄介な性質を持つ。出力そのものには「これは一般論に寄ってます」というシグナルが入らない。受け取った側がフィルターをかけるか、別の視点で検証しない限り、一般論がそのまま通ってしまう。
解決
提案の末尾に、AI自身に「最も弱い前提」を書かせるルールをCLAUDE.md に追加する。
実装スニペット
## 戦略提案の後に、自ら「最も弱い前提」を提示する
- 戦略・判断・方針の提案を行った場合、回答末尾に自分のアウトプットのセルフ批判を必ず添える
- 「この提案の最も弱い前提」
- 「この戦略が負けるシナリオ」
- 「固有の事情で崩れうる部分」
- 一般論に寄った回答ほど、この自己批判を厚めに書く(凡庸な収斂の自己検出)
- 適用外: 事実確認、ログ作成、単純な実装、ユーザーが既に批判的視点で質問している場合
- 目的: AIが生成した「平均的に正しそうな答え」をAI自身に相対化させる
この仕組みの面白い副作用は、AIが自己批判を書こうとした瞬間に、本編の提案自体が慎重になることだ。出力の後半で破綻するのを避けるため、前半の主張を控えめにする。結果として「一般論に寄る度合い」が全体的に下がる。
パターン3: セッションログを自動で git に残す運用
問題
AIとの対話履歴は、セッションを閉じると基本的に揮発する。Claude Code だと .claude/projects/ に JSON として残るが、複数環境で作業していると参照しにくく、検索性も低い。数週間後に「あの時なんでこう決めたんだっけ」を追えないのは、意思決定の再現性において致命的な欠陥。
解決
ターンごとにセッションログを logs/ に追記し、自動で git commit/push する仕組みを CLAUDE.md のルールとして書く。
実装スニペット
## セッションログの記録(最優先)
毎ラリー(ターンごと)に必ず `logs/` へ追記すること。
### 手順
1. 返答を出力する前に `date '+%Y-%m-%d %H:%M:%S %Z'` で時刻を取得
2. 返答を出力する
3. 返答後、`logs/YYYY-MM-DD_HHMM_トピック概要.md` に以下を追記:
- 日時
- 議論したトピック
- 主な決定事項・合意事項
- アクションアイテム
- 次回セッションで参照すべきコンテキスト
4. ログ書き込み後、必ずメインで同期的に `git add logs/ && git commit && git push` を実行する
### ファイル名ルール
- `YYYY-MM-DD_HHMM_日本語でのトピック概要.md`
- 同一セッション内では同じファイルに追記し続ける
これを導入すると、過去の判断が全部 git history に残る。ブランチを切らずに main に直接 push することで、検索・閲覧の摩擦をゼロにする。個人利用ゆえに成立する運用だが、効果は絶大。数ヶ月前のセッションでも git log + grep で5秒で辿り着ける。
パターン4: 時刻依存判断の前に時刻を再取得させる
問題
LLMには「セッション開始時の時刻情報」が暗黙的に保持されているが、長時間のセッションや複数日にまたがる作業では、これが古くなる。「明日の予定」「あと○時間」「締切まで○日」のような判断で、数時間〜数十時間ズレた時刻を前提に回答を組む事故が起きる。
実際にあったケース: 20時間前の時刻情報を信じたまま「明日のMTG準備を」と提案されたが、そのMTGは実際には既に終了済みだった。
解決
時刻依存の判断をする前に、必ず現在時刻を再取得させるルールを最優先で入れる。
実装スニペット
## 時刻依存判断の前に必ず時刻を取得する
「今日」「明日」「今週」「あと○時間」「○日後」「○時まで」等、時刻に依存する判断・プラン作成・スケジュール議論の前に、必ず最新の時刻を確認する。
- セッション開始時に取得した時刻は信用しない(数時間〜数十時間経過している可能性)
- 各ターンのcontextに注入される `[現在時刻]` を必ず確認してから時刻依存の判断に進む
- `[現在時刻]` の注入が見当たらない場合、即座に `date '+%Y-%m-%d %H:%M:%S %Z (%A)'` を実行する
- 取得した日付が直前の自分の発言と1日以上ずれていたら、それまでの議論前提を全面的に再評価する
さらに、Claude Code の hooks 機能で各ターンのcontextに自動で [現在時刻] を注入すると、AIがわざわざコマンドを叩かなくても判断材料が常に手元にある状態になる。このルールとhookの組み合わせが重要で、片方だけだと漏れが出る。
パターン5: 意思決定ログを「主観→根拠→AI補強」の順で書かせる
問題
AIとの対話で意思決定の整理が進むと、ログや記録物に書く際、AIの分析がそのまま主文になる現象が起きる。「〇〇の分析により△△に決定」みたいな書き方。
これは短期的には見栄えが良いが、数ヶ月後に読み返すと「なぜそう判断したのか」の自分の主観が消えていることに気づく。AIの要約はいつでも再生成できるが、自分がその瞬間に感じた直感や観察は再現不能。
解決
記録物の書き順を**「主観 → 根拠 → AI補強」の順序**に固定する。
実装スニペット
## 意思決定ログ・記録物の書き順
記録物で意思決定の理由を書くときの順序:
1. 自分の判断・直感・主観
2. その根拠(一次情報・体験・観察)
3. AIの分析・調査結果は補強材料として最後
NG の書き方: 「AIの分析により〇〇に決定」
OK の書き方: 「〇〇に決定。理由は ① 直感(主観)、② 一次情報での観察。AIの市場分析もこれを支持」
ユーザーが主観を明示していない場合は、ログ作成時に「この決定の主観ベースはどこでしたか?」と1問だけ確認してから書く
このルール、地味だが長期運用での価値が最大。数ヶ月後にログを読み返したとき、**「あの時の自分はこう感じていた」**が一次情報として残っているのと、「AIはこう分析していた」だけが残っているのとでは、引き継ぎやすさも自己理解の深さもまるで違う。
まとめ
5つのパターンを通じて一貫しているのは、CLAUDE.md を "AIとの契約書" として磨くという発想だ。
AIは優秀だが、放っておくと一般論に収斂し、主観を希薄化させ、時刻を誤認し、対話履歴を揮発させる。これらは個別にはマイナーな問題だが、日常運用の中で積み上がると、AIを使いこなしているつもりで、実は平均化されていく状態になる。
CLAUDE.md を設計物として扱い、上記のようなパターンを組み込むと、AIの出力品質が上がるだけでなく、自分の意思決定の解像度も上がる。AIが「主観を先に引き出す」「自己批判を添える」「時刻を再取得する」といった振る舞いをするたびに、自分自身も同じ姿勢を要求されるからだ。
各パターンは独立して導入できるので、まずはパターン1か2から試してみてほしい。AIとの対話の質が変わる瞬間が分かるはず。