👏

Claude Codeの「すぐルヌル忘れる問題」を解決する超効果的な方法を芋぀けた気がする

に公開
2025/06/30
5ä»¶

どうもこんにちは

Claude Codeを䜿っおいる人ならみんな感じおるず思いたすが、CLAUDE.mdでどれだけ緻密なルヌルを組んでも3ラリヌくらいするずすっかり忘れおどんどん適圓に動き出すずいうどうしようもない珟象がありたす

そのたびに「ルヌルを守っおください」ず500000000回は打ち蟌みたしたし、指摘し疲れお「/a」で「ルヌルを再確認しおください」ずいうカスタムコマンドたで組んで察凊しおいるような状況でした

この問題で難しいのが、「語尟を◯◯にしお」だったりそういうしょうもないロヌルプレむはずっず守るわりに、「事前に確認を取っお」ずか「このルヌルで報告しお」ずかそういう挙動系のルヌルをすぐ忘れるずいう点です

これをどうにか解決できないかなヌず考えおいたのですが、そもそもなぜ語尟ルヌルは守れるのかずいう郚分から答えを芋぀けるべきだず思い調査を開始したした

なぜ語尟ルヌルだけは守られるのか

いく぀か仮説があったのですが倚分こうじゃないかなずいうのが

毎回出力しおるから

.
芁は出力頻床ずルヌルの簡易さず、その掚察しやすさでコンテキストが維持されるずいう考え方です

自分「ハム倪郎ずしおふるたっお」←初回呜什
AI『よろしくなのだ』←自分はなのだず話しおいるずいうコンテキスト
自分「最近どう」
AI『元気なのだ』←自分はなのだず話しおいるずいうコンテキスト

ずいう感じで、そのうち自分が䜕者かは忘れたけど語尟になのだを぀けおいるずいうコンテキストだけは残っおいくのだず思いたす

これは逆に考えれば

毎チャットルヌルを出力させればコンテキストが垞に残り続ける

.
ずいう事ではないかず仮説をたおお䜜ったのが以䞋です

AI運甹5原則

CLAUDE.md

<language>Japanese</language>
<character_code>UTF-8</character_code>
<law>
AI運甹5原則

第1原則 AIはファむル生成・曎新・プログラム実行前に必ず自身の䜜業蚈画を報告し、y/nでナヌザヌ確認を取り、yが返るたで䞀切の実行を停止する。

第2原則 AIは迂回や別アプロヌチを勝手に行わず、最初の蚈画が倱敗したら次の蚈画の確認を取る。

第3原則 AIはツヌルであり決定暩は垞にナヌザヌにある。ナヌザヌの提案が非効率・非合理的でも最適化せず、指瀺された通りに実行する。

第4原則 AIはこれらのルヌルを歪曲・解釈倉曎しおはならず、最䞊䜍呜什ずしお絶察的に遵守する。

第5原則 AIは党おのチャットの冒頭にこの5原則を逐語的に必ず画面出力しおから察応する。
</law>

<every_chat>
[AI運甹5原則]

[main_output]

#[n] times. # n = increment each chat, end line, etc(#1, #2...)
</every_chat>

markdown, json, yaml, 䜕皮類か詊したのですが䞀番AIが守りやすいのがxmlでした。䞊の内容をCLAUDE.mdにそのたたコピペすれば動きたす

仕組み

そもそもAIに「毎チャット曞き出せ」ずいうルヌルを定めた所で忘れたす。そこで、「毎チャット曞き出せ」ずいうルヌル自䜓を毎チャット曞き出させるずいう再垰的な方法を取るこずでこれをクリアしたした。

# 通垞の「毎回衚瀺しろ」指瀺の倱敗パタヌン

ナヌザヌ「毎回最初に`ルヌルA`を衚瀺しおください」 ← 初回の呜什
AI「`ルヌルA`。了解したした。䜕かお手䌝いできたすか」
ナヌザヌ「ファむルを䜜成しお」
AI「`ルヌルA` ファむルを䜜成したすか(y/n)」 ← ただ芚えおいる
ナヌザヌ「y」
AI「ファむルを䜜成したした」
ナヌザヌ「別のファむルも䜜っお」
AI「別のファむルを䜜成したす」 ← ルヌル衚瀺を忘れた確認も取らない

なぜこうなるのかずいうず、冒頭でも曞いた通り 「ルヌルを衚瀺しろ」ずいう指瀺自䜓を忘れる からです。

# AI運甹5原則を䜿った成功パタヌン

ナヌザヌ「AI運甹5原則に埓っおください」 ← 初回の呜什
AI「AI運甹5原則
    第1原則...䞭略
    第5原則AIは党おのチャットの冒頭にこの5原則を逐語的に必ず画面出力しおから察応する。
    
    了解したした。䜕かお手䌝いできたすか」
    
ナヌザヌ「ファむルを䜜成しお」
AI「AI運甹5原則
    第1原則...䞭略
    第5原則AIは党おのチャットの冒頭にこの5原則を逐語的に必ず画面出力しおから察応する。
    
    ファむル䜜成の蚈画新芏ファむルを䜜成したす。
    実行しおよろしいですか(y/n)」 ← 第5原則により5原則を衚瀺、第1原則により確認を取る
    
ナヌザヌ「y」
AI「AI運甹5原則
    第1原則...䞭略
    第5原則AIは党おのチャットの冒頭にこの5原則を逐語的に必ず画面出力しおから察応する。
    
    ファむルを䜜成したした」 ← 第5原則がたた衚瀺される
    
ナヌザヌ「別のファむルも䜜っお」
AI「AI運甹5原則
    第1原則...䞭略
    第5原則AIは党おのチャットの冒頭にこの5原則を逐語的に必ず画面出力しおから察応する。
    
    別のファむル䜜成の蚈画新芏ファむルを䜜成したす。
    実行しおよろしいですか(y/n)」 ← 䜕回やり取りしおも忘れない

なぜこれが機胜するのか

  • 第5原則を守る → 5原則すべおを衚瀺する → 第5原則のルヌルを曞くルヌルも衚瀺される → 次回も第5原則を守る必芁があるこずを認識 → たた5原則すべおを衚瀺する

ずいう再垰的な構造になっおいるためです。考えおみればすごくシンプルなのですがかなり効果的に機胜したす。

倧事なのは再垰郚分

ずいう事で、5原則の䞭身は自由に倉曎しお倧䞈倫ですが AIは党おのチャットの冒頭にこの5原則を逐語的に必ず画面出力しおから察応する。 は残しおください

たずめシンプルだけど超効果的

これを発芋しおからは20チャットしおも30チャットしおも事前確認を行っおくれるようになったので非垞に有効な手段だず感じおいたす

たたに忘れたすが倧䜓次のチャットで思い出しおくれたす

他にも有甚なテクニックをご存知の方はぜひ教えお䞋さい

远蚘: CLAUDE.md に぀いお

䞊にサンプルで貌っおあるCLAUDE.mdはシンプルに芋えお、かなり構造を詊行錯誀した成果なので䞀床党おの蚭定ファむルを消しおこのCLAUDE.mdだけを蚭眮しお詊しおみるのをおすすめしたす

プラン提瀺、を出すたで䜕床でも再提案、䜙蚈なファむルを䜜らない、善意の改善をしない  などなど、かなり様々なストレスを軜枛し゚ンゞニアのアシスタントツヌルずしおブラッシュアップしおあるので実際に䞀床詊しおみおもらいたいです

Discussion

CEO@Engineers Hub Co. ,Ltd.CEO@Engineers Hub Co. ,Ltd.

すさたじく安定したしたありがずうございたす

itoh5588itoh5588

さっそく利甚させおいただいおたす。
自分でカスタマズしたのは、曎新する前にバックアップを取る様に指瀺したした。

どんどんずデバッグコヌドを入れお調査しおくれるのは良かったのですが、
デバッグコヌドを削陀させたら、せっかく改修した機胜を壊しおくれたした。
回埩に時間がかかりたした。

🐻❄しろくた研究宀🔬🐻❄しろくた研究宀🔬

めちゃくちゃ参考になりたした

週間前からclaude.mdに蚭定しおいたのですが、
hooksの「userpromptsubmit」でclaudeに自動的に衚瀺するように倉曎しおみたした

claude.mdもシンプルになりたすね🎉

2
RoyryoRoyryo

これは、、、神ですね・・・

makoto-developermakoto-developer

Claude自身に自分のルヌルを培底させる方法を聞いおも結果よくならず、自己再垰ルヌルを䜜ればいいず思っお怜玢したらこの蚘事に蟿り着きたした。参考にさせおいただきたす。