社内限定プレビュー 技術ブログの構成案です。公開前の検討用のため、URLの共有はご遠慮ください。
実務検証 vol.02

openxlsx で直接読ませたら RAG より精度が高かった — RAGを組む前に1日だけ試すこと

NG 長瀬
Feynma Technology / データ処理
2026.07.21
検証結果サマリー
  • Excelの内容をopenxlsxで直接読み込ませたところ、ベクター検索によるRAGよりも正確に内容を読み取って回答できた
  • RAGはチャンクに分割する都合上、表の行と列の関係が壊れやすい
  • ベクター検索は類義語検索は得意だが、「そう言った」という表現そのものの一致検索は苦手
  • これは「RAGが不要」という話ではなく、データの性質に応じた順番の話である

エージェントに社内データを参照させる設計では、RAG(Retrieval-Augmented Generation)を最初の選択肢として検討することが多いと思います。私たちも同様に検討を進めていましたが、Excelファイルを対象にした際、RAGを組む前に直接ファイルを読ませる方法を試したところ、想定以上に良い結果が出ました。今回はその経緯と、そこから得た「順番」についての考え方を共有します。

きっかけは、以前からチームで指摘していたベクター検索の弱点でした。ベクター検索は類義語による検索はできる一方で、「そう言った」といった特定の表現をそのまま取得することを苦手とします。文書全体を毎回RAGにかけて検索結果を待つ運用も避けたかったため、私たちはMCPやToolを介してエージェントに都度ドキュメントを取得させる設計を選んでいました。

ベクター検索の弱点

ベクター検索は意味的に近い表現を拾ってくることに強みがありますが、裏を返せば「表現の一致」を保証するものではありません。特定のキーワードや言い回しがそのまま含まれているかどうかを確認したい場面では、この特性がノイズになることがあります。

openxlsxで直接読ませた場合

今回、Excelファイルの内容をopenxlsxで直接読み込ませて回答させたところ、RAGを介した場合よりも正確に内容を読み取って回答できることを確認しました。RAGはドキュメントをチャンクに分割して扱う都合上、表の行と列の関係が崩れやすいという性質があります。Excelのように行と列の対応関係そのものが情報の本体であるデータでは、この崩れが回答精度に直結しやすいと考えられます。

ポイントベクター検索が向いているのは「意味的に近い文章を広く拾いたい」場面で、Excelのような構造化データの参照とは相性が異なります。

順番の話であってRAG不要論ではない

ここで強調しておきたいのは、これは「RAGをやめるべきだ」という話ではないということです。数千件規模の非構造データを扱う場合、全件を都度直接読み込ませる方法には限界があり、RAG以外の現実的な選択肢がない場面は当然あります。

私たちが今回得た教訓は、対象データの件数や構造をよく見ないままRAGを最初の設計として選ぶのではなく、まずは対象ファイルを直接読ませる、あるいはMCP/Tool経由で都度取得させる方法で十分な精度が出るかを1日程度で試してみる、という順番の重要性です。特にExcelのように構造そのものが意味を持つデータでは、この確認を先にしておく価値があります。

まとめ

Excelデータをエージェントに参照させる場合、openxlsxによる直接読み込みはRAGよりも高い精度を示すケースがありました。一方で、これは対象データの性質と件数次第であり、数千件規模の非構造データではRAG以外の選択肢は考えにくいのが実情です。設計の初手としてRAGを固定的に選ぶのではなく、まずは直接読み込みや都度取得で精度を確認し、その結果を踏まえてRAGの要否を判断する順番をおすすめします。

※ 本記事の検証は2026年7月時点のものです。

この記事に関連するご相談
データ活用エージェントの設計にお悩みですか

Excelや社内文書を正確に扱うエージェント設計を、データの性質に応じた実装方式の選定から支援します。

相談する