最近のベンチマークによると、RAMベースのスクラッチパッドとローカルのSQLite-vecボルトを組み合わせた2層メモリ設計により、メディアン(中央値)のクエリ時間を100ms未満に抑えつつ、人気のクラウドベクトルストアにかかる月額135ドルのコストを排除できることが示されました。自律型AIエージェントを構築する開発者は、完全にオンプレミスなセットアップを実行でき、ベンチマークではその方が高速で、月額費用も発生しませんでした。

既存のメモリ手法が不十分な理由

AIエージェントは、限られたレスポンス時間内に、過去の数千ものやり取り、事実、またはツール呼び出しの結果を思い出す必要があることがよくあります。多くのチームは、すべての埋め込み(embedding)をマネージドなベクトルデータベースに送り込み、すべてのルックアップをリモートのベクトル検索に依存しています。このモデルはスケーラビリティはありますが、すべてのクエリをネットワーク経由で行う必要があるため、ラウンドトリップタイムが増大し、月額費用も膨らみます。ベンチマークでは、クラウドサービスのメディアンレイテンシは127msで、月額費用は135ドルを超え、さらにテスト期間中に停止(アウトレージ)も記録されました。

メモリを2つのティアに分割する

この2層アーキテクチャは、「ワーキングメモリ(作業メモリ)」と「長期ストレージ」を分離します。

L1 Scratchpad (RAM)

  • プロセスメモリ内に完全に保持されます。
  • 現在のタスクのコンテキストと、直近のツール呼び出しを保持します。
  • 生の文字列を保存し、埋め込みは生成しません。
  • CPUキャッシュに匹敵する3ms未満で結果を返します。

L2 Vault (SQLite-vec)

  • ベクトル検索機能を拡張したローカルのSQLiteデータベースに、その他のすべての埋め込みを永続化します。
  • ベンチマークで使用された14,726個のメモリの全セットを処理します。
  • 約94msで一致する結果を返し、多くのリアルタイムエージェントの目標である100msを余裕を持って下回ります。
  • ホストマシンのストレージ以外のコストはかかりません。

SQLite-vecは、標準的なリレーショナルファイルに近似最近傍探索(ANN search)機能を追加するオープンソースの拡張機能です。データベースがエージェントと同じマシン上にあるため、ネットワークホップが発生せず、エンジンは既存のSQLiteインデックスのテクニックを再利用してルックアップを高速に保ちます。

重要な数値

システム メディアンレイテンシ 月額コスト 報告された信頼性
クラウドベクトルストア (Pinecone) 127 ms ~$135 停止が確認された
ローカル SQLite-vec ボルト 94 ms $0 稼働率 100%

コストの差は、月額約135ドルに対し0ドルです。

ボルトを整理された状態に保つ

すべての埋め込みをそのままダンプすると、関連性が薄れる可能性があります。ベンチマークの著者は、新しさと頻度によってメモリをスコアリングする減衰(decay)システムを導入しました。

  • 新しいアイテムや頻繁にアクセスされるアイテムには、高い重みが付けられます。
  • しばらく触れられていないアイテムは、徐々に重みが減少します。
  • この重み付き減衰により、「検索ノイズ」(無関係な一致)が34%削減されます。

スコアの低いエントリを削除(pruning)したり、インデックス内での優先順位を下げたりすることで、エージェントは一貫したパフォーマンスを維持するためにボルトを軽量に保ちつつ、古いデータを回避できます。

まとめ

限られた時間内で数千のメモリを扱う必要があるAIエージェントにとって、RAM優先のスクラッチパッドとローカルのSQLite-vecボルトの組み合わせは、完全にクラウドベースのベクトルストアに代わる実用的な選択肢となります。このアプローチは、レスポンス時間を短縮し、継続的なクラウド費用を排除し、中断のないサービスを提供すると同時に、無関係なデータを削除する能力も維持します。したがって、この2層モデルを採用することで、エージェントをより高速に、より安価に、そしてより信頼性の高いものにすることができます。