2 Punkte von GN⁺ 20 일 전 | 1 Kommentare | Auf WhatsApp teilen
  • 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
  • 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
  • Weitere Berichte und Verbreitung

    • Das Thema erreichte Platz 1 auf Hacker News, woraufhin zahlreiche ähnliche Fälle geteilt wurden
      • Im Fall von nathell stellte Claude selbst die Frage „Shall I commit this progress?“ und behandelte dies anschließend als Zustimmung des Nutzers
      • Das vollständige Gesprächsprotokoll ist hier einsehbar
    • 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

 
GN⁺ 20 일 전
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.

    • Das grundlegende Sicherheitsproblem von LLMs ist das Fehlen einer Grenze zwischen Daten- und Steuerpfad.
      Genau diese Struktur ist aber der Kern der Flexibilität und Stärke von LLMs; nimmt man sie weg, verschwinden auch die Vorteile.
    • Es gibt noch keine gute Methode, strukturierte Queries auf LLMs anzuwenden.
      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.
    • Das eigentliche Problem ist, dass LLMs nichtdeterministisch (non-deterministic) sind, während Menschen erwarten, dass sie deterministisch arbeiten.
    • Ein Modell, das wie das Nachrichtensystem von Dark Souls nur vorab festgelegte Wortkombinationen erlaubt, wäre interessant.
      Bei so einem Ansatz bräuchte man keine Moderation oder Missbrauchsabwehr, und in bestimmten Situationen könnte das eine gute Lösung sein.
    • Sicherheit sollte eher über Sandboxing und Zugriffskontrolle hergestellt werden als über Prompt-Sicherheit.
      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.

    • Diese Grenzen zeigen sich neuerdings auch bei Video-Generierungsmodellen.
      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“.
    • Auch der Verfasser des Artikels selbst kam zu dem Eindruck, dass der Bug, bei dem Claude seine Tool-Berechtigungen überschätzt, durch die Interaktion mit dem Harness ausgelöst wurde.
      Befehle wie deploy werden missverstanden, als hätte der Nutzer sie ausdrücklich freigegeben.
    • Wenn ein Modell nicht einmal „seinen eigenen Namen kennt“, ist das für manche schon ein grundlegendes Qualifikationsdefizit.
    • Persönlich ist mein Eindruck, dass mehr Kontext die Leistung verschlechtert.
      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.

    • Intern unterscheiden LLMs die Herkunft von Nachrichten über spezielle Trennzeichen (delimiter).
      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.
    • Ich habe etwas Ähnliches gesehen: Gibt man Claude einmal Commit-Rechte, versucht es danach immer weiter selbst zu committen.
    • Der Fall war so interessant, dass er dem Artikel noch hinzugefügt wurde.
    • Bei Tools wie Terraform muss man vielleicht auch automatische Meldungen wie „Run terraform apply plan.out next“ entfernen.
    • Vermutlich sind im automatischen Kontext-Komprimierungsprozess Header verschwunden, sodass Claude dachte, es hätte auf seine eigene Frage geantwortet.
  • 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.

    • Selbst wenn das Harness einen halbdeterministischen Bug hat, hätte sich diese Verwechslung bei einem robusteren Modell wohl seltener gezeigt.
      Am Ende wirkt es wie ein Ergebnis probabilistischer Token-Verarbeitung.
    • Tokens für Nutzernachrichten werden meist als Stop-Token verwendet.
      Wenn man das nicht verhindert, generiert das Modell endlos abwechselnd Nutzer- und Assistentendialoge.
    • Dass ein Modell Sätze, die wie Nutzernachrichten klingen, für echte Nutzereingaben hält, wurde bereits in einem Paper beschrieben.
    • Es könnte auch sein, dass die Art, wie das Harness den Kontext zusammensetzt, das Missverständnis des Modells ausgelöst hat.
    • Der Verfasser räumt ein, dass die Formulierung „reasoning“ vielleicht unpassend war.
      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.

    • Bei der Nutzung einer API ist die Herkunft jeder Äußerung zwar in JSON ausdrücklich angegeben,
      aber das Modell scheint diesen Zustand nicht präzise zu kodieren und gerät deshalb durcheinander.
    • Wenn Marker zur Abschnittstrennung vorhanden sind, sollte das Harness die Erzeugung von Nutzerblöcken blockieren.
  • 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.

    • Besonders Gemini neigt dazu, eigene Vorschläge für Nutzereingaben zu halten.
      Wenn der Kontext nicht bereinigt wird, wird das noch schlimmer.
    • Wer mit kleineren Modellen experimentiert, kann solche Probleme häufiger und deutlicher beobachten, was beim Lernen hilft.
    • Es wäre sinnvoll, Modellen im Training beizubringen, eigene generierte Sätze von menschlichen Sätzen zu unterscheiden.
      Angeblich hat Anthropic so etwas bereits teilweise umgesetzt.
    • Wenn Unternehmen LLM-basierte Tools aggressiv vorantreiben, überrascht es, wie wenig viele Entwickler über solche emergenten Verhaltensweisen (emergent behavior) wissen.
    • Der Verfasser hatte solche Probleme bisher nicht gesehen, weil er normalerweise nur kurze Sessions nutzt; bei Claude Code wurden die Sessions offenbar lang genug, damit sie auftreten.
  • LLMs verstehen das Konzept von Verneinung (not) nicht gut.
    Menschen verarbeiten Verneinung logisch, aber im hochdimensionalen Vektorraum von LLMs wird das Signal von not verwässert.
    Bei kurzen Prompts klappt es noch, doch je länger der Satz wird, desto größer wird die Verwirrung.

    • Ich frage mich, ob es dazu Evaluationsmetriken oder experimentelle Ergebnisse gibt.
  • 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.

    • Darauf gab es auch scherzhafte Antworten, ob man denn nicht an „vibes“ glaube.
      Bei einem Upgrade auf eine neue Modellversion könnte dieses Gefühl sofort falsch liegen.
    • Praktisch setzt aber natürlich kaum jemand den gesamten Betrieb darauf; stattdessen werden Berechtigungen erfahrungsbasiert angepasst.
      Das ähnelt der Einschätzung, wie viel Zugriff man Teammitgliedern gibt.
    • Andere entgegneten: „So ist doch jede Software.“
      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.