イベントを作成する
イベントは、構造化された情報が AgentCore Memory の長期メモリに抽出される短期の基本的な単位です。CreateEvent オペレーションを使用すると、アクターとセッション別に整理されたさまざまなタイプのデータを AgentCore Memory に保存できます。イベントの範囲は、以下のメモリ内にあります。
- ActorId
-
エンドユーザーやエージェント/ユーザーの組み合わせなど、イベントに関連付けられたエンティティを識別します
- SessionId
-
会話セッションなどの関連イベントをグループ化する
CreateEvent オペレーションは、指定されたメモリセッション内に新しいイミュータブルイベントを保存します。イベントは、会話メッセージ、ユーザーアクション、システムイベントなど、エージェントが記憶したい個々の情報を表します。
このオペレーションは、次の場合に便利です。
-
ユーザー、エージェント、ツール間の会話履歴の記録
-
ユーザーとのやり取りと動作の保存
-
システムイベントと状態変更のキャプチャ
-
セッション内のアクティビティの時系列レコードの構築
コード例については、「シナリオ: AgentCore Memory を使用するカスタマーサポート AI エージェント」を参照してください。
イベントペイロードタイプ
payload パラメータはペイロード項目のリストを受け入れ、1 つのイベントにさまざまなタイプのデータを保存できます。一般的なペイロードタイプは次のとおりです。
- 会話型
-
ロール (「ユーザー」や「アシスタント」など) とコンテンツを含む会話メッセージを保存する場合。
- blob
-
イメージやドキュメントなどのバイナリ形式のデータ、または JSON 形式で保存されるデータなど、エージェントに固有のデータを保存する場合。
注記
現在、会話データのみが長期メモリに流れます。
イベントの分岐
branch パラメータを使用すると、高度な分岐を通じてイベントを整理できます。これは、メッセージ編集や代替会話パスなどのシナリオに役立ちます。例えば、長時間の会話があり、5 つ前のメッセージから別の会話を試したいと考えているとします。branch パラメータを使用して、新しいブランチに保存されているそのメッセージから新しい会話を開始できます。これにより、元の会話に戻ることもできます。また、より日常的には、ユーザーが最新のメッセージを編集し (ユーザーが早く入力を押すか、タイプミスがある場合)、会話を続行できるようにする場合に便利です。
ブランチを作成するときは、以下を指定します。
- name
-
「編集済み会話」など、ブランチのわかりやすい名前。
- rootEventId
-
ブランチの送信元のイベントの ID。
編集されたメッセージを表すブランチイベントを作成する例を次に示します。
{ "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" } }