← 最新の論文
🤖 machine learning

Why Does CLAUDE.md Keep Growing? Catastrophic Remembering in Agentic Coding

本論文は、CLAUDE.mdのようなエージェンティックなコーディングプロンプトにおける無制限な増大の原因として「破滅的な記憶(catastrophic remembering)」を特定し、指示の追記は低コストである一方でその削除は計算量的に極めて困難であることを実証した上で、プロンプト内のコメントに潜在的な推論を埋め込むことがこの発散を効果的に停止させ、指示への追従性能を大幅に向上させることを提案する。

原著者: Kushal Chakrabarti

公開日 2026-08-12
📖 1 分で読めます☕ さくっと読める

原著者: Kushal Chakrabarti

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

想像してみてください。あなたは、ブログ記事を書いたりコードを修正したりといった特定の仕事をする、非常に賢いけれど少し忘れっぽいロボットの助手に、仕事を教えています。まず、あなたはシンプルなルールのリストを与えます。「3つの段落を使うこと」「『とても(very)』という言葉を使わないこと」「必ず笑顔で終えること」。これはプロンプトと呼ばれます。人工知能の世界において、これらのプロンプトはロボットのための取扱説明書のようなものです。

さて、ロボットがミスをしたとしましょう。あなたは新しいルールを追加して修正します。「よし、それから、正確に5つの箇条書きを使うようにして」。ロボットは再挑戦しますが失敗し、あなたはさらに別のルールを追加します。「そして、すべての文章の最初の文字を大文字にするのを忘れないで」。時間が経つにつれ、このルールのリストはどんどん長くなっていきます。コンピュータサイエンスには、ロボットが新しいことを学ぶと、以前学んだことを誤って消去してしまう**破滅的忘却(catastrophic forgetting)**という有名な問題があります。しかし、この論文が話しているのはその逆の問題、**破滅的記憶(catastrophic remembering)**です。これは、ロボット(あるいはそれを管理する人間)がルールを加え続け、不要になった古いルールを決して削除しないときに起こります。リストはあまりにも巨大で乱雑になり、ロボットは混乱し、動作が遅くなり、再びミスをし始めます。大きな疑問は、「なぜこのリストは永遠に増え続けるのか? そして、どうすればそれを止められるのか?」ということです。

終わりのないリストの謎

South Park CommonsのKushal Chakrabarti氏は、なぜこれらの「エージェンティック(agentic)」な指示リスト(ソフトウェアプロジェクト内でよく CLAUD.mdAGENTS.md といった名前のファイルで見られるもの)が際限なく増え続けるのかを調査することにしました。彼らはGitHub上の約1,870件の実世界のソフトウェアプロジェクトを調査し、247,000件以上の個別の指示の履歴を追跡しました。

彼らは奇妙なパターンを発見しました。これらのリストが縮小することはほとんどないのです。代わりに、ファイルの更新ごとに平均で4.9個の新しい指示が増えています。ファイルの全期間を通じて、指示の数は226%増加し、3倍以上になっています。平均的なファイルは39個の指示を持ちますが、中には100個を超えるものもあります。

研究者たちは問いかけました。「なぜ人々は、古い不要なルールをただ削除しないのだろうか?」

彼らが発見した犯人は、ルールが「古くなった(stale)」ことでも、悪いルールがすぐに消え去るわけでもありませんでした。問題は**不完全な想起(imperfect recall)**でした。例えるなら、こういうことです。あなたがリストに新しいルールを追加するとき、なぜそれを追加したのかをあなたは知っています。例えば、ロボットが4つの段落を書いてしまうので、「3つの段落を使う」というルールを追加したかもしれません。しかし、その「理由」はあなたの頭の中にあるだけです。それは書き残されていません。

時間が経過し、他の人々がファイルを編集したり、プロジェクトが変化したりすると、その元の理由は消えてしまいます。半年後にリストを見たとき、「3つの段落を使う」というルールは目に飛び込んできますが、なぜそれがそこにあるのかは分かりません。ロボットが喋りすぎたからでしょうか? それとも上司からの指示だったのでしょうか? その理由がなければ、ルールを削除することはリスクに感じられます。もし削除したら、ロボットがまた壊れてしまうのではないかと不安になるのです。だから、そのままにしておきます。その一方で、新しい問題に対して新しいルールを加え続けます。その結果、誰も理解できないほど膨張し、混乱したルールのリストが出来上がります。著者はこれを、破滅的記憶、つまり「忘れるべきすべてを覚え続けてしまうこと」と呼んでいます。

「ブルドーザー」効果

研究では、人々がこれらの乱れたリストを修正しようとする方法についても面白いことが判明しました。彼らは単に一つや二つの悪いルールを削除することは滅多にありません。代わりに、彼らは「すべて削除」ボタンを押す傾向があります。データによると、指示の削除の**76.8%**は、誰かが一度にファイルの半分以上を削除する巨大な「書き換え」の中で行われています。それは、どの雑草を抜くべきか決められないために、庭全体を焼き払い、ゼロからやり直す庭師のようなものです。

しかし、ここからが肝心な点です。この「焼き払い」の後でさえ、庭は再び生い茂ります。リストは再び、以前と同じ速いペースで増え始めます。これは**ラチェット効果(ratchet effect)*と呼ばれます。サイズは下がりますが、成長の速度*は変わりません。根本的な原因――つまり、なぜルールが追加されたのかを人々が思い出せないという事実――が解決されていないため、リストは再び埋まっていくのです。

「コメント」の魔法

では、リストが永遠に増え続けるのを止めるにはどうすればよいのでしょうか? 論文は、ソフトウェアエンジニアが何十年も前から使っている解決策を提案しています。それはコメントです。

通常のコンピュータコードでは、プログラマーはコードの横に、なぜそのような書き方をしたのかを説明する小さなメモを書きます。これらのメモはコンピュータには見えませんが、次にそのコードを読む人間には役立ちます。研究者たちは、このトリックがAIプロンプトでも機能するかどうかをテストしました。

彼らは、「メンテナー(維持管理者)」(AIエージェント)がプロンプトを構築し、修正しなければならないシミュレーションを設定しました。一つのグループでは、メモなしで指示を書かなければなりません。もう一つのグループでは、各指示の横に、その理由を説明するコメントを付けることが許可されました。例えば、「3つの段落を使う」の横に、「ラウンド3でロボットが4つの段落を書いてしまったため追加」といったコメントを付けることができます。

結果は劇的でした。

  • コメントなしの場合: プロンプトは、仕事を遂行するために必要な最小限のサイズよりも**211.3%**も大きくなりました。
  • コメントありの場合: プロンプトはほぼ完璧なサイズに保たれ、最小限のサイズよりわずか**1.4%**しか増えませんでした。

コメントはタイムマシンの役割を果たしました。それらは各ルールの「潜在的な推論(隠れた理由)」を保存しました。メンテナーが後でリストを見たとき、コメントを見ることで、そのルールがまだ必要であることを理解したり、あるいはもはや不要であると気づいて安全に削除したりすることができました。コメントは、不要な指示の**99.3%**を取り除いたのです。

実際にうまく機能するのか?

研究者たちは、単にリストを短くするだけでなく、ロボットが実際に優れた仕事をしたかどうかも確認しました。プロンプトが役に立たない指示で膨張していると、ロボットは混乱し、より多くのミスを犯すことが分かりました。コメントを使ってリストを清潔で集中したものに保つことで、指示に従うロボットの能力は最大**23.1%**向上しました。

また、この手法は、指示が複雑で「メンテナー」が非常に賢いAIエージェントである場合でも有効であることが示されました。AIが有能であればあるほど、ルールを過剰に追加する傾向がありますが、同時に、物事を制御するためのこれらの役立つコメントからもより多くの恩恵を受けるのです。

大きな教訓

論文は、遊び心がありつつも真剣な問いで締めくくられています。「英語が新しいコードであるならば、なぜ私たちはまだコメントを持っていないのか?」

人間のプログラマーがずっと前に、「なぜその行を書いたのか」を説明する必要があることを学んだのと同様に、AIプロンプトを管理する人々(およびAIエージェント)も、なぜそのルールを追加したのかを書き留める必要があります。その説明がなければ、ルールは積み重なり、システムは混乱し、パフォーマンスは低下します。解決策は、ルールを追加するのをやめることではありません。それぞれの横に小さなメモを書き、次の人(あるいはロボット)が、何を保持し、何を捨てるべきかを正確に判断できるようにすることです。そうすることで、混沌とした増殖するモンスターを、清潔で効率的なツールへと変えることができるのです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →