Attributierter Speicher
Speichern Sie das, woran sich ein Agent erinnert, als Datensätze, die ihre Herkunft, einen Eigentümer, der sie entfernen kann, und eine Lebensdauer enthalten – niemals als anonymen Text-Blob. Das Gedächtnis macht aus einem One-Shot-Angriff einen Angriff, der bei zukünftigen, nicht zusammenhängenden Aufgaben erneut ausgelöst wird; die Attribuierung macht dies umkehrbar.
Definition
Attributierter Speicher bezeichnet die Praxis, jedes persistente Gedächtnis eines Agenten als Datensatz mit seiner Provenienz (woher die Behauptung stammt und wessen Autorität sie besaß), einem namentlich genannten Eigentümer, der sie löschen kann, und einem Ablaufdatum zu schreiben – so dass eine Falschinformation zurückverfolgt, entfernt werden kann und, falls das fehlschlägt, von selbst erlischt.
Problem
Ein Agent, der Freitext in das persistente Gedächtnis schreibt, kann später nicht mehr unterscheiden, welche seiner Erinnerungen ihm mitgeteilt wurden, welche er auf der Webseite eines Fremden gelesen hat und welche er selbst geschlussfolgert hat. Ein einziger manipulierter Schreibvorgang (Poisoned Write) taucht dann als vertrauenswürdiger Kontext in Aufgaben auf, die nichts mit der Konversation zu tun haben, in der er platziert wurde.
Wann zu verwenden
Nutzen Sie dies überall dort, wo das Gedächtnis die Sitzung überdauert, die es erstellt hat: Assistenten, die sich Präferenzen merken, Agenten, die den Projektstatus akkumulieren, oder jeder Retrieval-Speicher, in den der Agent selbst schreibt. Je länger die Aufbewahrungsfrist ist und je größer der vom Agenten selbst verfasste Korpus ist, desto mehr muss das Gedächtnis ein strukturierter Datenspeicher statt eines Notizbuchs sein.
Lösung
Verweigern Sie anonyme Schreibvorgänge. Jeder Datensatz enthält Angaben darüber, woher die Behauptung stammt – die Sitzung und den Turn, das Tool oder Dokument sowie die URL, falls sie von außen stammt – als strukturierte Felder, nicht als Satz innerhalb des Textes.
Erfassen Sie, wessen Autorität die Behauptung trug. Ein vom Operator konfiguriertes Faktum, ein vom Endbenutzer behauptetes Faktum und ein von einer Drittanbieterseite gelesenes Faktum sind drei verschiedene Behauptungen; halten Sie die Klasse explizit, damit der Retrieval-Pfad sie gewichten und ein Reviewer sie sortieren kann.
Geben Sie jedem Datensatz eine Lebensdauer und wählen Sie standardmäßig eine kurze Dauer. Ein Gedächtnis, das niemals abläuft, wird niemand jemals überprüfen, und es ist die Halbwertszeit eines manipulierten Schreibvorgangs, die bestimmt, wie lange ein Angriff wirksam bleibt.
Machen Sie das Entfernen zu einer First-Class-Operation mit einem namentlich genannten Eigentümer und sorgen Sie für eine Weitergabe (Propagation). Das Löschen des Datensatzes reicht nicht aus, wenn die Behauptung in einem Embedding, einer gecachten Zusammenfassung oder einem abgeleiteten Profil überlebt.
Behandeln Sie den Schreibpfad als Aktion. Schreibvorgänge im Gedächtnis verändern das zukünftige Verhalten, daher durchlaufen sie dieselbe Autorisierung und Protokollierung wie jeder andere Schreibvorgang – nicht durch eine Hintertür, nur weil das Ziel zufällig eine Datei ist.
Lassen Sie abgerufenes Gedächtnis niemals als Anweisung (Instruction) wieder in den Prompt einfließen. Es geht als Daten mit verknüpfter Herkunft ein, und ein Datensatz, dessen Herkunft ein Drittanbieter ist, wird genau wie eine nicht vertrauenswürdige Eingabe dieser Partei behandelt.
Komponenten
Vorteile
- Macht die Manipulation des Gedächtnisses (Memory Poisoning) umkehrbar: Sie können den Schreibvorgang finden, sehen, woher er stammt, und alles davon Abgeleitete entfernen.
- Macht aus „Was glaubt dieser Agent über mich?“ eine Frage mit einer für Menschen lesbaren Antwort.
- Ermöglicht es dem Retrieval, eine Behauptung anhand ihrer Herkunft zu gewichten und nicht danach, wie selbstbewusst der Text verfasst wurde.
- Erfüllt die Aufbewahrungs- und Löschpflichten, die für alle über eine Person gespeicherten Daten gelten, ohne dass später ein separater Mechanismus angeflanscht werden muss.
Risiken
- Provenienz-Theater: ein Herkunftsfeld, das immer „Agent“ anzeigt, was nichts dokumentiert und nur wie ein Control aussieht.
- Verdichtungswäsche (Compaction Laundering) – der häufigste Weg, wie Attribuierung verloren geht. Das Zusammenfassen von zehn attributierten Datensätzen in einem einzigen Absatz erzeugt eine nicht attributierte Behauptung, die nun wie ein Konsens wirkt.
- Teillöschung: Der primäre Datensatz verschwindet, der Vektor bleibt, und die Behauptung wird weiterhin abgerufen.
- Übermäßiges Ablaufen zerstört die Kontinuität, für die das Gedächtnis eigentlich gedacht war, was dazu führt, dass das Ablaufen komplett deaktiviert wird.
Wann nicht zu verwenden
- Single-Session-Agenten ohne Persistenz: Es gibt kein Gedächtnis, das attributiert werden müsste, und der Aufwand bringt keinen Nutzen.
- Wenn der Speicher ein Cache Ihres eigenen, bereits verwalteten System of Record ist – attributieren Sie das Quellsystem einmal und nicht jede abgeleitete Zeile.
- Wenn der Overhead die Operatoren dazu verleiten würde, die eigentlichen Notizen außerhalb des Systems zu führen, was weitaus schlechter ist als ein unvollständiger Datensatz innerhalb des Systems.
Technologien
Beispiele
- Ein Assistent, der „bevorzugt metrische Einheiten“ schreibt. Der Datensatz enthält die Session-ID und den Turn, in dem der Benutzer dies gesagt hat, sodass eine falsche Präferenz auf den verursachenden Satz zurückgeführt und entfernt werden kann.
- Ein Recherche-Agent, der eine Drittanbieterseite liest und eine Behauptung mit dem Tag „an dieser URL zu diesem Datum beobachtet“ speichert, niemals als Faktum. Wenn dieselbe Behauptung Monate später abgerufen wird, reist ihre Herkunft mit.
- Ein Support-Agent, dessen Gedächtniseinträge standardmäßig nach 90 Tagen ablaufen, mit einer längeren Lebensdauer nur für Einträge, die ein Mensch explizit bestätigt hat – sodass die ungeprüfte Mehrheit veraltet und die geprüfte Minderheit bestehen bleibt.
KPIs
- Anteil attributierter Schreibvorgänge
- Anteil der Gedächtniseinträge, die eine maschinenlesbare Herkunft aufweisen. Unter 100 % kann der Speicher nicht beantworten, woher eine Behauptung stammt, was das eigentliche Control hinfällig macht.
- Medianes Alter der Datensätze
- Wie alt das aktive Gedächtnis tatsächlich ist. Ein steigender Median ohne Löschungen bedeutet, dass sich der Speicher anhäuft, anstatt kuratiert zu werden.
- Verzögerung bei der Löschungsweitergabe
- Zeitspanne zwischen dem Entfernen eines Datensatzes und dem Zeitpunkt, an dem die Behauptung aus allen abgeleiteten Artefakten nicht mehr abrufbar ist. Das Zeitfenster, in dem eine gelöschte Behauptung noch wirkt.
- Anteil planmäßig abgelaufener Datensätze
- Anteil der Datensätze, die ihr Ablaufdatum erreicht haben und tatsächlich entfernt wurden. Ein Beleg dafür, dass die Lebensdauer real und nicht nur deklariert ist.
Beobachtete Fehlermuster
- Verzögerte Manipulation (Delayed-Action Poisoning): Ein in einer Konversation platziertes falsches Faktum taucht Wochen später in einer nicht zusammenhängenden Aufgabe auf, wobei nichts im Kontext erklärt, warum der Agent es glaubt.
- Überleben in der Zusammenfassung: Der Datensatz wird gelöscht, die verdichtete Zusammenfassung, die ihn aufgenommen hat, jedoch nicht, und die Behauptung überlebt ihre eigene Quelle.
- Schattenindex: Das Embedding eines entfernten Datensatzes bleibt durchsuchbar, sodass die Löschung überall dort erfolgreich war, wo der Auditor hingesehen hat, aber nirgends, wo es darauf ankam.
- Identitäts-Bleed: Das Gedächtnis ist so ungenau zugeordnet, dass der Datensatz eines Benutzers für einen anderen abgerufen wird, was einen Designfehler des Gedächtnisses in eine Datenoffenlegung verwandelt.
Lessons Learned
- Die Attribuierung ist beim Schreiben kostengünstig und später unmöglich zu rekonstruieren. Das Feld muss existieren, bevor die Behauptung existiert.
- Jeder Verdichtungsschritt ist eine Attribuierungsgrenze. Wenn der Summarizer die Herkunft nicht weitergeben kann, erzeugt er neue, quellenlose Behauptungen.
- Ein Ablaufdatum, dessen Auslösung noch nie jemand beobachtet hat, ist eine Richtlinie, kein Control.
- Eine Löschung ist nur so vollständig wie das abgeleitete Artefakt, das Sie vergessen haben.
FAQs
- Ist das nicht nur eine Aufbewahrungsrichtlinie mit zusätzlichem Aufwand?
- Die Aufbewahrung (Retention) bestimmt, wann Daten gelöscht werden. Die Attribuierung beantwortet, woher eine Behauptung stammt und wer sie entfernen darf – genau das, was Sie in dem Moment benötigen, in dem sich eine Erinnerung als falsch und nicht nur als alt herausstellt. Beide ergänzen sich: Ohne Ablaufdatum häuft sich die Attribuierung an; ohne Attribuierung löscht das Ablaufdatum Beweise, die Sie nie verstanden haben.
- Der Agent schreibt seine eigenen Erinnerungen. Wessen Autorität tragen diese?
- Seine eigene, und das ist die Klasse, die es zu benennen gilt. Eine vom Agenten geschlussfolgerte Behauptung ist schwächer als eine vom Operator konfigurierte und sollte als solche abrufbar sein – andernfalls kehren die eigenen Vermutungen des Modells später ununterscheidbar von der Konfiguration zurück.
- Wie bewahren wir die Provenienz bei der Zusammenfassung?
- Entweder trägt die Zusammenfassung die Vereinigung der Herkunftsnachweise ihrer Quellen in sich, oder sie wird als neuer, vom Agenten geschlussfolgerter Datensatz geschrieben, der auf die ersetzten Datensätze verweist. Was nicht passieren darf, ist, dass die Zusammenfassung stillschweigend zu einem quellenlosen Faktum wird, denn das ist der Schritt, bei dem die Manipulation dauerhaft wird.