AWS Amarathon 2025 振り返り

「マッチング」から「理解」へ: AgentCore Memory が実現するパーソナライズド AI 検索の実践

振り返りシリーズ

セッションノート

検索

検索エンジンのアーキテクチャフロー

入力:

  • クエリ取得方法(クエリから):
  • 転置インデックスに基づく字句マッチング
  • アイテムベースの協調フィルタリング
  • 埋め込みベースの取得 マージステージ: 3つの取得方法の出力を次に統合:
  • 重複のない順不同の商品セット ランキングステージ:
  • 事前ランキング
  • 関連性ランキング
  • ランキング ミックスランキングへの追加入力:
  • 広告
  • コンテンツメディア 最終ランキングステージ:
  • ミックスランキング —- セマンティックマッチングを使用して商品マッチングを強化するシステムアーキテクチャ 入力:
  • クエリマッチングコンポーネント:
  • 行動データ
  • キーワードマッチング
  • セマンティックマッチング データフロー:
  • クエリをキーワードマッチングとセマンティックマッチングに入力
  • 行動データがランキングに行動シグナルを提供
  • キーワードマッチングと行動データが順不同のマッチセットを形成
  • セマンティックマッチングがランキングに意味的類似度スコアを提供 処理ステージ:
  • ランキング出力:
  • 順序付けされた商品リスト —- LLM エージェントのワークフロー 処理フロー:
  • クエリ -->LLM -->計画
  • 計画 -->LLM -->アクション
  • アクション -->「計画は完了したか?」(判断ポイント)
  • 「はい」の場合 -->LLM -->回答を完成
  • 「いいえ」の場合 -->「アクション」に戻る(LLM ステップを経由) 判断ロジック:
  • LLM を使用して計画が完了したかを判断。相違点 01 従来型検索
  • キーワードマッチングに依存
  • ウェブページのリンク重みによるランキング
  • 目標は大量の情報を迅速に取得すること 02 AI 検索
  • 意味理解
  • 関連情報をベクトル + キーワードに注入
  • 大規模モデルが情報を組み立てる
  • 目標はユーザーの質問に正確に回答すること

メモリ

コンテキストストレージを備えた LLM のアーキテクチャ

主要コンポーネント

  • ユーザー
  • チャット APP
  • LLM(ステートレス)
  • コンテキストストレージのワークフロー
  • メッセージを送信(ユーザーからチャット APP へ)
  • 完全なコンテキストを渡す(チャット APP から LLM へ)
  • レスポンスを返す(LLM からチャット APP へ)
  • 履歴を保存(チャット APP からコンテキストストレージへ)
  • 結果を返す(チャット APP からユーザーへ) コンテキストストレージの内容
  • システムプロンプト
  • ラウンド 1: ユーザーの質問
  • ラウンド 1: AI の回答
  • ラウンド 2: ユーザーの質問
  • ラウンド 2: AI の回答 —- エージェント型システムのアーキテクチャ
  • LLM を使用して会話から得たメモリとナレッジグラフを管理: データフローと抽出
  • 入力: 会話(メッセージ)がシステムに入力される。
  • 抽出 LLM: 大規模言語モデルがメッセージを処理し、構造化データを生成する。
  • 出力: 「新しいメモリ」と「新しいエンティティおよび関係」。ストレージコンポーネント
  • ベクトルデータベース: 取得と更新のために「既存 + 新しいメモリ」を保存。
  • グラフデータベース: 更新のために「既存 + 新しいエンティティおよび関係」を保存。更新と管理
  • 更新 LLM: 2つ目の LLM がデータベースへのデータ更新を管理。
  • 機能: 両方のデータベースの「ストア更新」を管理。
  • 操作: 保存データに対する明示的な「追加」、「削除」、「更新」アクションを含む。全体目標
  • メモリの追加: システム全体が会話コンテキストと抽出された知識の永続的な保存と管理を実現。—- 拡張コンテキストストレージシステムのコンポーネントと定義
  • システムプロンプト: システムの指示または設定。
  • 対話履歴: 会話の記録。
  • ツール定義: AI エージェントが利用できる関数。
  • weather_api(): location, date が必要
  • calculator(): expression が必要
  • 思考: エージェントの推論プロセス。メモリとの連携
  • 抽出(思考からメモリへ)
  • バックフィル(メモリから思考へ)
  • メモリ: 長期または短期の知識ベース。ワークフロー例: 「天気を照会(華氏)」
  • ユーザー: 天気を照会(華氏)
  • AI: weather API を呼び出す必要がある
  • ツール使用履歴:
  • 呼び出し: weather_api(location='Beijing', date='today')
  • 戻り値: {'temperature': 25, 'condition': 'sunny'}
  • 呼び出し: calculator(expression='25*1.8+32')
  • 戻り値: 77 利点:
  • 長期保持と効率的な管理
  • 継続的な知識更新
  • パーソナライズされたサービス
  • 複雑なタスクのサポート
  • インタラクション品質の向上
  • ステートレスからステートフルへ

AgentCore Memory

Amazon Bedrock AgentCore

  • インフラストラクチャを管理することなく、任意のフレームワークとモデルを使用し、高パフォーマンスのエージェントを大規模かつ安全に構築、デプロイ、運用。コンポーネント
  • ランタイム
  • メモリ
  • アイデンティティ
  • ゲートウェイ
  • コードインタープリター
  • ブラウザツール
  • オブザーバビリティ 簡素化されたメモリシステム管理
  • メモリインフラストラクチャを抽象化
  • 自動スケーリングに対応するサーバーレスアーキテクチャに基づく
  • 複数セッションにわたるエージェントのコンテキスト情報を自動的に保存および管理 エンタープライズレベルのサービス
  • 顧客ごとに専用ストレージを提供し、データプライバシーを完全に保証
  • エンタープライズレベルのセキュリティ要件を満たす暗号化保護とリージョン別データストレージを提供 高度なカスタマイズ
  • 特定のアプリケーションシナリオに応じてメモリモードをカスタマイズ
  • 長期メモリの抽出ルールを設定
  • 適切なモデルを選択し、プロンプト文をカスタマイズして長期メモリの抽出効果を最適化 —- エージェントメモリのコンポーネント エージェントコア:
  • エージェントの推論
  • エージェントの状態
  • ナレッジコンポーネント
  • ツール呼び出し
  • ポリシー定義 短期メモリ:
  • コンテキストウィンドウ
  • 会話履歴
  • ツール呼び出し履歴 長期メモリ:
  • イベントの要約
  • ユーザープロファイル情報
  • ドキュメント情報 接続:
  • 保存 - エージェントコアとメモリコンポーネントの間
  • 取得 - メモリコンポーネントと自動メモリ取得モジュールの間
  • 自動メモリ取得モジュール

Amazon Bedrock AgentCore Memory を使用したエージェントのアーキテクチャと利点

エージェントの機能

  • インテリジェントエージェントは、複雑なユーザーニーズ(例: 「デザインソフトウェアが動作する大学生向けの 5000 元以下のノートパソコンを推奨」)を複数の並列サブタスクに自動的に分解。
  • サブタスクの例: 「大学生の利用シナリオ分析」、「予算フィルタリング」、「ソフトウェア動作要件のマッチング」。AgentCore Memory の利点
  • AgentCore Memory の長期メモリが持つ技術的優位性を活用。
  • エージェントの開発プロセスを大幅に高速化。
  • 実際の用途で複数の価値を実現:
  • ユーザープロファイルに基づくスマート検索のトークン使用量を大幅に削減。
  • 検索結果の正確性を効果的に向上。
  • 技術的競争力とコスト効率において大きな飛躍をもたらす。システム図のフロー
  • ユーザークエリがエージェントランタイム環境(Strands Agents)につながる。Strands Agents は次と連携:
  • ツール(ユーザー設定の取得)
  • Amazon Bedrock LLM(出力を処理)
  • AgentCore Memory AgentCore Memory が管理:
  • 短期メモリ(インタラクションイベント)
  • 自動メモリ抽出
  • 長期メモリ(ユーザー設定)
  • このプロセスにより、ユーザーへのエージェントレスポンスが生成される。