【要約】Bedrock Tool Use から Aurora pgvector を直接叩く — Knowledge Bases を使わない RAG の組み立て [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
RAG基盤を構築するエンジニアは、Knowledge Bases(KB)のブラックボックス性に直面する。検索プロセスが隠蔽されることで、以下の課題が生じる。
- ・検索クエリの組み立てや距離関数の選択が制限される。
- ・HNSWインデックスの細かなチューニングが困難である。
- ・DB接続管理の詳細が見えず、障害時の挙動制御が難しい。
// Approach
筆者は、検索ロジックの透明性を確保するため、Converse APIとTool Useによる自前実装を採用した。
- ・vector_searchツールを定義し、LLMに検索を委ねる。
- ・SYSTEM_PROMPTを強化し、ツール選択の安定性を高める。
- ・register_vectorを接続ごとに実行し、RDS Proxyの切替に対応する。
// Result
検証の結果、ツール選択率は100%を達成し、安定した動作を確認した。
- ・全10回の検証で、1ターン目に正しくツールが選択された。
- ・取得文書のID一致度も高く、実用的な精度を示した。
- ・SQLレベルでの制御により、デバッグの容易性が向上した。
Senior Engineer Insight
> 本構成は、検索精度と運用安定性を追求する現場において極めて実戦的だ。KBの利便性を捨て、SQLレベルの制御権を奪還する判断は、大規模システムにおけるデバッグ容易性とチューニングの自由度を担保する。特に、register_vectorを接続ごとに呼び出す設計は、RDS Proxy環境下での耐障害性を考慮した極めて堅実な実装である。