OWN NEWS GATHER
← 戻る
AWS ML Blog

AWS、NVIDIA NeMo Agent ToolkitとAmazon S3 Vectorsを連携させたエージェント向け永続メモリ実装手法を公開

要点

  • AWSは公式ブログで、オープンソースフレームワーク「NVIDIA NeMo Agent Toolkit」と「Amazon S3 Vectors」を組み合わせたAIエージェント向け永続メモリの構築手法を解説した。

  • NVIDIA NeMo Agent Toolkitは、エージェントのオーケストレーション、プロファイリング、評価、ハイパーパラメータ最適化を網羅する開発基盤である。

  • 同ツールキットのメモリサブシステムは拡張可能な設計となっており、抽象インターフェース「MemoryEditor」を通じてカスタムプロバイダを追加できる。

  • 「Amazon S3 Vectors」をメモリ層に採用することで、強い一貫性やメタデータ管理、数十億ベクトル規模へのスケーラビリティを低コストで確保可能となる。

  • システムの運用環境として「Amazon Elastic Kubernetes Service(EKS)」を採用し、投資リサーチのマルチエージェントを題材とした実装例が示された。

  • アマゾン ウェブ サービス(AWS)は2026年10月1日、公式の機械学習ブログ「AWS ML Blog」において、オープンソースのAIエージェント開発フレームワーク「NVIDIA NeMo Agent Toolkit(NAT)」の永続メモリ層として「Amazon S3 Vectors」を統合・構築する技術解説記事を公開した。

  • 本記事では、プロダクション環境のマルチエージェントシステムに必要な長期記憶を構築するアーキテクチャと実装手順が示されている。エージェントの運用制御基盤として「Amazon Elastic Kubernetes Service(Amazon EKS)」を採用し、投資リサーチ(investment research)のマルチエージェントを具体例とした実装手法が説明された。

NVIDIA NeMo Agent Toolkitが提供する4つの主要機能

NVIDIA NeMo Agent Toolkit(NAT)は、AIエージェントの構築、プロファイリング、最適化を行うオープンソースのフレームワークだ。特定の基盤に縛られないフレームワーク非依存の設計となっており、LangChain、LlamaIndex、CrewAI、Strands Agentsのほか、独自のカスタム実装とも組み合わせて利用できる。

AWSの解説によると、NATは本番運用のエージェントシステム向けに以下の4つの主要機能を提供しているという。

  1. エージェントオーケストレーション: 大規模言語モデル(LLM)、ツール、プロンプトを柔軟に組み合わせたワークフローとしてエージェントを定義する。ローカル環境で実行する「nat run」コマンドに加え、永続的なサービスとして起動する「nat serve」コマンドが用意されている。
  2. プロファイリング: エージェントや個別ツールごとのトークン消費量、レイテンシ、スループット、実行時間を追跡し、処理のボトルネック(性能低下の原因となる箇所)を特定する。
  3. 評価: 回答の正確性、文脈の関連性、応答のグラウンデッドネス(生成AIの回答が参照情報や根拠データに基づいている度合い)、エージェントの実行軌跡などを検証する標準評価器を備え、カスタム評価器の追加にも対応する。
  4. 最適化: 温度(temperature)、top_p、max_tokensといったハイパーパラメータの自動チューニングを行い、コストとレイテンシを抑えながら出力品質を最大化する。

NATの拡張可能なメモリサブシステムと構成要素

NATには、エージェントの呼び出しを跨いで会話履歴やユーザー設定、長期的な知識を保存・取得するための専用メモリサブシステムが組み込まれている。このメモリ機能はプラグイン構造を採用しており、開発者が独自のカスタムメモリプロバイダを作成してバックエンドを拡張できる仕組みとなっている。

メモリサブシステムを構成する主要なコンポーネントとして、以下の要素が挙げられている。

  • MemoryEditor: すべてのメモリバックエンドが実装すべき抽象インターフェース。「add_items()」「search()」「remove_items()」の3つのメソッドを定義している。
  • MemoryItem: 記憶データを表現するデータモデル。会話履歴、タグ、メタデータ、ユーザーID(user_id)、任意のテキストメモリ文字列などのフィールドを保持する。
  • MemoryBaseConfig: カスタムメモリ設定を拡張するためのPydanticベースクラス。YAML設定ファイル内の「_type」フィールドによってプロバイダが自動識別される。
  • 自動メモリラッパー(auto_memory_agent): エージェントをラップすることで、LLMが明示的にメモリツールを呼び出すことなく、記憶の記録と検索を自動的に実行させるワークフロー機能。

NATには標準でMem0、MemMachine、Redis、Zepといった組み込みメモリプロバイダが用意されているが、大規模な本番運用を見据えた新たな選択肢としてAmazon S3 Vectorsの統合が紹介されている。

Amazon S3 Vectorsの採用とAmazon EKSでの運用基盤

今回の解説でバックエンドとして採用されたAmazon S3 Vectorsは、オブジェクトストレージサービス「Amazon Simple Storage Service(Amazon S3)」の機能であり、セマンティック検索(意味に基づいた検索)、リッチなメタデータ管理、強い書き込み一貫性、弾力的なスケーラビリティを備えている。数十億規模のベクトルデータをコスト効率よく保持・拡張できる点が特徴とされている。

AWSは、NATの「MemoryEditor」インターフェースを介してAmazon S3 Vectorsをカスタムプロバイダとして実装する手順を解説している。さらに、コンテナオーケストレーションサービスであるAmazon EKS上にシステム全体を展開することで、運用の完全な制御性を確保しながらマルチエージェントを稼働させる構成を示した。

具体例としては、複数のAIエージェントが協調して情報収集や分析を行う投資リサーチのユースケースを取り上げ、実際のメモリ連携の流れを解説している。

元URL