【正解】C
【0からの解説】
RAG(検索拡張生成)とは、質問に関連する文書を検索(Retrieval)し、その内容をプロンプトに含めてモデルに回答を生成(Generation)させる手法です。文書はそのままでは長すぎるため「チャンク」と呼ばれる小さな断片に分割してから、各チャンクを「埋め込み(ベクトル)」に変換してベクトルデータベースに保存します。
本問の根本原因は「500 トークンの固定長チャンキング」です。固定長で機械的に切ると、1 つの法的主張や条文の途中でチャンクが分断され、検索でヒットしたチャンクに必要な文脈が含まれない(=関連性の低下、重要文脈の欠落)という問題が起きます。
【C が正解の理由】
セマンティックチャンキング(意味的な境界での分割)に変更すれば、「完全な法的主張」「条項」「セクション」といった意味のまとまりごとにチャンクが作られ、検索でヒットしたチャンクが文脈を完結して含むようになります。チャンク構造を変えたら、埋め込みはチャンク単位で計算されるものなので再生成が必要です。これが検索の関連性低下という根本原因への直接の対処です。
【誤りの選択肢】
A:埋め込みの次元数を 768 から 4,096 に増やしても、チャンクが文脈の途中で分断されている問題は解決しません。むしろベクトルあたりのストレージと計算コストが約 5 倍に増え、ストレージが 360 GB へ成長する見込みやレイテンシ悪化(p95 が 2 秒超)の状況をさらに悪化させます。
B:静的な事前要約への置き換えは RAG の動的検索を放棄するものであり、新しい判例や法改正を反映できなくなります。「古い法的情報を引用する」という既存の問題をむしろ固定化・悪化させます。
D:Amazon DynamoDB はキーバリュー型の NoSQL データベースであり、ベクトル類似検索をネイティブにサポートしません。キーワードベースのインデックスでは「意味的に関連する文書を探す」というセマンティック検索の要件を満たせません。
【参考】
Amazon Bedrock ナレッジベースにおけるコンテンツのチャンキングAmazon OpenSearch Service の k-NN 検索