概要
- 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・コスト問題を引き起こしており、リマインダーの削除または文言修正が強く求められている状況。