AIの鬼
#業務ツール Zenn AI

AgentCore Memory の IngestData API で既存の AI チャットアプリに長期記憶を後付けしてみた

AgentCore Memory の IngestData API で既存の AI チャットアプリに長期記憶を後付けしてみた(内容を表す図ではないイメージ画像)
イメージ

既存の AI チャットアプリに「前に話したことを覚えていてほしい」という要望をもらう企業は多いです。その際、Amazon Bedrock AgentCore Memory は有力な候補ですが、実装には落とし穴がありました。AgentCore Memory には短期記憶と長期記憶の2つの仕組みがあり、従来は CreateEvent で短期記憶イベントを作らないと、長期記憶の抽出が始まりませんでした。すると、会話履歴が RDS や DynamoDB といった既存のデータベースと AgentCore の両方に保存される二重管理になり、保持期間やクリーンアップポリシーの設計が複雑になります。さらに、AgentCore Memory を作成した後の会話履歴しか抽出対象にならないため、これまでの蓄積を活かせません。

9月に、この課題を解く API「IngestData」が正式公開されました。このAPI は、短期記憶イベントを作らずに、抽出済みの内容だけを直接長期記憶のパイプラインに渡すものです。既存のチャットアプリは RDS や DynamoDB に会話履歴を保存し続け、AgentCore Memory には抽出後のレコード(ユーザーの好みや事実、セマンティック検索可能な形式)だけを持たせる構成が組めます。つまり、データベースを正として扱い続けながら、メモリー機能だけを足せるわけです。実装としては、定期的にアプリのデータベースから会話履歴を読み込んで IngestData で送り込むバッチジョブを作るだけで、履歴の二重管理は避けられます。

実装例を見ると、IngestData は CreateEvent と似た形式ですが、イベント識別子や分岐の指定がなく、payload は source.inline のみという構造です。呼び出す側は既存の会話テーブルを読んで、配列形式に変換して渡すだけです。抽出に失敗したジョブは ListMemoryExtractionJobs で確認し、再実行もできます。中小企業が既に動いている AI チャットアプリに長期記憶を足したい場合、従来は複雑な再構築が必要でしたが、IngestData API の登場で、段階的な改修が可能になりました。

※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。

御社でもAIを使ってみませんか
まずはここから 御社でもAIを使ってみませんか? 御社の実際の業務を題材に、AIで何ができるかを一緒に考えます。 「ChatGPTの使い方」を教えるだけの研修ではありません。 AI研修・AI活用相談 →