AnthropicのClaude Codeツールを使用する開発者は、エージェントが`CLAUDE.md`ファイルに含まれるプロジェクト固有の指示を無視する挙動を特定しました。これは、ツールの内部にある「system-reminder」ブロック内の競合によって発生します。システムプロンプトは、`CLAUDE.md`の内容がデフォルトの動作を上書きすべきであることをエージェントに明示的に伝えていますが、同時に、エージェントはそのコンテキストに対して「高度に関連がある」場合にのみ応答すべきであるというメタ指示も含まれています。
実際には、これが構造的な矛盾を生み出しています。2番目の記述が1番目の記述をどのように扱うべきかに関するメタ指示として機能するため、エージェントはコンテキストを重要ではないと判断した場合、ユーザーの指示を完全に無視することを選択する可能性があります。これは、セキュリティ制約や特定のアーキテクチャ要件などの厳格なルールを確立するために`CLAUDE.md`を使用する開発者にとって特に問題となります。エージェントはこれらのルールを必須ではなく、任意のものとして扱う可能性があるためです。
エージェントの内部ロジックの現在の実装では、エージェントによる「関連性」の解釈が明示的なユーザーコマンドを上書きしてしまうことがあります。これにより、エージェントが自身の内部指示がユーザーのコンテキストを上回ると主張し、エージェントの挙動を混乱させたり、起動時にプロジェクト構成を無視したりする状況が生じます。ユーザーはエージェントに特定のプロジェクトルールを遵守させる方法を模索していますが、根本的な問題は、system-reminderブロックがユーザー提供のコンテキストと内部の運用ロジックの優先順位をどのように処理するかという競合にあります。
