RAG ── 「自社の知識で答える AI」を作る最小コストの方法
ChatGPT や Claude のような汎用 AI は、業界知識は持っていますが、自社固有のマニュアル・規定・取引先情報 は知りません。「自社のことを知っている AI」が欲しい場合、現実的な選択肢が RAG(Retrieval-Augmented Generation) です。
RAG とは:
- 自社のドキュメント(マニュアル・FAQ・議事録など)を AI が参照できる形に変換しておき
- 質問が来たら、関連するドキュメントを検索して取り出し
- 取り出した内容を AI に渡して、それを根拠に回答を生成する
この仕組みを使うと、「ハルシネーション(AI が事実でないことをもっともらしく作る現象)」を大幅に抑制 しながら、自社文脈の回答が得られます。
本稿では、中小事業者が 月数千円〜数万円のコスト で構築できる RAG の最小実装手順を提示します。
既存記事「業務マニュアルを AI に読ませる仕組み(RAG)の作り方」が概念寄りなのに対し、本稿は 実装手順 に絞った続編です。
全体アーキテクチャ
[社内ドキュメント]
↓ (1) チャンク分割・埋め込みベクトル化
[ベクトル DB(Supabase pgvector 等)]
↑ (2) 質問のベクトル化 → 類似検索
[利用者の質問]
↓ (3) 類似ドキュメント + 質問を AI に送信
[LLM(Claude / GPT 等)]
↓ (4) 根拠付き回答
[利用者]
3 層構造です:
- 保管層: ドキュメントをチャンク(数百文字〜数千文字の塊)に分けてベクトル化し DB に格納
- 検索層: 質問が来たら、質問もベクトル化して類似チャンクを検索
- 生成層: 検索したチャンクと質問を LLM に渡し、根拠を引用しながら回答させる
構築の 7 ステップ
ステップ 1: 対象ドキュメントを選定する(半日)
最初から全社のドキュメントを対象にしないこと。よく参照される文書セット 1 つ に絞ります。
候補:
- 営業マニュアル
- 顧客対応 FAQ 集
- 社内規定(就業規則・経費規程など)
- 製品マニュアル
- 過去の提案書・見積書
判断基準: 「この質問が来るたびに人が答えている」「マニュアルを開く時間が惜しい」と感じる領域から始めるのが現実的。
ステップ 2: ドキュメントを整形する(1〜2 日)
PDF・Word・スプレッドシートなど形式が混在していると、後の処理が複雑になります。Markdown 形式でテキスト化 しておくのが扱いやすい。
整形のポイント:
- 見出しレベル(# ## ###)を整える
- 表は Markdown 表記に変換する(または箇条書きに展開)
- 画像内の文字情報は OCR で抽出するか、本文に書き起こす
- 機密情報・個人情報は事前にマスキング
ステップ 3: チャンク分割の設計(半日)
ドキュメントを LLM に渡せる単位に分割します。一般的な目安:
- 1 チャンク 500〜2,000 文字程度
- 章・節・項の単位で意味のある区切りに分ける
- チャンク間で 100〜200 文字程度オーバーラップさせる(文脈の切れ目を防ぐ)
「機械的に文字数で切る」より、意味の区切りで分ける方が検索精度が上がります。
ステップ 4: ベクトル化と DB 投入(半日)
各チャンクを埋め込みモデル(OpenAI text-embedding-3-small 等)でベクトル化し、ベクトル DB に格納します。中小事業者向けの最小コスト構成:
- ベクトル DB: Supabase の pgvector 拡張(無料枠+$25/月の Pro プラン)
- 埋め込みモデル: OpenAI text-embedding-3-small($0.02 / 1M トークン)
ドキュメント 1,000 ページ(約 200 万文字)を埋め込むコストは、概算で 数十円〜数百円 程度。一度埋め込めば再利用できます。
ステップ 5: 検索ロジックの実装(1 日)
質問が来たときに:
- 質問を同じ埋め込みモデルでベクトル化
- ベクトル DB で類似度の高いチャンクを 5〜10 件取得
- 取得したチャンクをスコア順にソート
実装は SQL クエリ数行と Python / TypeScript のコード数十行で済みます。Supabase なら以下のような SQL:
select chunk_id, content,
1 - (embedding <=> $1::vector) as similarity
from document_chunks
order by embedding <=> $1::vector
limit 8;
ステップ 6: LLM への渡し方を設計(1 日)
検索したチャンクと質問を、以下のような構造で LLM に送ります。
あなたは社内マニュアルに基づいて回答する AI アシスタントです。
以下の参考資料を根拠として回答してください。
資料に書かれていないことは「資料に該当する記述はありません」と答えてください。
[参考資料]
1. (チャンク 1 の内容)
2. (チャンク 2 の内容)
...
[質問]
(利用者の質問)
[出力]
回答と、根拠としたチャンク番号を併記してください。
このプロンプト設計が、ハルシネーションを抑える鍵です。
ステップ 7: UI と運用フローの整備(2〜3 日)
利用者が質問できる UI を用意します。最小構成:
- Slack / Teams のボット
- 社内ポータルのチャット画面
- 業務システムに組み込んだサイドパネル
運用面では:
- 「回答がイマイチ」を報告する導線を必ず作る
- 月次でログを見て、頻出質問・誤答パターンを分析
- ドキュメントの更新があれば再ベクトル化する
コスト試算(10 人規模、月 1,000 質問の場合)
| 項目 | 月額目安 |
|---|---|
| ベクトル DB(Supabase Pro) | 約 3,750 円 |
| 埋め込みモデル(更新分) | 数百円程度 |
| LLM 利用(Claude Haiku 4.5 等の軽量モデル) | 1,200〜3,000 円 |
| UI ホスティング(Vercel 等の無料枠 or 数百円) | 0〜500 円 |
| 合計 | 約 5,000〜8,000 円 |
※ 上記は試算値です。質問数・モデル選定・データ量により変動します。
社員 10 人で問い合わせ業務に月 30 時間使っている場合、時給 2,000 円換算で 月 6 万円分の業務 が、月 5,000〜8,000 円のシステムで一部代替できる計算になります。
中小事業者向けの注意点
注意 1: いきなり全社展開しない
最初は 1 部門・1 業務に絞ることが必須です。利用率と精度を確認してから広げます。
注意 2: 機密情報の扱いは慎重に
クラウド型の LLM に送るデータの範囲は、契約・利用規約上の取り扱いを必ず確認。ドキュメントによっては社内環境で動くモデルを検討する選択肢もあります。
注意 3: 「人の確認」を残す業務を明示する
法的判断・人事判断・契約判断などは、AI 回答をそのまま使わないルールを明文化しておきます。
まとめ
- RAG = 自社ドキュメントを参照して回答する AI の構成
- 7 ステップで構築可能: ①対象選定、②整形、③チャンク分割、④ベクトル化&DB、⑤検索ロジック、⑥LLM プロンプト、⑦UI&運用
- 中小事業者向けの最小構成は 月 5,000〜8,000 円 から
- 機密情報・人の確認の必要性に配慮した運用設計が前提
「自社のことを知っている AI」は、もはや大企業の専有物ではありません。
AI活用をどこから始めるべきか迷っている場合は、まず AI活用診断簡易版(無料) で、業種・規模に合った活用方向性と効果の目安をご確認ください。より具体的に整理したい場合は、詳細版AI活用診断(¥5,500税込・MTGなし) で、構成案、優先順位、費用前提を整理してお届けします。