ベクトル検索とは
ベクトル検索(Vector Search)とは、テキストや画像などのデータを高次元のベクトル(数値の配列)に変換し、ベクトル間の類似度を計算することで意味的に関連するデータを検索する技術です。AIエージェントのメモリやRAGの基盤技術として欠かせません。
ベクトル検索の仕組み
まず埋め込みモデル(Embedding Model)を使ってテキストをベクトルに変換します。例えば「犬が走る」と「イヌが駆ける」は異なる文字列ですが、意味が近いため類似したベクトルに変換されます。検索時はクエリもベクトルに変換し、コサイン類似度やユークリッド距離などの指標で最も近いベクトルを持つデータを取得します。
ベクトルデータベース
大量のベクトルデータを効率的に管理・検索するために、専用のベクトルデータベースが使用されます。Pinecone、Chroma、Weaviate、Milvus、Qdrant、pgvector(PostgreSQL拡張)などが代表的です。HNSW(Hierarchical Navigable Small World)などの近似最近傍探索アルゴリズムにより高速な検索を実現しています。
エージェントでの活用
AIエージェントはベクトル検索を活用して、長期メモリからの関連情報の呼び出し、ナレッジベースからの知識検索、類似した過去のタスク実行履歴の参照などを行います。ベクトル検索の品質がエージェントの応答精度に直接影響するため、適切な埋め込みモデルの選択とインデックス設計が重要です。