
Speicher und Standing für KI-Agenten
Der Aufbau eines KI-Agenten kann schwierig sein. Es ist unglaublich schwierig, den Überblick über eine sechsmonatige Bereitstellung zu behalten.
LLMs sind von Natur aus zustandslos. Jeder Anruf beginnt bei Null, ohne Erinnerung an das, was vorher stattgefunden hat. Frühe Agentenentwickler haben dieses Drawback umgangen, indem sie den gesamten Gesprächsverlauf in das Kontextfenster verschoben und auf das Beste gehofft haben.
Mittlerweile wissen wir, dass dieser Ansatz schnell scheitert. Latenzspitzen und die Fähigkeit des Modells, dies tatsächlich zu tun verwenden Was im Kontext steht, verschlechtert sich: Relevante Fakten werden unterdrückt, und wenn zwei Versionen einer Tatsache gleichzeitig im Fenster angezeigt werden, gibt es keine Garantie dafür, dass die aktuelle Model ausgewählt wird. Auch die Token-Kosten steigen, obwohl Immediate-Caching diesen Nachteil für stabile Präfixe abgemildert hat. Der Repair ist kein größeres Kontextfenster; Es geht darum, Erinnerung und Zustand als bewusste architektonische Entscheidungen zu behandeln, nicht als nachträgliche Gedanken.
Bevor wir uns mit den Mustern befassen, lohnt es sich, genau zu erklären, was diese beiden Begriffe bedeuten, da sie leicht miteinander verwechselt werden können.
Zustand ist eine Momentaufnahme. Dabei handelt es sich um alles, was der Agent aktuell über eine Aufgabe weiß: in welchem Schritt sie sich befindet, was der letzte Instrument-Aufruf zurückgegeben hat, welche Variablen er verfolgt. Betrachten Sie es als ein Whiteboard. Es wird ständig aktualisiert, während die Aufgabe fortschreitet, und wenn die Sitzung endet, ist es verschwunden, es sei denn, Sie behalten es absichtlich bei, worum es bei Muster 2 geht.
Erinnerung ist der Mechanismus, der Informationen über eine Grenze hinweg überträgt: die nächste Runde, die nächste Sitzung oder einen völlig separaten Agenten, der später ausgeführt wird. Das Arbeitsgedächtnis ist der Fall mit dem kürzesten Horizont (Umdrehung zu Umdrehung); Semantische und episodische Gedächtnisspannensitzungen.
Die beiden interagieren in einem bestimmten Zyklus. Zu Beginn einer Aufgabe liest der Agent aus dem Speicher, um seinen Ausgangszustand aufzubauen: Er lädt relevante Fakten, anwendbare Verhaltensregeln und Aufzeichnungen früherer Fehler bei ähnlichen Aufgaben. Während der Ausführung der Aufgabe aktualisiert der Agent den Standing kontinuierlich, während er arbeitet. Während die Aufgabe voranschreitet und abgeschlossen wird, werden ausgewählte Teile dieses Zustands in den Speicher zurückgeschrieben, sodass die nächste Runde oder Sitzung von dem, was gerade passiert ist, profitieren kann. Die Erinnerung fließt in den Zustand ein; Der Zustand wird zurück in den Speicher eingespeist.
Diese Unterscheidung ist wichtig, da die Fehlermodi unterschiedlich sind. Ein fehlerhafter Zustand bedeutet, dass der Agent mitten in der Aufgabe den Überblick darüber verliert, was er tut. Defektes Gedächtnis bedeutet, dass der Agent nicht lernen kann, nicht personalisieren kann und jede Interaktion wie eine leere Tafel behandelt. Beide Fehler kommen in Produktionssystemen häufig vor und erfordern unterschiedliche Korrekturen.
Die folgenden fünf Muster adressieren beides: Muster 1 und 2 verwalten den Standing; 3 und 4 bilden die Speicherschicht, die über Sitzungen hinweg bestehen bleibt; und 5 schränkt beides ein.
1. Der kontextbezogene Arbeitspuffer (kurzfristige Ausführung)
Das Konzept
Der Arbeitsspeicher speichert den kurzlebigen Zustand der aktuellen Sitzung: die aktive Eingabeaufforderung, die letzten Gesprächsrunden und Dwell-Instrument-Ausgaben. Betrachten Sie es als kurzfristigen Arbeitsspeicher des Agenten, der nach Beendigung der Sitzung geleert wird.
Wie es funktioniert
Anstatt die Nachrichtenliste unbegrenzt wachsen zu lassen, fungiert der Arbeitspuffer als Schiebefenster. Der Agent schreibt unmittelbare Argumentationsschritte auf einen Notizblock. Wenn sich der Puffer einem Token-Restrict nähert, komprimiert ein Zusammenfassungsprozess ältere Umwandlungen in eine dichte Hintergrundzusammenfassung, behält die logischen Schlussfolgerungen bei und verwirft die Rohausgaben des Instruments. Wenn die Aufgabe abgeschlossen ist, wird der Puffer geleert: Alles, was es wert ist, aufbewahrt zu werden, wird in Langzeitspeicher extrahiert und der Relaxation wird verworfen.
Erwähnenswert: Durch die Zusammenfassung mitten im Gespräch kann das Eingabeaufforderungspräfix neu geschrieben werden, wodurch der KV-Cache ungültig wird und beim nächsten Anruf eine Latenzspitze entsteht. Beim Design ist es ein echter Kompromiss.
Wann man es verwendet
Das braucht jeder Makler. Dies ist die Grundlage für den Umgang mit mehrstufigem Denken innerhalb einer Sitzung.
2. Ausführungskontrollpunkte (Fehlertoleranz und Pause)
Sobald Sie eine Strategie zur Verwaltung dessen haben, was der Agent während einer Sitzung im Speicher hält, stellt sich als nächstes die Frage, was passiert, wenn diese Sitzung unterbrochen wird.
Das Konzept
Lang andauernde Aufgaben schlagen fehl. Es kann sein, dass ein Agent eine Zeitüberschreitung erfährt, ein Ratenlimit erreicht oder innehält und darauf wartet, dass ein Mensch eine Aktion genehmigt. Checkpointing speichert den Workflow-Standing des Agenten in einer Datenbank, sodass die Ausführung genau dort fortgesetzt werden kann, wo sie gestoppt wurde, ohne dass bereits abgeschlossene Arbeiten erneut ausgeführt werden müssen.
Wie es funktioniert
Graphbasierte Frameworks modellieren Arbeitsabläufe als Knoten und Kanten. Nach jedem Schritt behält das Framework den Workflow-Standing, einschließlich Variablen, Verlauf und aktueller Place, in einem dauerhaften Speicher bei PostgreSQL oder SQLite. Wenn der Agent abstürzt, lädt er den letzten Prüfpunkt neu und fährt von dort fort.
Eines nervt Praktiker regelmäßig: Die Wiederaufnahme liefert keine genau einmalige Semantik. Wenn ein Knoten vor dem Absturz teilweise ausgeführt wurde (z. B. wenn er eine E-Mail gesendet oder eine Datenbankzeile geschrieben hat), kann es sein, dass er bei der Wiederaufnahme erneut ausgeführt wird. Nebeneffektknoten müssen idempotent sein. Bedenken Sie außerdem, dass offene Dateihandles und Clientobjekte nicht mit einem Prüfpunkt versehen werden können, was die Möglichkeiten einschränkt, die Sie sicher in den Standing versetzen können.
Wann man es verwendet
Unverzichtbar für Human-in-the-Loop-Systeme, regulierte Arbeitsabläufe, bei denen Aktionen eine Genehmigung erfordern, und alle langfristigen Aufgaben, die anfällig für Netzwerkausfälle sind.
3. Semantisches Gedächtnis (sitzungsübergreifendes Wissen)
Checkpointing kümmert sich um die Kontinuität innerhalb einer Aufgabe. Aber was ist mit Wissen, das über völlig separate Sitzungen hinweg bestehen bleiben muss?
Das Konzept
Das semantische Gedächtnis ist der Agent weiß: Fakten, Benutzerpräferenzen und Domänenwissen, die über unabhängige Sitzungen hinweg bestehen bleiben.
Wie es funktioniert
Fakten werden asynchron extrahiert und in einer externen Datenbank gespeichert, normalerweise einem Vektorspeicher mit Metadatenfilterung, manchmal gepaart mit einem Wissensgraphen, bei dem Beziehungsdurchquerung wirklich wichtig ist. Wenn eine Anfrage eingeht, ruft das System die relevantesten Fakten ab und fügt sie in die Eingabeaufforderung ein, bevor das Modell sie sieht. Beachten Sie, dass die Extraktion je nach Architektur einen zusätzlichen LLM-Aufruf oder mehr kosten kann, oft sogar einen professional Zug.
Ein Konflikt, den es zu umgehen gilt: Wenn ein Benutzer im März „Ich verwende Postgres“ und im Juli „Wir sind auf Snowflake migriert“ erwähnt, landen beide Fakten im Retailer. Der Abruf könnte beides zum Vorschein bringen. Die Ungültigmachung von Fakten durch Aktualitätsgewichtung, Ersetzungslogik oder TTLs löst tatsächlich das oben angesprochene Drawback der veralteten Fakten.
Es lohnt sich auch, explizit darauf hinzuweisen: Anmeldeinformationen und Geheimnisse sind kein semantisches Gedächtnis. Speichern Sie API-Schlüssel nicht in einem abrufbaren Speicher. Eine sofortige Injektion oder ein übereifriger Abruf könnten sie in einer Musterreaktion auslösen. Geheimnisse gehören in einen Geheimnisse-Supervisor, wo der Agent ein Anmeldeinformations-Deal with erhält, dessen Wert er nie sieht.
Auch das umgekehrte Risiko ist von Bedeutung: Nicht vertrauenswürdiger Inhalt (eine gelöschte Seite, eine Benutzernachricht, eine Instrument-Ausgabe), der als „Tatsache“ in das semantische Gedächtnis extrahiert wird, kann den Agenten dauerhaft in die falsche Richtung lenken. Da es kein sofortiges Äquivalent zur Parametrisierung und keine klare Trennung zwischen Anweisungen und Inhalten gibt, übernimmt die Herkunftskennzeichnung stattdessen die Arbeit: Sie verfolgen, woher eine Tatsache stammt, und grenzen ihren Einfluss entsprechend ein.
Wann man es verwendet
Persönliche Assistenten, Programmier-Copiloten oder Unternehmensagenten, die sich sitzungsübergreifend an den bevorzugten Codestil, Architekturrichtlinien oder Datenbankschemakonventionen eines Benutzers erinnern müssen.
4. Episodische Ereignisprotokolle (historische Reflexion)
Das semantische Gedächtnis speichert, was der Agent weiß; Das episodische Gedächtnis speichert, was der Agent tat.
Das Konzept
Das episodische Gedächtnis fungiert als chronologisches Verzeichnis der Ausführungsbahn des Agenten: Ziel, Plan, Werkzeugaufrufe, Ergebnis.
Wie es funktioniert
Wenn ein Workflow abgeschlossen ist, protokolliert ein Hintergrundprozess diesen vollständigen Verlauf. Bevor der Agent eine ähnliche Aufgabe in Angriff nimmt, fragt er dieses Protokoll ab. Wenn zuvor eine Datenbankabfrage aufgrund eines Syntaxfehlers fehlgeschlagen ist, wird dieser Kontext im episodischen Speicher angezeigt, sodass der Agent den Fehler nicht wiederholt.
Eine Einschränkung: Abgerufene Fehlerverfolgungen sind beratend und nicht einschränkend. Das Modell kann sie ignorieren. Es besteht auch ein Vergiftungsrisiko: Wenn ein einmaliger Umgebungsfehler als Strategiefehler protokolliert wird, erteilen Sie dem Agenten ständig die falsche Lektion. Melden Sie sich in diesem Sinne an.
Wann man es verwendet
Autonome Programmieragenten, Information-Engineering-Pipelines und Planungssysteme, die ohne menschliches Eingreifen aus Fehlern der Vergangenheit lernen müssen.
5. Multi-Scope-Segregation (Unternehmensdatenschutz)
Sobald die Erinnerung bestehen bleibt, stellt sich die Frage, wer sie sehen kann. Sobald Ihr System mehr als einen Benutzer bedient, muss der Speicher isoliert werden.
Das Konzept
Speicher ist kein einzelner gemeinsam genutzter Bucket. Eine Tatsache, die man beim Helfen von Benutzer A erfahren hat, darf für Benutzer B niemals an die Oberfläche kommen.
Wie es funktioniert
Jeder Speicherschreibvorgang wird mit Identitätsbereichen markiert: Benutzer-ID, Sitzungs-ID, org_id. Beim Abruf wird streng nach dem Authentifizierungstoken des aktiven Benutzers gefiltert. Erzwingen Sie dies nach Möglichkeit auf der Speicherebene durch mandantenspezifische Namespaces oder Sicherheit auf Zeilenebene, anstatt sich ausschließlich auf Abfragefilter auf Anwendungsebene zu verlassen. Ein vergessenes WO Klausel schlägt fehl; Die Isolierung der Speicherschicht schlägt fehl.
Dies ist eine Voraussetzung für die Einhaltung des Datenschutzes und nicht das Ziel. Das schwierigere Drawback ist das Löschen: Wenn ein Benutzer sein Recht auf Löschung ausübt, müssen Sie nicht nur seine Rohdaten, sondern auch die daraus abgeleiteten Einbettungen, Zusammenfassungen und extrahierten Fakten löschen.
Wann man es verwendet
Jedes SaaS-Produkt, Multi-Tenant-System oder jede Unternehmensbereitstellung, bei der Datengrenzen durchgesetzt werden müssen.
Zusammenfassung
Eine Sache, die keines dieser Muster für sich allein abdeckt, sind Wachstumsgrenzen. Im Laufe einer sechsmonatigen Bereitstellung (der Rahmen, mit dem dieser Artikel begann) werden semantische und episodische Speicher nahezu Duplikate, veraltete Einträge und Rauschen ansammeln. Die Abrufqualität nimmt ab, wenn die Geschäfte gefüllt sind, und die Kosten steigen entsprechend. TTLs, Konsolidierungsjobs und Bereinigungsrichtlinien sind keine optionalen Verbesserungen; Sie sind Teil des Betriebsspeichers im großen Maßstab.
Das Kontextfenster ist keine Datenbank. Wenn Sie den Speicher in verschiedene Komponenten, Kurzzeitpuffer für die Ausführung, episodische Protokolle für Erfahrungen und semantische Speicher für Fakten entkoppeln, erhalten Sie Systeme, die tatsächlich lernen, innerhalb der Datengrenzen bleiben und in der Produktion standhalten.
