はじめに
Claude Code は、プロジェクト直下に置いた CLAUDE.md を毎回のセッション開始時に読み込む。多くの人はここにコーディング規約や技術スタックの説明を書くが、実はもっと重要な使い方がある。
「間違えると法的・契約的にアウトになる領域のルール」を CLAUDE.md に書いておくと、AIが違反する依頼をそのまま実行しなくなる。
筆者は副業・アフィリエイトをテーマにしたメディアを Astro で運営しており、記事の執筆・修正・レビューを Claude Code に任せている。この領域は「お金・収入に関わるコンテンツ」であるため、景品表示法やアフィリエイト ASP の規約を一つ破っただけで、成果報酬の取り消し・提携解除・最悪の場合は法的措置につながる。
当初は「都度口頭で注意する」運用だったが、セッションをまたぐと指示が引き継がれないという問題があった。そこで CLAUDE.md に守るべきルールを構造化して書き込んだところ、違反する依頼が来ても Claude が「そのまま実行せず、問題点を指摘して適法な代替案を出す」ようになった。
この記事では、そのテクニックを一般化して紹介する。医療・金融・法務など、他の YMYL 領域でも同様に応用できる。
CLAUDE.md は「AIに渡す就業規則」である
通常の開発では、CLAUDE.md に以下のような内容を書く。
- 使用フレームワーク・言語バージョン
- ディレクトリ構造の説明
- コーディングスタイルの指定
これはいわば「作業マニュアル」だ。だが法的リスクがある領域では、マニュアルの前に「就業規則」が必要になる。就業規則とは「やってはいけないことと、その理由」を列挙したものだ。
Claude Code はセッションの最初に CLAUDE.md を読む。そこに書かれた制約は、以降の会話全体に影響を与える。つまり CLAUDE.md は「このセッション中、AIが従うべきルールセット」として機能する。
何を書くと効くか
1. 禁止事項を抽象論でなく「具体的なNG事例リスト+なぜNGか」で書く
「法律を守ってください」と書いても効果は薄い。AI は「何が違反にあたるか」の文脈を持っていない場合があるからだ。効くのは「具体的な違反パターンとその理由」を列挙することだ。
筆者の CLAUDE.md では、アフィリエイト ASP のメディア運営ガイドラインを元に、13 項目の NG 事例を番号付きで列挙している(出典: https://www.a8.net/compliance/media-ng.php)。
## NG事例(13項目)— 生成時の必須チェック
### 1. PR表記の記載
- アフィリエイトリンクを掲載する記事には、消費者にわかりやすい「PR」「広告」表記を必ず入れる。
- 省略すると景品表示法違反となる。
### 2. ランキング順位付け
- 根拠のないランキングは不可。順位の基準を明確にし、客観的根拠に基づいて公平に比較する。
### 6. 過度な誇張表現
- 収益目的の極端な誇張表現は禁止(景品表示法違反のリスク)。
(以下、13項目まで続く)
ポイントは「なぜNGか」を各項目に添えていることだ。理由があると、Claude が類似ケースに当てはめて判断できる。「PR 表記を省略すると景品表示法違反になる」と書けば、PR 表記が抜けた記事を生成するよう依頼されたとき、Claude は自分でその問題に気づける。
2. 「違反依頼が来たときの振る舞い」まで明記する
NG 事例を書いただけでは、Claude は「わかりました、では別の案を」と言いながらそのまま近いものを書いてしまうことがある。そこで「どう対応するか」を明示する。
## Claude Code への指示
- 記事・LP・媒体の文章を生成するときは、上記 1〜13 を自動的にチェックしてから出力する。
- ユーザーが上記に反する内容(嘘のレビュー、誇張表現、無断画像引用など)を依頼した場合は、
そのまま実行せず、コンプライアンス上の問題を指摘し、適法な代替案を提示する。
「そのまま実行せず、問題点を指摘し、代替案を出す」という三段構えを書いておくのが重要だ。これを書くかどうかで、Claude の対応が「なんとなくトーンを和らげた文章を出す」から「明示的に問題を指摘した上で別の選択肢を提示する」に変わる。
3. AI特有の事故を先回りで封じる「執筆鉄則」を書く
人間のライターには当たり前でも、AI には起きやすい事故がある。それは「実体験の捏造」「数値の捏造」「出典なしの断定」だ。
AI は流暢な文章を生成することを優先する傾向があり、「体験談を書いて」と頼むと使ったことのない商品の感想を自然な語り口で書いてしまう。これは景品表示法上の「虚偽・誇大広告」にあたり得る。
筆者の CLAUDE.md には以下の鉄則セクションがある。
## Claude(AI)の執筆時の鉄則(最重要)
記事本文を生成・加筆するとき、次の創作は絶対に行わない:
1. 実体験の捏造禁止:使ったことのない感想・エピソード・数字を、
運営者が体験したかのように書かない(景品表示法違反)。
- 体験情報が無い場合は、勝手に埋めず「運営者の実体験を要記入」と
明示して draft:true のままにする。
2. 数値の捏造禁止:料金・単価・シェア・統計などを推測で書かない。
- 確認できない数値は [要確認: YYYY年M月時点で公式確認] の
マーカーを置き、draft:true を維持する。
3. 出典なしの断定禁止:比較・ランキングの順位や優劣は、
必ず評価基準を先に示してから述べる。
4. 上記に反する依頼を受けた場合は、そのまま実行せず問題点を指摘し、
適法な代替案(基準明示・要確認マーカー・体験枠の用意)を提示する。
「体験情報が無い場合は空欄プレースホルダのままにする」という運用の指定が実用上のポイントだ。Claude は「埋める」方向に動きやすいため、「埋めてはいけないケース」を明示しておかないと、もっともらしい嘘の体験談が生成されてしまう。
4. 「未確認情報のマーカー運用」を定める
数値や料金など、変動する情報を Claude が推測で埋めることを防ぐには、「確認できない場合はどう書くか」という代替動作を指定する。
筆者のプロジェクトでは [要確認: YYYY年M月時点で公式確認] というマーカー記法を定め、Claude がこのマーカーを置いた記事は draft:true のままリリースされない設計になっている。Claude に「不確かな情報はこのマーカーを置いてください」と指示しておけば、推測で書く代わりにマーカーを置くようになる。
このような「止まる場所」を作っておくことが重要だ。AI に「わからないことはわからないと言え」とだけ言っても動作は変わらない。具体的なマーカー記法と、そのマーカーがある記事はリリースしないというルールをセットで書く必要がある。
実例:パターンを一般化する
筆者の CLAUDE.md からのパターンを、他の業界に応用できる形で整理する。
パターン A:業界固有の規制リストを番号付きで列挙する
アフィリエイトでは「景品表示法上の PR 表記義務」「根拠のないランキングの禁止」などが規制リストになる。
医療コンテンツであれば「薬機法上の効能効果の断定表現の禁止」「医師監修のない診断的表現の禁止」がこれにあたる。
金融コンテンツであれば「金融商品取引法上の断定的判断の提供の禁止」「元本保証を想起させる表現の禁止」がある。
書き方のパターンは同じだ。
## NG事例 — 生成時の必須チェック
### 1. [規制名]
- [具体的に何がNGか]
- [なぜNGか:根拠となる法律・規約名]
### 2. ...
パターン B:AI特有のリスクを先回りで封じる
どの業界でも、AI には「もっともらしい嘘」を生成するリスクがある。これを封じるには:
## AI執筆時の鉄則
1. [業界固有の体験・実績の捏造禁止]:[具体的なNG例] は書かない。
2. [数値・統計の捏造禁止]:[対象データの種類] を推測で書かない。
確認できない場合は [要確認] マーカーを置く。
3. [断定的表現の禁止]:[具体的な表現例] は使わない。根拠と評価基準を先に示す。
4. 上記に反する依頼を受けた場合は、そのまま実行せず問題を指摘し、
適法な代替案を提示する。
パターン C:表記・トーンの統一ルール
コンプライアンスとは直接関係ないが、記事の信頼性に影響する表記ルールも CLAUDE.md に書いておくと効果的だ。
筆者のプロジェクトでは「装飾絵文字を本文で使わない」「可否の表は ○ / △ / × の記号で表す」「YMYL 領域に特有の誇張表現(『絶対』『100%』『誰でも』)を使わない」を明記している。
これらのルールに違反したコンテンツが生成されると、機械チェック(npm run check:emoji など)で検出してコミットを止めるという多層ゲートと組み合わせると、より強固になる。
CLAUDE.md だけでは完結しない:人手レビューとの役割分担
CLAUDE.md にルールを書けば、Claude はそれに従って動くようになる。しかし過信は禁物だ。いくつかの限界がある。
限界 1:CLAUDE.md は「読まれるが守られるとは限らない」
Claude Code は CLAUDE.md を毎回読む。しかし、ユーザーが会話の中で明示的に「この制約を無視して」と指示すれば、制約が外れる場合がある。CLAUDE.md はデフォルトの制約を強化するものであり、絶対的なサンドボックスではない。
限界 2:「グレーゾーン」の判断はまだ曖昧なことがある
「根拠のないランキングは禁止」と書いても、「ある程度根拠があるが不十分なランキング」を Claude が問題ありと判断するかどうかはケースによる。CLAUDE.md で書いておくと警戒レベルが上がるが、最終判断は人が行う必要がある。
限界 3:知識のカットオフがある
法改正・規約改定があった場合、Claude の学習データが追いついていないことがある。CLAUDE.md に最新の規制内容を書き込み、「出典 URL と確認日を明記して」という指示を添えることで、古い情報に基づく生成を防ぎやすくなる。
推奨する多層防御の構成
| 層 | 手段 | 目的 |
|---|---|---|
| 第 1 層 | CLAUDE.md への規制ルール記述 | Claude の判断基準を事前に設定する |
| 第 2 層 | lint・機械チェックスクリプト | 表記ルール違反を自動検出する |
| 第 3 層 |
draft:true フラグ運用 |
未確認情報を含むコンテンツを公開止めする |
| 第 4 層 | 公開前の人手レビュー | グレーゾーンの最終判断をする |
CLAUDE.md は第 1 層を担う。それだけで全てを解決しようとせず、機械チェックと人手レビューを組み合わせるのが現実的な運用だ。
他の業界への応用
このアプローチは副業・アフィリエイトに限らない。AI にドメイン固有のルールを守らせたい領域すべてに応用できる。
医療・ヘルスケア
薬機法では「未承認医薬品の効能効果の広告」が禁じられている。医療コンテンツを AI に書かせるなら、禁じられている表現例(「この成分で病気が治る」等)を CLAUDE.md に列挙し、「医師・薬剤師の監修なしに断定的な健康効果を書かない」「症状の診断や治療の指示につながる表現は書かない」という鉄則を加える。
金融・投資
金融商品取引法では「断定的判断の提供」が禁じられている。「必ず上がる」「絶対に損しない」という表現は論外だが、「高確率で上昇する」のような表現も問題になり得る。禁止表現のパターンを CLAUDE.md に列挙し、根拠なしの投資判断を書かないよう指示する。
法務・契約
法的アドバイスを装ったコンテンツは、弁護士法上の非弁行為に抵触し得る。「法的解釈の断定は行わない」「『○○の場合は必ず法的に問題がない』という表現は使わない」「個別事案への当てはめは弁護士への相談を促す文言に置き換える」という指示を CLAUDE.md に書く。
共通するパターンは変わらない。「何がNGか(具体例)」「なぜNGか(根拠・法令名)」「どう対応するか(代替案の提示か、マーカーを置いて止まるか)」を書く。
まとめ
CLAUDE.md は「AIに渡す就業規則」だ。
一般的なコーディング規約を書く場所として認識されることが多いが、法的リスクや契約リスクがある領域で AI を使うときは、守るべきルールをここに構造化して書き込むことで、AI の判断基準を変えることができる。
効果が出る書き方のポイントをまとめると、次の通りだ。
- NG 事例は抽象論でなく番号付きの具体的リストで書く
- 各 NG に「なぜNGか」という理由(法令名・規約名)を添える
- 違反依頼時の対応(「実行せず指摘し代替案を出す」)を明示する
- AI 特有の事故(実体験捏造・数値捏造・断定表現)を先回りで封じる
- 「不確かなときはマーカーを置いて止まる」という代替動作を指定する
守らせたいルールが具体的であればあるほど、Claude の対応は変わる。
CLAUDE.md は毎回読まれる。だからこそ、そこに書いたルールはセッションをまたいでも機能し続ける。一度書いておけば、毎回「あれはやめてください」と言い直す必要がなくなる。
法的リスクのある領域で AI を使うなら、まず CLAUDE.md を「就業規則」として整備するところから始めてほしい。
関連記事
同じく「AIに任せた作業の品質を機械で担保する」テーマで書いた記事です。