はじめに
最近、ノーコードの生成AIツール(Dify / Flowise / LangFlow など)を触りながら、
RAG(Retrieval-Augmented Generation)を使ったアプリケーションを作る機会が増えてきました。
最初は
「モデルを変えれば精度が上がるのでは?」
と思っていたのですが、実際に手を動かしてみると、
RAGの精度は、ほぼ「投入前のデータ」で決まる
という結論にたどり着きました。
この記事では、
- RAGの回答精度がなぜ落ちるのか
- PDFなどの既存ドキュメントをどう扱えばいいのか
- 構造化・データクレンジングを実務でどう進めるのか
を整理します。
RAGの精度が出ない理由(最初にハマったポイント)
RAGでよくある失敗は、だいたい次のパターンでした。
- PDFやWordをそのまま全部突っ込む
- チャンク分割をツール任せにする
- FAQ・手順・規程が混ざったまま
- 表記ゆれ・古い情報がそのまま残っている
結果として、
- 検索は当たるけど回答がズレる
- 関係ない情報を混ぜて回答する
- 条件や例外を間違える
という「もっともらしいけど間違っている回答」が出ます。
RAGにおける「構造化」とは何か
RAG文脈での構造化は、
**DB設計の話というより「検索しやすい意味単位に整えること」**です。
ポイントは3つ。
① 1チャンク = 1トピック
- FAQ:1質問+1回答
- 手順:1目的単位
- 規程:1条文+例外
② メタデータを付ける
最低限あると強い項目:
- title(見出し)
- type(FAQ / 手順 / 規程 / 用語)
- topic(業務・機能名)
- audience(誰向けか)
- date / version
- source(出典)
③ 文書の種類を混ぜない
- FAQ
- 手順書
- 規程
- 用語集
これを分けるだけで、検索精度はかなり改善します。
PDFはどう扱うべきか?
結論から言うと、
PDFは「直接修正するもの」ではない
です。
PDFはあくまで「人間向けの最終成果物」なので、
RAGでは 中身を取り出して再構成 します。
PDFをRAG用にする基本フロー
PDF
↓(テキスト抽出 / OCR)
編集可能なテキスト
↓(構造化・クレンジング)
RAG用チャンク+メタデータ
PDFからテキストを取り出す方法
① 文字ベースPDF(コピーできる)
- Google Drive → Google Docsで開く
- Wordで直接開く
- Adobe Acrobat
② スキャンPDF(画像)
- Google Drive OCR
- Adobe Acrobat OCR
- ChatGPT(画像PDF対応)
※ この段階では誤字があって当たり前。
後でAI+人で修正します。
データクレンジングでやること
PDF由来の文章は、そのままだとRAGに向きません。
やることは主に以下です。
- 不要な前文・目次・脚注を削除
- 1トピック1意味に分割
- 長文を「手順 / 条件 / 例外」に分解
- 表記ゆれを統一
- 曖昧表現を減らす
AIを使った実務的なやり方
個人的に一番効いたやり方です。
① PDF由来テキストをAIに渡す
② こう指示する
この文章はPDF由来の業務マニュアルです。
RAG用に以下をしてください。
・1チャンク1トピックに分割
・手順/ルール/補足を分ける
・意味を変えずに簡潔にする
・表記ゆれを統一する
③ 人がレビュー
- 解釈が変わっていないか
- 条件・例外が落ちていないか
👉 AIは清書係、人は意味保証
構造化データの保存形式
ノーコードRAGでは、以下の形が扱いやすいです。
スプレッドシート例
| title | type | topic | audience | content |
|---|---|---|---|---|
| 旅費申請の流れ | 手順 | 旅費 | 一般職員 | ①〜②〜③ |
Notion DatabaseやCSVでも同じ考え方でOKです。
ノーコードRAGツールに入れて検証
ここでやっとRAGツールに投入します。
検証時のチェック観点:
- 回答に使われるチャンクは適切か
- 関係ない情報を拾っていないか
- 日付・条件・例外を間違えていないか
精度が悪ければ、
👉 モデル変更より先にデータを疑う のが重要でした。
学んだこと(まとめ)
- RAGの精度は「モデル」ではなく「前処理」で決まる
- PDFは直接編集しない。中身を再設計する
- 構造化は「1トピック1意味」が基本
- AIと人の役割分担が超重要
ノーコードRAGは手軽ですが、
データ設計だけはちゃんとエンジニアリングする必要がある
というのが一番の学びでした。
おわりに
まだ勉強中ですが、
「RAG=検索」ではなく
「RAG=情報設計」だと理解できたのは大きな収穫でした。
同じようにRAGで悩んでいる方の参考になれば嬉しいです。