製造業の企業が Amazon Bedrock Knowledge Bases を使って機械マニュアルに基づく RAG ソリューションを構築しています。マニュアルは平均 500 ページで、技術仕様・トラブルシューティング・メンテナンス手順が章をまたいで相互参照されています。ユーザークエリ例:「第 4 章に記載の油圧ポンプ交換後のメンテナンス手順は?」のように、複数セクションにわたるコンテキストが必要なクエリが多くあります。検索失敗を最小化するための最適なチャンキング戦略はどれですか?
Bedrock Knowledge Bases の階層型チャンキング(Hierarchical Chunking)は、大きな「親チャンク」と小さな「子チャンク」の 2 層構造でドキュメントを分割します。 検索時は精度の高い子チャンクでベクトル検索を行い、ヒットした子チャンクの親チャンクも合わせてコンテキストとして LLM に渡します。 これにより、章をまたぐ技術マニュアルの相互参照にも広いコンテキストを確保できます。 選択肢Aの固定サイズチャンキングは実装が簡単ですが、章をまたぐ関連情報が異なるチャンクに分断されるため、複数セクションにわたるコンテキストを必要とするクエリへの応答精度が低下します。 選択肢Bのセマンティックチャンキングはトピック境界でチャンクを分割するため一般的な文書には有効ですが、階層的文書構造を持つ技術マニュアルでは親子関係を保持できず、クロスセクション検索には劣ります。 選択肢Dのページ全体を単一ベクトルとする設定は、ベクトルが複数トピックの平均表現になってしまい、特定の技術手順を問う詳細なクエリに対する検索精度が著しく低下します。