v0.4.0 でアイデンティティガバナンスとエージェント属性付けが追加されてから6週間、hermes-memory-pgvector v0.4.1 がリリースされました。純粋なベクトル検索だけでは単独で解決できない、想起漏れの1種類を修正します。
純粋なベクトル検索が残すギャップ
埋め込みに対するコサイン類似度は「意味が近い」ものには非常に優れていますが、2つの点では静かに弱さを見せます。正確な字句一致(エラーコード、ホスト名、チームメイトがそのまま入力したリテラル文字列)と、埋め込みのバックフィルが追いつく前に書き込まれた行です。null の埋め込みを持つ行は、どれだけ関連していてもベクトル専用クエリからは見えません。
リランクの小手先ではなく、Reciprocal Rank Fusion
v0.4.1 では hybrid_search() と hybrid_search_turns() が追加されました。これらは、既存の HNSW コサインクエリと PostgreSQL の全文検索クエリを同じ行に対して並列に実行し、Reciprocal Rank Fusion(k=60)で2つのランキングを融合します。これは、互換性のない2つの類似度スコアを正規化する必要がない、順位ベースのマージです。to_tsvector('english', content) に対する GIN インデックス(マイグレーション 003_hybrid_search_fts.sql)が、このアーキテクチャの字句側をテーブル規模でも高速に保ちます。
null の埋め込みを持つ行――純粋なベクトルクエリなら静かにスキップされる行――も、消えてしまう代わりに、この融合の全文検索側から表示されるようになります。
デフォルトで有効、呼び出しごとに無効化可能
plugins.pgvector.hybrid_search のデフォルトは true です。既存の v0.3.x/v0.4.0 のデータや動作は一切変わりません。融合が動くのは新しい想起呼び出しだけで、全文検索インデックスがない場合はベクトルのみへ滑らかにフォールバックします。外部のクラウド検索サービスは不要です。Postgres が、もうひとつ得意なことをしているだけです。
入手方法
pip install hermes-memory-pgvector
ソース、マイグレーション、設定は GitHub にあります:

