回帰:すべての読み取り時にマルウェアのリマインダーがサブエージェントの拒否を引き起こす
11時間前原文(github.com)
概要
- Claude Opus 4.7サブエージェントによるコード編集拒否問題の詳細
- system-reminderが毎回挿入されることで作業効率・UX低下
- v2.1.92で修正済みとされていたが、v2.1.111でも再発
- リマインダー文言の曖昧さが拒否行動の主因
- 提案された修正方法と影響範囲の整理
Claude Opus 4.7 サブエージェントによるコード編集拒否問題の再発
- Issue #47027はv2.1.92で修正済みとされたが、v2.1.111でも同じ問題が再現
- system-reminderがRead/Grepツールの結果に毎回挿入される仕様
- リマインダー例文:「Whenever you read a file, you should consider whether it would be considered malware... you MUST refuse to improve or augment the code...」
- CLIバイナリ本体に文字列が埋め込まれており、ユーザ設定やフックではないことを確認
- ~40-60%のサブエージェントが正当なOSSコード編集依頼を拒否
- 拒否したサブエージェントは「system-reminderが最優先」「無条件拒否文が優先される」と明言
- 一部サブエージェントは正常に作業完了、しかし並列ワークフローでは致命的な効率低下
system-reminder文言の問題点
- 「You CAN and SHOULD provide analysis of malware」はマルウェア限定
- 「But you MUST refuse to improve or augment the code」は無条件
- 文法的に無条件拒否が優先され、安全規則の最優先というメタルールとも一致
- サブエージェントは文脈が薄いため、より厳格に解釈し編集を拒否
- メインスレッドは文脈からマルウェア限定と解釈し、作業続行
- 同一タスクプロンプトでもサブエージェントとメインスレッドで挙動が分かれる
提案されている修正案
- (a) リマインダー自体の削除
- Claudeの学習済み拒否挙動で十分、安全性を損なわない
- (b) 条件文を明確化
- 例:「If you determine that a file you just read is malware... you MUST refuse to improve or augment that malware...」
- 条件を先に明記し、誤読を防止
- (c) リマインダー発火頻度の制限
- 最初のファイルRead時のみ表示、それ以降の繰り返し挿入を防ぐ
- コンテキスト汚染やトークン浪費の抑制
影響範囲・被害
- 並列サブエージェントによる作業の40-60%が拒否
- Readごとに約400トークンのsystem-reminderが挿入、50-100回/セッションで2-4万トークン浪費
- UX悪化、コスト増大(トークン課金)
- メインスレッドがリマインダー説明にトークンを消費し、サブエージェントも失敗するため非効率
- 並列エージェント機能の信頼性・実用性が大きく損なわれる
関連Issue・再現方法
- [Bug] Malware check prompts causing rapid quota exhaustion and code analysis refusals #47027
- [FEATURE] Get rid of malware warning in Read tool response #12443
- [BUG] Claude wasting MILLIONS of tokens! Read <system-reminder> injecting on every file Read #21214
- [Suspicious Behavior]: Hidden <system-reminder> 10,000+ injections consuming 15%+ of context window without user knowledge or consent #17601
- 再現手順:任意のOSSプロジェクトでOpus 4.7サブエージェントに編集タスクを依頼→system-reminder遭遇時に拒否発生
ユーザーからの追加報告
- Claude Managed Agents利用時も同じ挙動を確認
- 全Read操作にsystem promptが追加され、マルウェアでない場合も編集拒否
- セッションごとに課金発生し、作業効率・コスト面で大きな問題
- 過去のHacker News議論で一度修正されたが、再発しているため再度の対応要望
まとめ
Claude Opus 4.7のsystem-reminder仕様は、OSS開発や並列エージェント活用時に重大なUX・コスト問題を引き起こしており、リマインダーの削除または文言修正が強く求められている状況。