AIエージェントメモリの話

5.8K Views

November 12, 25

スライド概要

JAWS-UG朝会 #75の発表資料です。(https://jawsug-asa.connpass.com/event/368123/)

profile-image

東京都内でエンジニアをしています

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

AIエージェントのメモリの話 JAWS-UG朝会 #75 2025.11.12 aki.ts@HedgehogPython

2.

Ueda Syoitu ハリネズミ・aki.ts KDDIアジャイル開発センター

3.

Agenda AIエージェントのメモリとは Amazon Bedrock Agentsのメモリ MastraのAIエージェントメモリ AgentCore Memoryについて MastraでのAgentCore Memory活用 これからのAIエージェントメモリ KDDI Agile Development Center Corporation

4.

そもそもAIエージェントのメモリとは KDDI Agile Development Center Corporation ‹#›

5.

AIエージェントのメモリとは そもそもAIエージェントには記憶が存在しない 必要な情報を適切なタイミングでLLMのコンテキストウィンドウに入れてるだけ メモリストレージ 海馬 人間の脳 コンテキストウィンドウ 推論で擬似的に 記憶を再現 大脳皮質 扁桃体 小脳 KDDI Agile Development Center Corporation

6.

Amazon Bedrock Agentsのメモリ Amazon Bedrock Agentsのプレビュー出たのが2023年7月 AIエージェント黎明期のサービス マネコン上、もしくはCDKなどを 使ってメモリを有効化することができる KDDI Agile Development Center Corporation

7.

Amazon Bedrock Agentのメモリ memoryIdとsessionIdという2つの識別子を使って機能を実現してる memoryId: ユーザー単位でメモリレコードを識別する識別子 sessionId: 個別の会話セッションを識別する識別子 セッション内の会話内容 は要約され、メモリスト レージに保存されます 好きな飲み物を当て てください! 田中さんはコーヒー がお好きですね! 一見よさそうですが https://aws.amazon.com/jp/blogs/news/agents-for-amazon-bedrock-now-support-memory-retention-and-code-interpretation-preview/ KDDI Agile Development Center Corporation

8.

Amazon Bedrock Agentsのメモリ Bedrock Agentsがメモリストレージに対して、検索機能を提供しているが 各セッションの会話履歴を永続化する機能はない。 クライアントからDynamoDBを呼び出し、 各セッションの履歴を保存する。 sessionId memoryId contents session123 memory12 {...} 会話再開時に、最新のメッセージをいく つか取り出してコンテキストウィンドウ に追加する。 KDDI Agile Development Center Corporation

9.

現在のAIエージェントのメモリ userIdとsessionIdという2つの識別子を使ってメモリを管理するのが一般的である。 ストレージにメッセージ履歴を保存することで、一人のユーザーが複数のセッションを 持つことができる。各セッションには会話履歴が全文保存される。 userId: hoge123 ストレージを使うことが前提条件である sessionId userId contents session123 hoge123 {...} session124 hoge123 {...} KDDI Agile Development Center Corporation

10.

現在のAIエージェントのメモリ 会話履歴として保持するメッセージ数を設定で きるが、メッセージ数が増えるとトークン消費 の増加や文脈の曖昧化といった問題が生じる。 長期メモリ: 過去のメッセージをベク トル化し、ベクトル検索 短期メモリ: 指定された数分のメッセ ージストレージから取得 結果として、ストレージでの履歴管理・ 短期メモリ・長期メモリという3層構造が一般的なアーキテクチャとなっている。 KDDI Agile Development Center Corporation

11.

MastraのAIエージェントメモリ KDDI Agile Development Center Corporation ‹#›

12.

MastraのAIエージェントメモリ userId(resourceId)とsessionId(threadId)を識別子として、 メモリ用のストレージを付与することで、メモリ機能を有効化できる。 Mastraインスタンス AIエージェント定義 KDDI Agile Development Center Corporation

13.

MastraAIエージェントメモリの種類 短期メモリ 会話履歴 指定された数の最新メッセージをストレージから取得することで、 対話の流れを維持する。 長期メモリ セマンティックリコール ベクトル検索により、過去の会話から意味的に関連する メッセージとその周囲の文脈を取得する。 埋め込みモデル必要 長期メモリ ワーキングメモリ 会話全体にわたってユーザーに関する情報を永続的に維持 することを可能。 KDDI Agile Development Center Corporation

14.

MastraのAIエージェントワーキングメモリ 会話中に必ず記憶させたい内容をテンプレートで定義できる。 AIエージェントが会話を重ねるたびに、内容に応じて自動で更新する。 キミガタリのAI編集者 との壁打ち機能 https://mastra.ai/docs/memory/working-memory/ KDDI Agile Development Center Corporation

15.

Amazon Bedrock AgentCore Memory 2025年7月にプレビュー公開され、 10月にGAとなったマネージドのAIエージェント用メモリサービス 豊富なAPIであらゆる ユースケースに対応できる。 actorId(userId)とsessionIdによる識別 子管理に加え、短期記憶と長期記憶の概念を 備えている。 ストレージはマネージドで提供され、長期記 憶を使う場合埋め込みモデルも組み込まれて いる。 LangGraph/Strands Agentsとの統合、AgentCore SDK、AWS SDKのドキュメントを公開中 KDDI Agile Development Center Corporation

16.

MastraでのAgentCore Memory活用 工夫は必要ですが、MastraでもAgentCore Memoryを利用可能 ヒントはLangGraphの ドキュメント メモリリソースでイベントの 作成、検索、長期記憶のベクト ル検索ができれば実現可能です https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory-integrate-lang.html KDDI Agile Development Center Corporation

17.

MastraでのAgentCore Memory活用 AWS SDK(JavaScript)版にメモリイベントの 作成、検索長期記憶のベクトル検索のコマンドが存在する コマンドをツール化して Mastra製のAIエージェン トに渡す KDDI Agile Development Center Corporation

18.

MastraでのAgentCore Memory活用 Mastraのツールを定義し、中からAWS SDKを呼び出す イベント作成ツール イベント取得ツール 長期メモリの検索ツール KDDI Agile Development Center Corporation ツールをAIエージェ ントに追加して、使 い方を記載する

19.

MastraでのAgentCore Memory活用 AIエージェントがチャット中にメモリへのアクセスが必要と判断した 際に、ツールを使ってAgentCore Memoryにアクセスします このアーキテクチャを使 うかどうかは個人の判断 でお願いします 使用してるコード公開中 https://github.com/huanshenyi/mastra-core-memory KDDI Agile Development Center Corporation

20.

これからのAIエージェントメモリの話 現在のメモリ構成には限界がある。 膨大なメモリ情報に対して精度が十分に出ず、通常のRAGと同様の課題を抱えている。 通常のGraphRAGを使用した場合も、タイムラインが存在する情報の処理には弱い。 Temporal Knowledge Graph 時間認識型Knowledge Graph エッジに時間情報 が存在する Grahhitiを利用すればAWS Neptuneでも試せる KDDI Agile Development Center Corporation 詳細はまだ別の機会で

21.

Be a Change Leader. アジャイルに力を与え 共に成長し続ける社会を創る