エージェントへのメモリの追加

AIエージェントの構築には、単なるモデル以上のものが必要です。ユーザーが誰であるかを記憶する方法が必要なのです。

AWS Briefing Agentの構築に関するシリーズの中で、私はステートレスなインタラクションからパーソナライズされた体験へと移行する方法を模索しています。

標準的なmicroVMの問題点は、それらがステートレスであることです。セッションが終了すると、環境は破棄されます。これによりデータの漏洩は防げますが、同時にエージェントがすべてを忘れてしまうことも意味します。メモリがなければ、ユーザーはログインするたびに毎回好みを伝え直さなければなりません。

私はこれを、AgentCore MemoryとStrands Agentsを使用して解決しました。

アーキテクチャの仕組みは以下の通りです:

データを安全に保つため、システムは名前空間(namespaces)を使用します。{actorId}変数を使用することで、あるユーザーのデータが別のユーザーのセッションに漏洩しないようにしています。

また、安全な認証のためにAWS Cognitoを統合しました。エージェントはJWTトークンを検証して身元を確認します。検証されると、システムはトークンから一意の 'sub' クレームを抽出します。このIDがactor_idとなり、エージェントはこれを使用して正しいメモリレコードを取得します。

統合はシームレスです。AgentCoreMemorySessionManagerを使用することで、エージェントは自動的に以下の操作を行います:

その結果、パーソナライズされた感覚を持つエージェントが実現しました。ユーザーが何度も同じことを繰り返すことなく、ユーザーの専門知識レベルや特定のAWSへの関心を理解してくれます。

Source: https://dev.to/aws-heroes/adding-memory-to-the-agent-181k

Optional learning community: https://t.me/GyaanSetuAi