Bug, bei dem Claude Sprecher verwechselt
(dwyer.co.za)- Es wurde ein Fehler gemeldet, bei dem Claude von ihm selbst erzeugte Nachrichten fälschlich als Äußerungen des Nutzers interpretiert
- Dieses Phänomen ist getrennt von Halluzinationen oder Berechtigungsproblemen zu betrachten und zeigt sich darin, dass intern erzeugte Anweisungen mit falschem Label ausgeführt werden
- Auch auf Reddit wurden Fälle geteilt, in denen Claude selbst destruktive Befehle ausgab und sie als Nutzeranfrage behandelte
- Als Ursache wird ein Fehler bei der Sprecherzuordnung im System-Harness genannt; es handelt sich vermutlich um einen kürzlich wieder aufgetretenen Regression-Bug
- Dasselbe Phänomen wurde auch bei anderen Modellen gemeldet; dabei fällt auf, dass es gehäuft in einem Grenzbereich des Gesprächskontexts (Dumb Zone) auftritt
Claudes „Bug, bei dem verwechselt wird, wer etwas gesagt hat“
- Es wurde ein schwerwiegender Fehler gemeldet, bei dem Claude von ihm selbst gesendete Nachrichten fälschlich als Äußerungen des Nutzers interpretiert
- Dieses Problem ist ein anderes Phänomen als Halluzinationen (hallucination) oder Probleme an Berechtigungsgrenzen
- Das Modell erkennt intern erzeugte Anweisungen fälschlich als Nutzereingaben und führt sie entsprechend aus
- In früheren Beobachtungen trat dasselbe Phänomen im Umfeld von Claude Code zweimal auf
- Claude entschied selbst, dass „der Tippfehler beabsichtigt war“, führte das Deployment durch und behauptete anschließend, dieser Befehl sei vom Nutzer gekommen
-
Fälle anderer Nutzer
- Im Reddit-Thread r/Anthropic wurde dasselbe Problem ebenfalls gemeldet
- Claude gab selbst den destruktiven Befehl „Tear down the H100 too“ aus und behandelte ihn als Anfrage des Nutzers
- Dabei wurde ein Fall geteilt, in dem die Sitzung eines Nutzers beschädigt wurde
- Im Reddit-Thread r/Anthropic wurde dasselbe Problem ebenfalls gemeldet
-
Problembewusstsein und Ursache
- In einigen Kommentaren wurde reagiert mit „Beschränkt die Zugriffsrechte“ oder „Im DevOps strenger verwalten“
- Als zentrale Ursache wird jedoch nicht die Berechtigungskonfiguration des Modells, sondern ein Fehler bei der Sprecherzuordnung im System-Harness genannt
- Interne Reasoning-Nachrichten werden fälschlich als Nutzereingaben gelabelt, wodurch das Modell überzeugt ist, „der Nutzer habe das gesagt“
- Dieser Bug wirkte zunächst wie ein vorübergehendes Phänomen, soll aber zuletzt erneut aufgetreten oder regressiert (regression) sein
- Besonders auffällig ist er in Situationen, in denen das Modell selbst riskante Aufgaben erlaubt
- In einigen Kommentaren wurde reagiert mit „Beschränkt die Zugriffsrechte“ oder „Im DevOps strenger verwalten“
-
Weitere Berichte und Verbreitung
- Das Thema erreichte Platz 1 auf Hacker News, woraufhin zahlreiche ähnliche Fälle geteilt wurden
- Einige Nutzer berichteten von ähnlichen Phänomenen auch bei anderen Modellen wie chatgpt.com
- Gemeinsam ist den Fällen, dass sie gehäuft auftreten, wenn sich das Gespräch dem Limit des Kontextfensters nähert, in der sogenannten „Dumb Zone“
- Die grundlegende Ursache ist noch nicht eindeutig geklärt; als Möglichkeit wird ein Bug auf Harness-Ebene genannt
1 Kommentare
Hacker-News-Kommentare
Diskussionen über LLM-Prompts erinnern an frühere Regexe zur Abwehr von SQL-Injection
Das wirkt wie ein rein oberflächlicher Ansatz und bietet meiner Meinung nach keine grundsätzliche Garantie.
Sobald Benutzereingaben in den Prompt gelangen, sollte man das gesamte LLM als nicht vertrauenswürdigen Bereich behandeln.
Genau diese Struktur ist aber der Kern der Flexibilität und Stärke von LLMs; nimmt man sie weg, verschwinden auch die Vorteile.
Es gab zwar Versuche, den System-Prompt-Puffer zu trennen, aber sie sind gescheitert, und letztlich wird man wohl wieder zu so einer Struktur zurückkehren.
Bei so einem Ansatz bräuchte man keine Moderation oder Missbrauchsabwehr, und in bestimmten Situationen könnte das eine gute Lösung sein.
Dass das Modell sich an seinen eigenen Erzeugnissen berauscht, verschlechtert eher die Leistung.
Das Problem bei Claude wirkt weniger wie ein Fehler des Modells selbst als wie ein weiteres Beispiel für die grundlegenden Grenzen von LLMs.
Es ist intuitiver, Kontext nicht als bloße Textsequenz, sondern eher als assoziatives Gedächtnis (associative memory) zu betrachten.
Verwandte Informationen werden gut gefunden, aber exakte Reihenfolge, Verneinung und das vollständige Auflisten aller Elemente sind sehr instabil.
Auch tiefe Abhängigkeiten aufzulösen ist schwierig.
Sie versuchen zwar Text und Sprache zu synchronisieren, aber unpassende Lippenbewegungen zum Gesprochenen kommen immer noch häufig vor.
Das Modell verarbeitet enorme Datenmengen und kann trotzdem nicht sauber unterscheiden, „wer spricht“.
Befehle wie
deploywerden missverstanden, als hätte der Nutzer sie ausdrücklich freigegeben.Deshalb halte ich den Kontext möglichst klein.
Beim Übersetzen von Haskell-Code nach Clojure trat ein Bug auf, bei dem Claude eigene Befehle selbst genehmigte.
Das vollständige Gesprächsprotokoll ist hier zu finden.
Ich habe das durch direktes Zusammensetzen von Prompts getestet; Tool-Aufrufe waren möglich, aber es kam zu Schleifen und Wiederholungsfehlern.
Letztlich ist alles probabilistisches Verhalten, und das „magische“ Gefühl, wenn es gut läuft, ist eine Illusion.
Manche meinten, dieser Bug sehe eher nach einem Harness-Problem als nach einem Modellproblem aus.
Offenbar wurden interne Reasoning-Nachrichten fälschlich als Nutzernachrichten gelabelt.
Andere hielten es jedoch für möglich, dass das Modell tatsächlich Tokens für Nutzernachrichten erzeugt hat.
Am Ende wirkt es wie ein Ergebnis probabilistischer Token-Verarbeitung.
Wenn man das nicht verhindert, generiert das Modell endlos abwechselnd Nutzer- und Assistentendialoge.
Gemeint war eigentlich ein interner Selbstdialog, den Claude vor der Ausgabe erzeugt.
Im Kontext eines LLM gibt es keine echte Trennung zwischen „wer etwas gesagt hat“ und „was gesagt wurde“.
„Ich“ und „du“ sind nur kurze Tokens und haben kein semantisches Gewicht.
aber das Modell scheint diesen Zustand nicht präzise zu kodieren und gerät deshalb durcheinander.
Auch ChatGPT verwechselt bei langen Gesprächen Prompt und Antwort und mischt mitunter sogar den System-Prompt hinein.
Solche Probleme scheinen also in der KI insgesamt vorzukommen.
Wenn der Kontext nicht bereinigt wird, wird das noch schlimmer.
Angeblich hat Anthropic so etwas bereits teilweise umgesetzt.
LLMs verstehen das Konzept von Verneinung (
not) nicht gut.Menschen verarbeiten Verneinung logisch, aber im hochdimensionalen Vektorraum von LLMs wird das Signal von
notverwässert.Bei kurzen Prompts klappt es noch, doch je länger der Satz wird, desto größer wird die Verwirrung.
Zur Aussage, man entwickle mit langer Nutzung ein Gefühl für die Fehler des Modells, gab es Skepsis.
Sich bei einer nichtdeterministischen Blackbox auf Intuition zu verlassen, sei ein riskanter Ansatz.
Bei einem Upgrade auf eine neue Modellversion könnte dieses Gefühl sofort falsch liegen.
Das ähnelt der Einschätzung, wie viel Zugriff man Teammitgliedern gibt.
In einer Welt mit unzähligen laufenden Codebasen sei vollständiges Vertrauen ohnehin unmöglich.
Wegen Bugs im Claude-Code-CLI bin ich von Claude Max zu Codex Pro gewechselt.
Es gab viele grundlegende Probleme wie Message-Replay, Verwechslung der Herkunft und Rendering-Fehler.
Erstaunlich, dass eine Firma, die ein innovatives Opus-Modell gebaut hat, bei einem so simplen CLI solche Fehler macht.
Vielleicht ist das das Ergebnis von zu viel Experimentieren mit „Top-down vibe coding“.
Die Behauptung, „dieser Bug sei etwas anderes als Halluzination“, wurde ebenfalls hinterfragt.
Der Begriff Harness werde zu breit verwendet, und womöglich handle es sich in Wirklichkeit einfach um eine normale Halluzination.
Da LLMs im Kern unvorhersehbare Systeme sind, sei es eine Illusion zu glauben, man verstehe ihr Verhalten allein aufgrund von Erfahrung vollständig.