Erstellen eines Ereignisses
Ereignisse sind die grundlegenden Kurzzeiteinheiten, aus denen strukturierte Informationen in das Langzeitgedächtnis des Gedächtnisses extrahiert werden. AgentCore Mit dieser CreateEventOperation können Sie verschiedene Datentypen im AgentCore Speicher speichern, die nach einem Akteur und einer Sitzung geordnet sind. Ereignisse werden innerhalb des Speichers wie folgt zusammengefasst:
- ActorId
-
Identifiziert die mit dem Ereignis verknüpfte Entität, z. B. Endbenutzer oder Kombinationen agent/user
- SessionId
-
Gruppiert verwandte Ereignisse, wie z. B. eine Konversationssitzung
Der CreateEvent Vorgang speichert ein neues unveränderliches Ereignis innerhalb einer angegebenen Speichersitzung. Ereignisse stellen einzelne Informationen dar, an die sich Ihr Agent erinnern möchte, z. B. Konversationsnachrichten, Benutzeraktionen oder Systemereignisse.
Diese Operation ist nützlich für:
-
Aufzeichnung des Konversationsverlaufs zwischen Benutzern, Agenten und Tools
-
Speichern von Benutzerinteraktionen und -verhalten
-
Erfassung von Systemereignissen und Statusänderungen
-
Erstellung einer chronologischen Aufzeichnung der Aktivitäten innerhalb einer Sitzung
Ein Beispielcode finden Sie unter Szenario: Ein KI-Agent für den Kundensupport, der AgentCore Memory verwendet.
Payload-Typen für Ereignisse
Der payload Parameter akzeptiert eine Liste von Nutzdatenelementen, sodass Sie verschiedene Datentypen in einem einzigen Ereignis speichern können. Zu den gängigen Payload-Typen gehören:
- Konversationell
-
Zum Speichern von Konversationsnachrichten mit Rollen (z. B. „Benutzer“ oder „Assistent“) und Inhalten.
- Blob
-
Zum Speichern von Daten im Binärformat, wie Bildern und Dokumenten, oder Daten, die nur für Ihren Agenten bestimmt sind, z. B. Daten, die im JSON-Format gespeichert sind.
Anmerkung
Derzeit fließen nur Konversationsdaten in das Langzeitgedächtnis.
Verzweigung von Ereignissen
Mit diesem branch Parameter können Sie Ereignisse mithilfe erweiterter Verzweigungen organisieren. Dies ist nützlich für Szenarien wie die Bearbeitung von Nachrichten oder alternative Konversationspfade. Nehmen wir zum Beispiel an, Sie führen eine lange Konversation und stellen fest, dass Sie daran interessiert sind, eine alternative Konversation zu erkunden, die vor 5 Nachrichten stattgefunden hat. Sie können den branch Parameter verwenden, um mit dieser Nachricht, die im neuen Zweig gespeichert ist, eine neue Konversation zu beginnen. Auf diese Weise können Sie auch zur ursprünglichen Konversation zurückkehren. Und etwas banaler: Dies ist nützlich, wenn Sie Ihrem Benutzer die Möglichkeit geben möchten, seine letzte Nachricht zu bearbeiten (falls der Benutzer zu früh die Eingabetaste drückt oder einen Tippfehler hat) und die Konversation fortsetzen möchten.
Wenn Sie einen Zweig erstellen, geben Sie Folgendes an:
- name
-
Ein beschreibender Name für den Branch, z. B. „edited-conversation“.
- RootEventId
-
Die ID des Ereignisses, aus dem der Zweig stammt.
Hier ist ein Beispiel für die Erstellung eines verzweigten Ereignisses zur Darstellung einer bearbeiteten Nachricht:
{ "memoryId": "mem-12345abcdef", "actorId": "/agent-support-123/customer-456", "sessionId": "session-789", "eventTimestamp": 1718806000000, "payload": [ { "Conversational": { "content": "I'm looking for a waterproof action camera for extreme sports.", "role": "user" } } ], "branch": { "name": "edited-conversation", "rootEventId": "evt-67890" } }