← Zur Blog-Übersicht

Memory und State Management bei KI-Agenten

Die entscheidende Frage lautet nicht: Wie geben wir dem Agenten mehr Gedächtnis? Die bessere Frage lautet: Welcher Zustand ist für diese Aufgabe notwendig, wer kontrolliert ihn und wann muss er wieder verschwinden?

Ein KI-Agent wird nicht dadurch zuverlässig, dass er sich möglichst viel merkt. Er wird zuverlässig, wenn sein Zustand sauber geschnitten ist. Für produktive Agenten ist Memory deshalb kein Komfortfeature, sondern ein Architekturthema: Was gehört in den aktuellen Kontext, was in den Arbeitszustand, was in dauerhaftes Memory, was bleibt im Quellsystem und was muss auditierbar sein?

Das ist der Unterschied zwischen einem Agenten, der nur überzeugend antwortet, und einem Agenten, der echte Arbeit fortsetzen kann. Sobald ein Agent über mehrere Schritte arbeitet, reicht Chat-Historie nicht mehr aus. Er muss wissen, welche Aufgabe er bearbeitet, welche Daten er verwendet hat, welche Annahmen noch offen sind, welche Tools schon gelaufen sind und welcher Prozessschritt als nächstes folgt.

Schichtenmodell für Kontextfenster, Arbeitszustand, langlebiges Memory, externes Wissen und Prozesszustand.
Ein produktiver Agent unterscheidet mehrere Zustandsarten. Wer alles in ein Kontextfenster kippt, baut kein Memory, sondern technische Unschärfe.

Der Grundfehler: alles wird Gedächtnis genannt

Memory und State sind nicht dasselbe. State ist der gesamte Zustand, den ein Agent benötigt, um eine Aufgabe korrekt fortzuführen. Memory ist nur der Teil davon, der über eine einzelne Interaktion hinaus erhalten bleiben soll. Das Kontextfenster ist wiederum kein Gedächtnis, sondern der kurzfristige Arbeitsbereich des Modells.

Ein konkretes Beispiel macht den Unterschied klarer. Ein Agent soll ein Kundenangebot vorbereiten. Die Kundenpräferenz „möchte monatliche Abrechnung“ kann langlebiges Memory sein, wenn sie bestätigt und wiederverwendbar ist. Der aktuelle Angebotsentwurf ist Arbeitszustand. Die Preisliste ist externes Wissen. Die zuletzt ausgeführte Kalkulation ist ein Tool-Resultat. Die Freigabe durch den Vertriebsleiter ist Prozesszustand. Diese Informationen gehören nicht in denselben Speicher mit denselben Regeln.

Meine Kurzfassung: Gute Agenten merken sich nicht möglichst viel. Gute Agenten wissen, was sie kurz halten, was sie persistent speichern, was sie abrufen und was sie bewusst vergessen müssen.

Das Angebot als roter Faden

Bleiben wir beim Angebotsprozess. Der Agent startet mit einer Aufgabe: „Erstelle ein Angebot für Kunde X auf Basis der aktuellen Preisliste, der bisherigen Konditionen und der neuen Produktkombination.“ Schon dieser Satz enthält mehrere Zustandsarten. Der Kunde ist eine Entität. Die Aufgabe braucht eine ID. Die Preisliste ist eine Quelle. Die bisherigen Konditionen kommen aus CRM oder ERP. Der Angebotsentwurf ist ein Artefakt. Die Freigabe ist ein Prozessschritt.

Wenn dieser Agent nur im Chat-Verlauf lebt, wird der Prozess fragil. Nach einer Rückfrage weiß niemand mehr sauber, welche Preisliste verwendet wurde. Nach einem Tool-Fehler ist unklar, ob die Kalkulation wiederholt werden darf. Nach einer Freigabe fehlt der Nachweis, welcher Entwurf wirklich freigegeben wurde. Genau deshalb muss State explizit werden.

Arbeitszustand ist der Kern

Der Arbeitszustand beschreibt, wo der Agent gerade steht: Ziel, Plan, offene Annahmen, erledigte Schritte, Tool-Aufrufe, Ergebnisse, Fehler, Rückfragen und nächste Aktionen. Im Angebotsbeispiel heißt das: Welche Produkte sind enthalten? Welche Rabatte sind berechnet? Welche Daten fehlen? Welche Version des Entwurfs ist aktuell? Welche Entscheidung ist offen?

Gerade Tool-Nutzung macht diesen Arbeitszustand relevant. Ein Agent muss wissen, welche API bereits aufgerufen wurde, welches Ergebnis valide ist, welcher Zwischenschritt verworfen wurde und ob ein Tool-Aufruf wiederholt werden darf. Sonst entstehen doppelte Aktionen, widersprüchliche Ergebnisse oder stille Fehler.

Kontextfenster Kurzlebiger Modellinput für den aktuellen Turn. Risiko: zu voll, falsch priorisiert, nicht dauerhaft belastbar.
Arbeitszustand Plan, Status, Zwischenergebnisse, Tool-Historie und offene Punkte. Risiko: unklare Fortsetzung, doppelte Aktionen, verlorene Fehlerpfade.
Langzeit-Memory Stabile Fakten, Präferenzen, Projektwissen und wiederverwendbare Regeln. Risiko: veraltete oder falsche Erinnerungen steuern künftige Arbeit.

State Handles statt impliziter Sitzung

Das nützlichste Muster ist ein expliziter State Handle. Für den Angebotsprozess wäre das zum Beispiel eine `task_id` oder `offer_id`. Diese ID wird durch die gesamte Pipeline getragen: Anfrage aufnehmen, Kundendaten laden, Preisliste abrufen, Entwurf erzeugen, Kalkulation prüfen, Rückfrage stellen, Freigabe einholen, finale Version exportieren.

Der Vorteil ist konkret. Der Agent muss nicht aus der Chat-Historie rekonstruieren, welcher Vorgang gemeint war. Das System kann mit `offer_id=O-2026-1842` laden: aktueller Entwurf, verwendete Quellen, berechnete Rabatte, offene Annahmen, letzte Tool-Resultate, Freigabestatus und Audit-Log. Der Agent bekommt nur den Zustand, der für den nächsten Schritt notwendig ist.

So wird eine Multi-Step-Pipeline testbar. Man kann einen Schritt erneut ausführen, ohne den ganzen Chat nachzubauen. Man kann prüfen, ob die Preisliste zum Zeitpunkt der Kalkulation gültig war. Man kann verhindern, dass zwei parallele Agenten denselben Entwurf überschreiben. Und man kann einen Menschen genau dort einbinden, wo der Prozess eine Entscheidung braucht.

Retrieval ist kein Memory

Viele Systeme verwechseln Retrieval mit Memory. Eine Vektordatenbank, ein Dokumentenindex, Azure AI Search oder ein MCP Resource Server sind keine Erinnerung des Agenten. Sie sind externe Wissensquellen. Der Agent ruft sie ab, wenn sie für die Aufgabe relevant sind.

Diese Trennung ist wichtig. Externes Wissen bleibt in kontrollierten Systemen: Datenbanken, Dokumentenablagen, Fachanwendungen, APIs. Memory dagegen enthält verdichtete, agentennahe Informationen. Wenn man beides vermischt, verschwimmen Berechtigungen und Datenverantwortung.

Genau hier wird MCP interessant. Resources liefern Kontext aus Anwendungen, Datenbanken oder Dateien. Tools führen Aktionen aus. Memory sollte nicht unbemerkt als Nebenprodukt eines Tool-Aufrufs entstehen, sondern als explizite Designentscheidung mit klarer Grenze zum Quellsystem.

Lifecycle von Agent State: erfassen, verdichten, nutzen, prüfen, persistieren, vergessen, versionieren und auditieren.
State Management ist ein Lifecycle. Gute Agenten müssen Zustand erzeugen, nutzen, prüfen, speichern, vergessen und auditierbar machen.

Was Microsoft dafür bietet

Für .NET- und Azure-nahe Architekturen ist der Microsoft-Stack hier relevanter, als der erste Artikel gezeigt hat. Semantic Kernel bringt mit dem Agent Framework die Agentenabstraktion in eine Anwendungsschicht, in der Chat-Verlauf, Tools, Agentenrollen und Orchestrierung bewusst modelliert werden können. Mit Whiteboard Memory gibt es außerdem ein Kurzzeit-Memory-Muster, bei dem Anforderungen, Vorschläge, Entscheidungen und Aktionen aus einer Unterhaltung extrahiert und bei späteren Aufrufen wieder als Kontext bereitgestellt werden.

Das ist kein Ersatz für ein vollständiges Prozessmodell, aber ein brauchbares Muster: Nicht der ganze Chat wird blind weitergeschleppt, sondern relevante Arbeitsinformationen werden verdichtet. Im Angebotsprozess wären das zum Beispiel: Kunde möchte Monatsabrechnung, Rabattgrenze ist noch offen, Legal-Freigabe fehlt, Angebotsversion 3 ist aktuell.

Azure AI Foundry ergänzt diese Ebene stärker von der Plattformseite. File Search und Vector Stores helfen, proprietäre Dokumente, Produktinformationen oder Vertragsgrundlagen als abrufbares Wissen an Agenten anzubinden. In der Standard-Variante liegen Dateien und Search-Ressourcen in den eigenen Azure-Ressourcen wie Azure Blob Storage und Azure AI Search. Das ist für Enterprise-Szenarien wichtig, weil Retrieval damit nicht zu einem unkontrollierten Memory-Ersatz wird, sondern in Datenhaltung, Zugriff und Betrieb eingebettet bleibt.

Die praktische Architektur ist damit klarer: Semantic Kernel oder ein Agent Framework verwaltet Agentenlogik, Threads, Tool-Aufrufe und verdichteten Arbeitskontext. Azure AI Foundry und Azure AI Search liefern kontrolliertes externes Wissen. Die eigene Anwendung hält Prozesszustand über IDs wie `offer_id`, `case_id` oder `task_id`. Erst diese Trennung macht den Agenten betrieblich sauber.

Langzeit-Memory muss bewusst klein bleiben

Langzeit-Memory ist nützlich, wenn es stabile, wiederverwendbare Information enthält. Im Angebotsbeispiel kann das eine bestätigte Kundenpräferenz sein, eine dauerhaft gültige Formatvorgabe oder eine Projektkonvention. Es sollte aber nicht die Preisliste ersetzen, nicht den Angebotsentwurf duplizieren und nicht jede Zwischenüberlegung des Agenten speichern.

Die Leitlinie ist einfach: Wenn eine Information aus einem Quellsystem gelesen werden kann, bleibt sie dort. Wenn sie nur für den aktuellen Vorgang gilt, gehört sie in den Arbeitszustand. Wenn sie eine fachliche Entscheidung dokumentiert, gehört sie in den Prozesszustand und das Audit-Log. Nur wenn sie wiederholt nützlich, stabil und sauber zugeordnet ist, verdient sie den Namen Memory.

Mein Fazit

Memory und State Management sind keine Komfortfunktionen. Sie sind die Grundlage dafür, dass KI-Agenten über mehrere Schritte hinweg zuverlässig arbeiten können. Ohne klares Zustandsmodell bleibt Agentik eine Demo. Mit sauberem State Management wird daraus ein kontrollierbarer Arbeitsprozess.

Für mich ist die wichtigste Verschiebung: Wir bauen nicht Agenten mit mehr Gedächtnis. Wir bauen Prozesse, in denen Zustand explizit, begrenzt, überprüfbar und fortsetzbar ist. Das ist weniger spektakulär als ein Agent, der sich scheinbar alles merkt. Aber es ist die Voraussetzung dafür, dass Agenten in echten Geschäftsprozessen bestehen.

Wer diese Frage sauber beantwortet, baut nicht nur bessere Agenten. Er baut Agenten, die in echten Geschäftsprozessen bestehen können.

Weiterführende Quellen

KI-Agenten Memory State Management Context Engineering MCP Enterprise AI Governance
Artikel teilen oder für später merken. Auf LinkedIn teilen