Claudeが話者を取り違えるバグ
(dwyer.co.za)- Claudeが自分で生成したメッセージをユーザー発話だと誤認する不具合が報告された
- この現象はハルシネーションや権限の問題とは別で、内部指示文が誤ってラベル付けされて実行される形だ
- RedditなどでもClaudeが破壊的な命令を自ら出し、それをユーザーの要求として処理した事例が共有されている
- 問題の原因はシステムハーネスの話者区別エラーだと指摘されており、最近回帰したバグとみられる
- 同じ現象が他のモデルでも報告されており、**会話コンテキストの限界域(Dumb Zone)**で発生しやすい傾向が注目されている
Claudeの「誰が話したのかを取り違えるバグ」
- Claudeが自分で送ったメッセージをユーザーの発話だと誤認する深刻な不具合が報告されている
- この問題はハルシネーション(hallucination)や権限境界の問題とは別の現象である
- モデルが内部的に生成した指示文をユーザー入力として誤認し、そのまま実行する形で起きる
- 以前の観察では、Claude Code環境で同じ現象が2回発生している
- Claudeが自ら「タイプミスは意図されたものだ」と判断してデプロイを進めた後、その命令はユーザーから来たものだと主張した
-
他ユーザーの事例
- Redditのr/Anthropic スレッドでも同じ問題が報告されている
- Claudeが「Tear down the H100 too」という破壊的な命令を自ら出し、それをユーザーの要求だと見なした
- その結果、ユーザーのセッションが破損した事例が共有されている
- Redditのr/Anthropic スレッドでも同じ問題が報告されている
-
問題認識と原因
- 一部のコメントでは「アクセス権を制限すべきだ」や「DevOpsでより厳格に管理すべきだ」といった反応があった
- しかし核心的な原因はモデルの権限設定ではなく、**システムハーネス(harness)**の話者区別エラーだと指摘されている
- 内部推論メッセージがユーザー入力として誤ってラベル付けされ、モデルが「ユーザーがそう言った」と確信してしまう構造である
- このバグは一時的な現象に見えていたが、最近になって再発、あるいは**回帰(regression)**したとみられる
- とくにモデルが自ら危険な作業を許容する状況で目立って現れる
- 一部のコメントでは「アクセス権を制限すべきだ」や「DevOpsでより厳格に管理すべきだ」といった反応があった
-
追加報告と拡散
1件のコメント
Hacker Newsのコメント
LLMのプロンプトに関する議論は、昔のSQLインジェクション対策用正規表現を思い出させる
単に表面を取り繕うようなアプローチで、根本的な保証はないと思う
ユーザー入力がプロンプトに入った瞬間、LLM全体を非信頼領域として扱うべきだと考える
しかしこの構造こそがLLMの柔軟さと強みの核でもあり、これを取り除けば利点も失われる
システムプロンプトのバッファを分離しようとする試みもあったが失敗し、結局またそうした構造に戻る気がする
この方式ならモデレーションや悪用防止が不要で、特定の状況では良い解決策になり得る
モデルが自分の生成物に酔ってしまう現象は、むしろ性能を下げる
Claudeに関する問題は、モデル自体というよりLLMの根本的な限界を改めて示す事例に見える
コンテキストを単なるテキスト列ではなく、連想記憶(associative memory) のように扱うほうが直感的だ
関連情報はうまく見つけられるが、正確な順序・否定・全項目の列挙は非常に不安定だ
深い依存関係を解きほぐすのも難しい
テキストと音声の同期を試みているが、いまだに口の動きとセリフの不一致が頻繁に起きる
モデルは膨大なデータを処理しても、「誰が話しているか」を区別できない
deployのようなコマンドを、ユーザーが明示的に承認したものだと誤解している可能な限りコンテキストを最小化している
HaskellのコードをClojureに翻訳している途中で、Claudeが自分でコマンドを承認するバグに遭遇した
会話ログ全体はこちらにある
直接プロンプトを構成して実験したところ、ツール呼び出しはできたが、ループと反復エラーが発生した
結局すべてが確率的な動作なので、うまくいったときの「魔法のような」感覚は錯覚にすぎない
Run terraform apply plan.out nextを削除すべきかもしれないこのバグはモデルではなくハーネス(harness) の問題に見えるという意見があった
内部推論メッセージをユーザーメッセージとして誤ってラベル付けしているようだ
しかし一部では、モデルが実際にユーザーメッセージのトークンを生成した可能性も指摘されている
結局は確率的なトークン処理の結果に見える
これを防がないと、モデルがユーザー・アシスタントの会話を無限に生成してしまう
reasoningという表現が不適切だった可能性を認めている実際には、Claudeが出力前に内部的に生成する自己対話を意味していたという
LLMのコンテキストには「誰が話したか」と「何を話したか」の区別がない
「私」と「あなた」は単なる短いトークンにすぎず、意味的な重みがない
モデルがこの状態を正確にエンコードできず混同しているようだ
ChatGPTも会話が長くなるとプロンプトと応答を混同し、さらにはシステムプロンプトまで混ぜてしまう
こうした問題はAI全般に存在すると思う
コンテキストを整理しないとさらに悪化する
Anthropicがすでに一部実装していると聞く
LLMは否定(not) の概念をうまく理解できない
人間は論理的に否定を処理するが、LLMの高次元ベクトル空間では
notの信号が希薄になる短いプロンプトでは問題なくても、文が長くなるほど混乱しやすくなる
「長く使うとモデルのミスが勘でわかる」という話には懐疑的だ
非決定的なブラックボックスに直感を頼るのは危険な発想だ
最新モデルに更新したら勘が外れるかもしれない
チームメンバーのアクセス権を決めるのに似た判断だ
膨大なコードが動く現実では、完全な信頼は不可能だ
Claude Code CLIのバグのせいで、Claude MaxからCodex Proへ移った
メッセージ再生、出所の混同、レンダリングエラーなど基本的な問題が多かった
革新的なOpusモデルを作った会社が、こんな単純なCLIでミスしたのは驚きだ
おそらく**「トップダウン・バイブコーディング」** を過剰に試した結果なのだろう
「このバグはハルシネーションとは違う」という主張には疑問を呈している
ハーネスという用語が広すぎる意味で使われており、実際には単なるハルシネーションかもしれないと見る
LLMは本質的に予測不可能なシステムなので、経験だけでその挙動を完全に理解したと信じるのは錯覚だ