Engineer Post||5 min

Redesigning Knowledge Management with Generative AI: RAG, Permissions, and Retrieval Accuracy

Redesigning Knowledge Management with Generative AI: RAG, Permissions, and Retrieval Accuracy

こんにちは!株式会社雲海設計の技術部です。

「社内のConfluenceにChatGPTを繋いだのに、全然当たらない」「RAGを組んだらなぜか機密情報まで返してきて、慌てて止めた」——2025年は生成AI×ナレッジ管理のPoCが爆発した一年でしたが、2026年に入り、PoCから本番運用に進めた企業と、止まった企業の差がくっきり分かれ始めました。本記事ではナレッジ管理 生成aiを業務で使える水準に引き上げるための実装パターンを、RAG構成・権限設計・検索精度改善の3軸で整理します。

  • TL;DR

  • ナレッジ管理 生成aiの肝は「RAG構成・権限設計・検索精度」の三位一体。どれか一つでも欠けると本番では破綻する

  • 2025年に流行ったナイーブRAGはすでに過去。ハイブリッド検索+リランキング+クエリ書き換えが2026年の標準

  • 権限は取り込み時点でメタデータに埋めるのが鉄則。推論時フィルタは必ず漏れる

  • 検索精度は「Recall@10」「nDCG」「回答根拠一致率」の3指標で継続計測しないと改善できない

  • PoC成功→本番失敗の9割は、ドキュメントの前処理とチャンク戦略の設計ミス

ナレッジ管理システムの処理フロー:文書取り込みから分割・ベクトル化・検索・再ランク付けを経てLLMで生成する一連のパイプライン
ナレッジ管理システムの処理フロー:文書取り込みから分割・ベクトル化・検索・再ランク付けを経てLLMで生成する一連のパイプライン

なぜ2026年に「ナレッジ管理 生成ai」を再設計する必要があるのか?

結論から言うと、2025年に作ったPoCの大半が、本番データで動かすと精度も権限も破綻するからです。

現場で起きている典型的な痛み

  • 精度の壁:社内文書で「関連しそうな情報」は返るが、肝心の答えにたどり着かない

  • 権限の壁:人事評価資料や経営会議の議事録が、検索できてしまう事故

  • 鮮度の壁:古い版の規程を根拠に回答し、現行ルールと矛盾する

  • コストの壁:全文をプロンプトに詰めて、1クエリあたりのトークン課金が想定の5倍

Gartnerは2025年の調査で、生成AI導入企業の約65%が「期待した精度に到達できずPoCで停滞」と報告しています。原因の多くは「モデル選定」ではなく、その手前のデータ設計にあります。

「RAGの精度問題は、ほぼ検索の問題である。」——これは雲海設計の案件を振り返っても、例外なく当てはまる経験則です。

トークン課金の暴発については、以前の記事生成AIの請求が読めない会社へ トークン課金を"原価"に落とす方法でも詳しく扱っています。


RAG構成:2026年に採用すべき実装パターンは?

結論から言うと、「ナイーブRAG」はもう使い物になりません。2026年に本番投入するなら、最低でも次の3層構造を前提に組むべきです。

RAGアーキテクチャの世代比較

世代

構成

精度感

本番適用

第1世代(ナイーブRAG)

単純ベクトル検索→LLM

Recall@10 40〜55%

FAQ程度なら可

第2世代(ハイブリッド)

BM25+ベクトル+リランカー

Recall@10 70〜80%

業務利用の下限

第3世代(エージェント型)

クエリ書き換え+マルチホップ+自己検証

Recall@10 85%+

専門領域・規程検索

最小構成のサンプル

典型的な第2世代ハイブリッドRAGの疑似コードです。雲海設計でもこの骨格をベースにカスタマイズしています。

def retrieve(query: str, user_ctx: UserContext) -> list[Chunk]:
    # 1. クエリ書き換え(略語展開・同義語補完)
    rewritten = rewrite_query(query, user_ctx)

    # 2. ハイブリッド検索(BM25 + ベクトル)
    bm25_hits = bm25_search(rewritten, top_k=50, acl=user_ctx.acl)
    vec_hits  = vector_search(rewritten, top_k=50, acl=user_ctx.acl)
    merged = reciprocal_rank_fusion(bm25_hits, vec_hits)

    # 3. リランキング(cross-encoder)
    reranked = cross_encoder_rerank(rewritten, merged, top_k=10)

    # 4. 権限フィルタ(二重チェック)
    return [c for c in reranked if c.is_accessible(user_ctx)]

チャンク戦略を軽視しない

意外と見落とされがちですが、精度の50%はチャンク設計で決まります。以下は雲海設計のデフォルト推奨値です。

  • サイズ:300〜500トークン(日本語なら600〜900文字目安)

  • オーバーラップ:10〜15%

  • 境界:見出し・段落・表の途中で切らない

  • メタデータ:タイトル・階層パス・更新日・権限タグを必ず付与

  • 表はそのまま:Markdown表は1チャンクに収める(分割すると破綻する)


権限設計:推論時フィルタでは絶対に守れない

結論から言うと、「LLMのプロンプトで権限を制御する」は事故の温床です。2025年に複数の大企業で、機密文書が生成AI経由で漏れる事案が発生しました。原因はほぼ全て推論時フィルタへの過信です。

3層の権限チェックを必ず作る

  1. 取り込み時:ドキュメントのACL(ユーザー/グループ/ロール)をチャンクのメタデータに埋め込む

  2. 検索時:ベクトルDBのフィルタ条件で、アクセス権のないチャンクを物理的に除外する

  3. 返却時:LLMが出力した引用チャンクを、再度ACL照合する

推奨するメタデータ設計

フィールド

用途

acl_users

string[]

明示ユーザー

acl_groups

string[]

部門・グループ

classification

enum

public/internal/confidential/secret

source_system

string

元システム(Confluence/Notion等)

updated_at

timestamp

鮮度判定

valid_until

timestamp?

有効期限付き文書

ここで重要なのは、ACLは元システム側の真実を定期同期することです。社内のアクセス権は日々変わります。月次バッチでは事故ります。少なくとも日次、できればイベント駆動での同期が必要です。

AIに何をどこまで任せるかの境界設計については、AIに「任せる」のがちょっと怖い?暴走させない"ガードレール設計"も合わせてどうぞ。


検索精度改善:何を計測し、どう直すか?

結論から言うと、「体感で精度が上がった気がする」は開発を破壊します。評価指標を決めずにチューニングしたRAGは、必ずどこかで静かに劣化します。

最低限計測すべき3指標

  • Recall@10:正解チャンクが上位10件に含まれる率。検索そのものの健全性

  • nDCG@10:順位を考慮した検索品質。リランカー改善の効果が見える

  • 回答根拠一致率:LLMの回答が検索結果に根拠を持つ率(幻覚検知)

評価データセットの作り方

雲海設計では、案件開始時に100〜300件の「業務で実際に検索されるクエリ+想定正解ドキュメント」を必ず作ります。これが無いと、何をしても改善を定量評価できません。

- query: "育休中の評価ルールは?"
  expected_docs:
    - doc_id: hr-policy-2026-v3
      section: "5.2"
  expected_keywords: ["育児休業", "評価", "対象外"]
  user_role: "employee"

評価ハーネスの設計思想はハーネスエンジニアリング ベストプラクティスに詳しく書きましたので、合わせてご参照ください。

精度が出ないときの切り分け順序

  1. まず検索を疑う:Recall@10が低ければLLMをいじっても無駄

  2. 次にチャンクを疑う:正解文書は引けているのに根拠チャンクが取れないなら分割が悪い

  3. 次にクエリを疑う:略語・社内用語が展開されていないケースが多い

  4. 最後にプロンプトを疑う:ここから先は効果が小さい


運用フェーズ:本番で壊さないための仕組み

結論から言うと、RAGは作って終わりではなく、運用で7割が決まります。以下は雲海設計の運用テンプレートです。

継続運用チェックリスト

  • 評価データセットの定期実行(週次でのRecall/nDCGモニタリング)

  • ユーザーフィードバック収集(👍/👎 と自由記述を必ずUIに)

  • 再インデックスのトリガ設計(元文書更新のイベント駆動)

  • モデル切替時のABテスト(旧モデル/新モデル並走運用)

  • トークンコストのユーザー別/用途別可視化

アーキテクチャ全体像

graph LR
  A[元システム
Confluence/Notion/SharePoint] --> B[取り込み
ACL付与・前処理] B --> C[チャンク化
メタデータ付与] C --> D[(ベクトルDB
+ BM25)] E[ユーザー] --> F[クエリ書き換え] F --> G[ハイブリッド検索
+ ACLフィルタ] D --> G G --> H[リランカー] H --> I[LLM生成] I --> J[回答+引用] J --> E J --> K[評価ログ] K --> L[週次メトリクス]

雲海設計の支援スタンス

私たちはナレッジ管理 生成aiの案件で、いきなり大きく作りません。「業務クエリ100件→ミニRAG→評価→拡張」という順で、2〜3週間の検証フェーズから入ることを推奨しています。精度の見込みが立ってから、権限設計と本番インフラに進む方が、結果的に早く安く着地します。

社内のナレッジ資産をAIで使える形に再設計したい方は、DXソリューションITコンサルティングのページ、あるいはお問い合わせからお気軽にご相談ください。


よくある質問

Q. ナレッジ管理 生成aiの導入は、どのくらいの期間とコストがかかりますか?

A. 規模によりますが、評価用PoC(100クエリ・単一リポジトリ)で3〜6週間、本番運用レベル(権限・複数ソース・監査ログ込み)で3〜6ヶ月が目安です。費用はPoCで数百万円、本番で1,000万円超が一般的なレンジです。

Q. ベクトルDBは何を使うべきですか?

A. 2026年時点ではPostgres+pgvectorが中小規模で筆頭候補です。数千万チャンク超ならElasticsearch・Qdrant・Weaviateなどの専用DBを検討します。大事なのは製品名よりもハイブリッド検索・メタデータフィルタ・更新の容易さです。

Q. ChatGPT EnterpriseやCopilotで十分では?

A. 全社共通のFAQ的用途なら十分なケースもあります。ただし独自の業務データに根拠を持って答えさせたい部門別の権限を厳密に効かせたい場合は、自前のRAG実装が現実的です。両者は競合ではなく使い分けです。

Q. 精度はどれくらいまで上げられますか?

A. 業務ドメインと評価方法次第ですが、適切に設計すればRecall@10で80〜90%、回答根拠一致率で85%以上は現実的な目標です。100%を目指すより、誤答時のフォールバック(「分かりません」と正直に言わせる)設計の方が重要です。

Q. 社内文書の前処理はどこまでやるべき?

A. 最低限、PDF→テキスト化(OCR精度含む)・表の保全・見出し階層の抽出は必須です。ここを省くと、どんなに高性能なモデルを使っても精度は頭打ちになります。前処理は精度への投資対効果が最も高い工程です。