Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AgentCoreMemory_FinJAWS

Avatar for Koheiawa Koheiawa
March 31, 2026
4

 AgentCoreMemory_FinJAWS

Avatar for Koheiawa

Koheiawa

March 31, 2026
Tweet

Transcript

  1. AgentCore Memory の基礎 -概観- AIエージェントのデータ分離 エージェント メモリ抽出モジュール エージェントの実装 Events Messages

    Agent State Retrieve Events Retrieve Memory records エージェントのメモリ 短期メモリ Chat Messages Session State 長期メモリ Semantic User Preferences Summary ①Eventsというエージェントの 実行履歴・会話履歴を短期メモリに保存 ②短期メモリから Events を抽出 ③メモリ戦略に基づいて、LLMで変換 したベクトルデータを長期メモリに保存 ⑤長期記憶のベクトル検索 ④短期記憶の取得
  2. AgentCore Memory の基礎 -短期メモリと長期メモリ- AIエージェントのデータ分離 短期メモリ ✓ 生のインタラクションデータを不変のイベントとしてキャプチャ ✓ 会話型:USER/ASSISTANT/TOOLなどのメッセージタイプ

    ✓ BLOB型:チェックポイントやエージェントの状態を保存するために使用できるバイナリコンテンツ ※会話型のみが長期メモリ抽出に使用される
  3. メモリのデータ分離の重要性 AIエージェントのデータ分離 なぜデータ分離が重要? ✓ ユーザ間での記憶の混同が起こる ✓ Aさんが言った内容をBさんが言ったものと取り違える ✓ 長期メモリは短期メモリから抽出されるため、長期メモリの汚染が起こる ✓

    セキュリティとプライバシーの欠如 ✓ Aさんの機密情報(口座番号や住所)がBさんの回答に混入するリスク ✓ 長期メモリの質の低下 ✓ 分離が不十分だと複数のユーザの情報が混ざり、平均化された無意味な「好み」しか残らなくなる
  4. メモリのデータ分離の重要性 AIエージェントのデータ分離 なぜデータ分離が重要? ✓ ユーザ間での記憶の混同が起こる ✓ Aさんが言った内容をBさんが言ったものと取り違える ✓ 長期メモリは短期メモリから抽出されるため、長期メモリの汚染が起こる ✓

    セキュリティとプライバシーの欠如 ✓ Aさんの機密情報(口座番号や住所)がBさんの回答に混入するリスク ✓ 長期メモリの質の低下 ✓ 分離が不十分だと複数のユーザの情報が混ざり、平均化された無意味な「好み」しか残らなくなる メモリを利用する際はデータ分離の検討が最優先事項
  5. 短期メモリのデータ分離 AIエージェントのデータ分離 短期メモリは3つのIDを持つ 1. memoryId : 新しいメモリリソースを作成すると自動的に作成される 2. actorId :

    システム内のエンティティ(ユーザ、エージェント、プロジェクト)を識別する 3. sessionId : セッション自体の識別子(短期メモリはセッション単位でグルーピングされる)
  6. 短期メモリのデータ分離 AIエージェントのデータ分離 短期メモリは3つのIDを持つ 1. memoryId : 新しいメモリリソースを作成すると自動的に作成される 2. actorId :

    システム内のエンティティ(ユーザ、エージェント、プロジェクト)を識別する 3. sessionId : セッション自体の識別子(短期メモリはセッション単位でグルーピングされる) memoryId と sessionId は自動作成
  7. 短期メモリのデータ分離 AIエージェントのデータ分離 短期メモリは3つのIDを持つ 1. memoryId : 新しいメモリリソースを作成すると自動的に作成される 2. actorId :

    システム内のエンティティ(ユーザ、エージェント、プロジェクト)を識別する 3. sessionId : セッション自体の識別子(短期メモリはセッション単位でグルーピングされる) actorId は自分で定義
  8. 短期メモリのデータ分離 AIエージェントのデータ分離 短期メモリは3つのIDを持つ 1. memoryId : 新しいメモリリソースを作成すると自動的に作成される 2. actorId :

    システム内のエンティティ(ユーザ、エージェント、プロジェクト)を識別する 3. sessionId : セッション自体の識別子(短期メモリはセッション単位でグルーピングされる) actorId は自分で定義 メモリは actorId で分離する
  9. 短期メモリのデータ分離 AIエージェントのデータ分離 { "iss": "https://login.microsoftonline.com/91234567-89ab-cdef-0123-456789abcdef/v2.0", "tid": "91234567-89ab-cdef-0123-456789abcdef", // テナントID "oid":

    "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", // ユーザーのオブジェクトID "sub": "XyZ...base64...", // ユーザー識別子 "upn": "[email protected]", // ユーザー名 "name": "Kouhei Awagakubo", "roles": ["Department_Sales", "Agent_User"], // ロール "groups": ["88888888-4444-4444-4444-121212121212"], // グループID "extension_department": "Sales_Dev_Tokyo", // カスタム属性 "ver": "2.0", "iat": 1718806000, "exp": 1718810000 } エンプラ御用達の EntraID におけるJWTトークンのサンプル actorId はJWTトークン内の要素を組み合わせてユニークなものを作成する ✓ actorId はデータベースにおける主キーのようなもの
  10. 短期メモリのデータ分離 AIエージェントのデータ分離 actorId はJWTトークン内の要素を組み合わせてユニークなものを作成する ✓ actorId はデータベースにおける主キーのようなもの { "iss": "https://login.microsoftonline.com/91234567-89ab-cdef-0123-456789abcdef/v2.0",

    "tid": "91234567-89ab-cdef-0123-456789abcdef", // テナントID "oid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", // ユーザーのオブジェクトID "sub": "XyZ...base64...", // ユーザー識別子 "upn": "[email protected]", // ユーザー名 "name": "Kouhei Awagakubo", "roles": ["Department_Sales", "Agent_User"], // ロール "groups": ["88888888-4444-4444-4444-121212121212"], // グループID "extension_department": "Sales_Dev_Tokyo", // カスタム属性 "ver": "2.0", "iat": 1718806000, "exp": 1718810000 } エンプラ御用達の EntraID におけるJWTトークンのサンプル actorId → ${tid}:${oid}
  11. 長期メモリのデータ分離 AIエージェントのデータ分離 長期メモリは namespaces で分離する "namespaces": [“/strategy/{strategyId}/actor/{actorId}/session/{sessionId}”] 1. actorId :

    処理中のイベントのアクター識別子(短期メモリの actorId と同様) 2. sessionId : イベントからのセッション識別子(短期メモリの sessionId と同様) 3. strategyId : 組織の抽出戦略識別子
  12. 長期メモリのデータ分離 AIエージェントのデータ分離 長期メモリは namespaces で分離する "namespaces": [“/strategy/{strategyId}/actor/{actorId}/session/{sessionId}”] 1. actorId :

    処理中のイベントのアクター識別子(短期メモリの actorId と同様) 2. sessionId : イベントからのセッション識別子(短期メモリの sessionId と同様) 3. strategyId : 組織の戦略識別子 長期メモリでも actorId を利用 すれば同様にデータ分離が可能