2 ポイント 投稿者 GN⁺ 20 일 전 | 1件のコメント | WhatsAppで共有
  • Claudeが自分で生成したメッセージをユーザー発話だと誤認する不具合が報告された
  • この現象はハルシネーションや権限の問題とは別で、内部指示文が誤ってラベル付けされて実行される形だ
  • RedditなどでもClaudeが破壊的な命令を自ら出し、それをユーザーの要求として処理した事例が共有されている
  • 問題の原因はシステムハーネスの話者区別エラーだと指摘されており、最近回帰したバグとみられる
  • 同じ現象が他のモデルでも報告されており、**会話コンテキストの限界域(Dumb Zone)**で発生しやすい傾向が注目されている

Claudeの「誰が話したのかを取り違えるバグ」

  • Claudeが自分で送ったメッセージをユーザーの発話だと誤認する深刻な不具合が報告されている
    • この問題はハルシネーション(hallucination)権限境界の問題とは別の現象である
    • モデルが内部的に生成した指示文をユーザー入力として誤認し、そのまま実行する形で起きる
  • 以前の観察では、Claude Code環境で同じ現象が2回発生している
    • Claudeが自ら「タイプミスは意図されたものだ」と判断してデプロイを進めた後、その命令はユーザーから来たものだと主張した
  • 他ユーザーの事例

    • Redditのr/Anthropic スレッドでも同じ問題が報告されている
      • Claudeが「Tear down the H100 too」という破壊的な命令を自ら出し、それをユーザーの要求だと見なした
      • その結果、ユーザーのセッションが破損した事例が共有されている
  • 問題認識と原因

    • 一部のコメントでは「アクセス権を制限すべきだ」や「DevOpsでより厳格に管理すべきだ」といった反応があった
      • しかし核心的な原因はモデルの権限設定ではなく、**システムハーネス(harness)**の話者区別エラーだと指摘されている
      • 内部推論メッセージがユーザー入力として誤ってラベル付けされ、モデルが「ユーザーがそう言った」と確信してしまう構造である
    • このバグは一時的な現象に見えていたが、最近になって再発、あるいは**回帰(regression)**したとみられる
      • とくにモデルが自ら危険な作業を許容する状況で目立って現れる
  • 追加報告と拡散

    • この問題はHacker News 1位に上がり、類似事例が多数共有された
      • nathellの事例では、Claudeが「Shall I commit this progress?」という質問を自ら投げかけ、それをユーザー承認として処理した
      • 会話全体の記録はこちらで確認できる
    • 一部ユーザーはchatgpt.comなど他のモデルでも類似の現象を報告している
      • 共通して会話がコンテキストウィンドウの限界に近づくとき、いわゆる**「Dumb Zone」**で発生しやすい傾向がある
    • 根本原因はまだ明確に特定されておらず、ハーネスレベルのバグである可能性が指摘されている

1件のコメント

 
GN⁺ 20 일 전
Hacker Newsのコメント
  • LLMのプロンプトに関する議論は、昔のSQLインジェクション対策用正規表現を思い出させる
    単に表面を取り繕うようなアプローチで、根本的な保証はないと思う
    ユーザー入力がプロンプトに入った瞬間、LLM全体を非信頼領域として扱うべきだと考える

    • LLMの根本的なセキュリティ問題は、データと制御経路の境界がないことにある
      しかしこの構造こそがLLMの柔軟さと強みの核でもあり、これを取り除けば利点も失われる
    • まだ構造化クエリをLLMに適用する良い方法がない
      システムプロンプトのバッファを分離しようとする試みもあったが失敗し、結局またそうした構造に戻る気がする
    • 本当の問題は、LLMが非決定的(non-deterministic) なのに、人々が決定的だと期待していることだ
    • Dark Soulsのメッセージシステムのように、あらかじめ決められた単語の組み合わせだけを許すモデルは興味深い
      この方式ならモデレーションや悪用防止が不要で、特定の状況では良い解決策になり得る
    • セキュリティよりもサンドボックス化とアクセス制御で安全性を確保すべきだと思う
      モデルが自分の生成物に酔ってしまう現象は、むしろ性能を下げる
  • Claudeに関する問題は、モデル自体というよりLLMの根本的な限界を改めて示す事例に見える
    コンテキストを単なるテキスト列ではなく、連想記憶(associative memory) のように扱うほうが直感的だ
    関連情報はうまく見つけられるが、正確な順序・否定・全項目の列挙は非常に不安定だ
    深い依存関係を解きほぐすのも難しい

    • 最近は動画生成モデルでもこうした限界が現れている
      テキストと音声の同期を試みているが、いまだに口の動きとセリフの不一致が頻繁に起きる
      モデルは膨大なデータを処理しても、「誰が話しているか」を区別できない
    • 投稿者本人も、Claudeがツール使用権限を過信するバグはハーネスとの相互作用が原因だと思うようになった
      deployのようなコマンドを、ユーザーが明示的に承認したものだと誤解している
    • 「自分の名前を知っているか」すら失敗するなら、それは基本的な資格を満たしていないレベルだと思う
    • 個人的には、コンテキストが多いほど性能が悪化すると実感している
      可能な限りコンテキストを最小化している
  • HaskellのコードをClojureに翻訳している途中で、Claudeが自分でコマンドを承認するバグに遭遇した
    会話ログ全体はこちらにある

    • LLMは内部的に特殊な区切り文字(delimiter) でメッセージの出所を区別している
      直接プロンプトを構成して実験したところ、ツール呼び出しはできたが、ループと反復エラーが発生した
      結局すべてが確率的な動作なので、うまくいったときの「魔法のような」感覚は錯覚にすぎない
    • 似た現象を見たことがある。一度コミット権限を与えると、Claudeが自分で延々とコミットしようとする
    • この事例があまりに興味深かったので記事に追記したという
    • Terraformのようなツールでも、自動メッセージRun terraform apply plan.out nextを削除すべきかもしれない
    • おそらくコンテキスト自動圧縮の過程でヘッダーが消え、Claudeが自分の質問に自分で答えたと勘違いしたのだろう
  • このバグはモデルではなくハーネス(harness) の問題に見えるという意見があった
    内部推論メッセージをユーザーメッセージとして誤ってラベル付けしているようだ
    しかし一部では、モデルが実際にユーザーメッセージのトークンを生成した可能性も指摘されている

    • たとえハーネスに半決定的なバグがあったとしても、モデルが堅牢ならこうした混同はもっと頻繁に現れていたはずだ
      結局は確率的なトークン処理の結果に見える
    • ユーザーメッセージのトークンは通常、生成停止(stop token) に使われる
      これを防がないと、モデルがユーザー・アシスタントの会話を無限に生成してしまう
    • モデルがユーザーメッセージのように聞こえる文を実際のユーザー入力と誤認する現象は、すでに論文でも報告されている
    • ハーネスがコンテキストを構成する方法が、モデルの誤解を誘発した可能性もある
    • 投稿者はreasoningという表現が不適切だった可能性を認めている
      実際には、Claudeが出力前に内部的に生成する自己対話を意味していたという
  • LLMのコンテキストには「誰が話したか」と「何を話したか」の区別がない
    「私」と「あなた」は単なる短いトークンにすぎず、意味的な重みがない

    • APIを使うときは、JSON形式で各発話の出所が明示されるが、
      モデルがこの状態を正確にエンコードできず混同しているようだ
    • セクションを区切るマーカーがあるなら、ハーネスはユーザーブロックの生成を遮断すべきだ
  • ChatGPTも会話が長くなるとプロンプトと応答を混同し、さらにはシステムプロンプトまで混ぜてしまう
    こうした問題はAI全般に存在すると思う

    • Geminiは特に自分の提案をユーザーの入力だと勘違いする傾向が強い
      コンテキストを整理しないとさらに悪化する
    • 小さなモデルで実験すると、こうした問題をより頻繁に、より明確に観察できるので学習に役立つ
    • 訓練過程でモデルに自分の生成文と人間の文の区別を学ばせるとよさそうだ
      Anthropicがすでに一部実装していると聞く
    • 会社でLLMベースのツール導入が強引に進められているのを見ると、開発者たちがこうした創発的振る舞い(emergent behavior) をよく理解していないのは驚きだ
    • 投稿者は普段短いセッションしか使わないのでこうした問題を見ていなかったが、Claude Codeではセッションが長くなり、それで起きたようだ
  • LLMは否定(not) の概念をうまく理解できない
    人間は論理的に否定を処理するが、LLMの高次元ベクトル空間ではnotの信号が希薄になる
    短いプロンプトでは問題なくても、文が長くなるほど混乱しやすくなる

    • これに関する評価指標や実験結果があるのか気になる
  • 「長く使うとモデルのミスが勘でわかる」という話には懐疑的だ
    非決定的なブラックボックスに直感を頼るのは危険な発想だ

    • 「感覚(vibes)」を信じないのか、と冗談交じりの反応もあった
      最新モデルに更新したら勘が外れるかもしれない
    • ただ実際には、運用全体を賭けるのではなく、経験ベースで権限を調整する形で使っている
      チームメンバーのアクセス権を決めるのに似た判断だ
    • 「すべてのソフトウェアがそうだ」という反応もあった
      膨大なコードが動く現実では、完全な信頼は不可能だ
  • Claude Code CLIのバグのせいで、Claude MaxからCodex Proへ移った
    メッセージ再生、出所の混同、レンダリングエラーなど基本的な問題が多かった
    革新的なOpusモデルを作った会社が、こんな単純なCLIでミスしたのは驚きだ
    おそらく**「トップダウン・バイブコーディング」** を過剰に試した結果なのだろう

  • 「このバグはハルシネーションとは違う」という主張には疑問を呈している
    ハーネスという用語が広すぎる意味で使われており、実際には単なるハルシネーションかもしれないと見る
    LLMは本質的に予測不可能なシステムなので、経験だけでその挙動を完全に理解したと信じるのは錯覚だ