CLAUDE.mdの書き方:効く文と効かない文の違い

CLAUDE.mdの書き方:効く文と効かない文の違い

CLAUDE.md を書いたのに、毎回同じ説明をしてしまう。

そういう経験が積み重なると、「CLAUDE.md って意味あるの?」という気持ちになります。

でもたいていの場合、問題は CLAUDE.md そのものではなく、「効かない文を書いている」ことにあります。

この記事では、CLAUDE.md の文がなぜ効かないのか、どう書き直せば変わるのかを、具体例を使って整理します。

CLAUDE.md を書いたのに効かない、よくある理由

Anthropic 公式ドキュメントには、こう書かれています。

CLAUDE.md ファイルは、簡潔で具体的な内容に保つことが重要です。長くなるほど、Claude が従う可能性は下がります。

これは大事なポイントです。

CLAUDE.md は、長くなるほど「読まれにくく」なります。
社内規則と同じで、100ページある規則より、1枚の確認リストのほうが守られやすい。

でも長さ以上に問題なのが、「意図はあるが指示になっていない文」です。

たとえば、こういう文です。

  • 丁寧に対応する
  • よく考えてから行動する
  • 安全に使う

これは意図として正しいですが、具体的な行動を指示していません。
結果として、毎回 Claude は「丁寧」を自分で解釈します。
それが思ったのと違う形で返ってくるとき、人はルールを追加したくなります。
でも同じ種類の文を足しても、同じことが起きます。

効く文と効かない文の違い

判断基準は一つです。

「その文を読んだとき、Claude の次の行動が変わるか」

変わらないなら、その文は効いていません。

いくつか例を並べます。

NG(効かない文)OK(行動が変わる文)
丁寧に対応する提案前に目的を一文で確認する
安全に作業する削除・上書き・公開操作は実行前に確認する
わかりやすく説明する専門用語を使うときは、その場で短く説明する
プロジェクトを理解するposts/ は公開原稿、drafts/ は下書きとして扱う
ちゃんと完了させる完了時は、変更点・未実施事項・次の確認点を3行でまとめる

NG例は「状態」を書いています。
OK例は「手順」を書いています。

手順は確認しやすく、状態は解釈に依存します。
CLAUDE.md に書くなら、解釈の余地が少ない文を選ぶほうが安定します。

最初に入れておきたい項目

項目を挙げると多く見えますが、最初に必要なのは5つ前後です。
ジャンルごとにサンプルを書いておきます。

回答言語

  • 回答は原則日本語で行う
  • コードやコマンドは原文のまま表示する
  • 専門用語を使うときは短く説明する

これは1回書くだけで、毎回の「日本語で」を省けます。

変更前の確認

  • 変更の前に、目的とやることを一文でまとめる
  • ファイルの削除・上書きは実行前に確認する
  • 依頼されていない作業は広げすぎない

「やりすぎ」を防ぐためのルールです。
能力が高い相手ほど、範囲を明確にしないと想定外の場所まで動きやすいです。

触ってよい場所・触らない場所

  • posts/ は公開原稿
  • content/drafts/ は下書き
  • docs/ はルール文書
  • .env・secrets/ には触れない

フォルダの役割を書いておくと、Claude が自分でどこに何があるかを判断できます。
「どこに保存すればいい?」を毎回聞かれるのが嫌なら、ここに書くのが先です。

完了の定義

  • 完了時は変更点・未実施事項・次の確認点を短くまとめる
  • 公開・デプロイは明示的に指示されない限り行わない

「終わり」を定義しないと、AI は親切心で作業を広げます。
この2文があるだけで、想定外の完了がかなり減ります。

文体・出力の形式

  • 長い回答は見出しで区切る
  • 箇条書きは3〜5項目を目安にする
  • 数字の根拠がないときは、推測である旨を明示する

これは任意ですが、出力の読みやすさを一定に保ちたい場合に効きます。

避けたほうがいいパターン

3つあります。

1. 願望を書く

「賢く判断してほしい」「適切に対応する」のような文は、実質的な指示を含みません。
Claude はもともと賢く判断しようとするので、この手の文は何も変えません。

2. 同じことを言い方を変えて繰り返す

  • 「余計なことをしない」
  • 「頼まれていないことはやらない」
  • 「指示の範囲で作業する」

これは3文とも同じことを言っています。1文に絞るか、具体的な状況に変えるかどちらかです。
繰り返しが増えると読むのに時間がかかり、その分他のルールが流れやすくなります。

3. settings.json で管理すべきことを混ぜる

「.env を読まないでください」は、CLAUDE.md に書いても動作は保証されません。
これは `settings.json` の `permissions.deny` で遮断するのが正しい方法です。

CLAUDE.md はルールと方針の場所、settings.json は安全装置の場所。
この分担を崩すと、どちらも弱くなります。

詳しくは .claude/ フォルダの使い方 に整理しています。

CLAUDE.md の育て方

最初から完璧にしようとしなくてよいです。

むしろ、最初は7行以内から始めるのが自然です。

育て方のコツは一つです。

「毎回言い直した」ことを書き足す。

セッションの中で同じ説明を2回した、と気づいたとき、それが CLAUDE.md に追加するサインです。
そのタイミングで書き足しておくと、次のセッションからは言い直さなくてよくなります。

逆に、長い間追加していない項目は、実際に効いていない可能性があります。
定期的に見直して、行動が変わっていない文は削るか書き直す。
そのサイクルを回すことで、ファイルは短くなりながら効くものになっていきます。

まとめ

CLAUDE.md は、書き方次第でまったく違う道具になります。

  • 状態ではなく手順を書く
  • 長さより1文の精度を上げる
  • settings.json で管理すべき内容を混ぜない
  • 毎回言い直したことを足す

この4点を意識するだけで、同じ説明を繰り返す手間はかなり減るはずです。

関連記事

attrip

attrip

考えたことを、記事・AI・音楽に変えて発信しています。

盆栽、音楽、ブログ運営、日々の試行錯誤について書いています。

2010年から発信中

コメントを残す