タグ: 版管理

  • RAGに同じ資料を二重登録しない|重複・旧版を混ぜない版管理

    RAGに同じ資料を二重登録しない|重複・旧版を混ぜない版管理

    RAGへ社内資料を追加していると、いつの間にか同じ内容のファイルが増えることがあります。

    • 料金表.pdf
    • 料金表_最新版.pdf
    • 料金表_最終.pdf
    • 料金表_最終_修正.pdf
    • 別フォルダにコピーされた同じPDF

    人がフォルダを見るだけでも迷う状態で、すべてをRAGへ登録すると、検索対象にも同じ内容や古い内容が並びます。その結果、同じ根拠が何件も表示されたり、旧料金と新料金が同時に候補へ入ったり、どの版をもとに回答したのか説明しにくくなったりします。

    対策は、単に「重複ファイルを削除する」ことではありません。原本を保管する場所と、RAGが検索する対象を分け、同じ文書を表すIDと更新ルールを決めることが重要です。

    この記事では、小規模事業者や少人数チーム向けに、RAGへ同じ資料や旧版を混ぜないための文書ID、版番号、内容ハッシュ、差し替え手順、確認方法を整理します。

    結論:原本は残しても、RAGの検索対象は原則1つにする

    最初に決めたいのは、次の役割分担です。

    • 原本保管:過去版を含め、業務上必要な資料を保管する場所
    • RAG検索対象:AIが回答の根拠として検索してよい資料

    原本保管には、契約上・運用上の理由で旧版を残す場合があります。しかし、旧版を残すことと、AIが旧版を検索できることは別です。RAGの検索対象には、原則として有効な最新版だけを入れます。

    例外として過去版も検索させる場合は、「2025年時点の規程を確認したい」のような明確な用途を決め、版や有効期間で絞り込める設計にします。

    項目例目的
    文書IDPRICE-001ファイル名が変わっても同じ文書だと判断する
    表示名サービス料金表人が内容を識別する
    版v3新旧関係を示す
    更新日2026-09-25いつ更新されたか確認する
    内容ハッシュsha256:...内容が完全に同じか確認する
    状態有効 / 旧版 / 保留RAGの検索対象にするか決める

    なぜファイル名だけでは重複を判断できないのか

    ファイル名は人には便利ですが、文書の同一性を判断する基準としては弱いものです。同じ内容でも、ダウンロード時に「(1)」が付く、担当者が「最新版」や「修正済み」を追加する、フォルダ移動でパスが変わる、PDF化で拡張子が変わる、といったことがあります。

    逆に、毎月同じ 料金表.pdf を上書きしていれば、名前は同じでも内容が違います。登録前に、次の3つを分けて考えます。

    1. ファイル名が同じか
    2. 内容が完全に同じか
    3. 業務上、同じ文書の新しい版か

    内容が完全に同じかは、ファイルのハッシュ値で機械的に確認できます。ただし、WordからPDFへ変換した場合や内部情報だけが変わった場合は、見た目や本文が同じでもファイル全体のハッシュが変わることがあります。ハッシュは「完全一致の重複」を見つける方法として使い、同じ文書の新版かどうかは文書IDや担当者の確認と組み合わせます。

    「ファイルの重複」と「チャンクの重なり」は別の問題

    RAGでは、長い文書を検索しやすい単位へ分割して登録することがあります。この分割単位がチャンクです。前後の文脈を保つために、隣り合うチャンクへ一部の文章を重ねる設定もあります。これは検索設計上の意図的な重なりで、同じPDFを二重登録することとは違います。

    検索結果に似た文章が複数出るときは、次の順で確認します。

    • 同じ原本ファイルが複数登録されていないか
    • 旧版と新版が同時に有効になっていないか
    • 同じチャンクが再取り込みされていないか
    • 正常なチャンクの重なりが表示されているだけではないか
    • 検索結果の表示側で同じ文書をまとめる必要がないか

    登録時は「追加・差し替え・保留」の3つに分ける

    1. 追加

    新しい文書IDで、内容も既存資料と異なる資料です。新しく作成した就業規則、新サービスのマニュアル、既存資料とは別の製品仕様書などが該当します。文書ID、版、更新日、管理担当を決めてから検索対象へ入れます。

    2. 差し替え

    同じ文書IDに対する新しい版です。料金改定や手順変更などが該当します。新版を追加するだけで終わらせず、旧版を検索対象から外し、新版が検索できることを確認します。

    3. 保留

    既存資料と似ているが、同じ文書か、新版か、別資料かを自動判定できない状態です。保留資料は検索対象へすぐ入れず、担当者が確認できる一覧へ置きます。

    安定した文書IDを決める

    文書IDは、ファイル名や保存場所が変わっても維持する識別子です。複雑な採番システムは必要ありません。

    • PRICE-001:サービス料金表
    • RULE-003:経費精算規程
    • MANUAL-012:問い合わせ対応マニュアル
    • FAQ-005:契約前FAQ

    文書IDは、資料本文、管理台帳、RAG登録時のメタデータで共通にします。ファイル名、フォルダのフルパス、担当者名、「最新版」「最終」などの状態語は変わりやすいため、IDとは分けて管理します。

    版番号・更新日・有効期間を分けて持つ

    • 版番号:v1、v2、v3
    • 文書の更新日:内容が改訂された日
    • RAG登録日:検索対象へ入れた日
    • 有効開始日:新しいルールや料金を使い始める日
    • 有効終了日:旧版を使わなくなる日

    10月1日から新料金になる資料を9月25日に登録する場合、更新日と有効開始日は同じとは限りません。有効日が重要な資料では、登録したかどうかだけでなく、「いつから検索対象にするか」も決めます。

    メタデータで最新版だけを検索できるようにする

    RAGの製品や構成によっては、ファイルやチャンクへ属性を付け、検索時に条件で絞り込めます。

    document_id: PRICE-001
    version: 3
    updated_at: 2026-09-25
    status: active
    department: sales
    source_path: /approved/pricing/

    重要なのは、ファイル名だけで最新版を判断せず、検索対象かどうかを明示することです。実装方法は、旧版を検索対象から削除する方法と、旧版を残し status: active だけを検索する方法があります。

    過去版検索が不要な小規模運用なら、最初は「RAGの検索対象には最新版だけ」にする方が管理しやすいことがあります。RAG側から旧版を外しても、業務上必要な原本まで削除する必要はありません。

    差し替えは5段階で行う

    1. 新版を受け付ける:文書ID、版、更新日、管理担当、有効開始日を確認する。
    2. 既存版と比較する:同じ文書ID、最新版、内容ハッシュを確認し、完全一致なら追加を止める。
    3. 新版を仮登録する:確認用の検索対象か pending 状態で登録し、文字抽出や表の崩れを確認する。
    4. 旧版を無効化し、新版を有効化する:旧版を検索対象から外すか superseded にし、新版を active にする。
    5. 代表質問で確認する:更新箇所の質問を5〜10件試し、新しい内容・出典・既存質問への影響を確認する。

    差し替え完了は、登録処理の成功だけでなく、実際の検索結果まで確認して判断します。

    失敗しやすい運用パターン

    フォルダ全体を毎回再取り込みする

    登録済みかどうかを見ずに全ファイルを追加すると、同じ資料のチャンクが増える可能性があります。前回の取り込み結果、文書ID、内容ハッシュを記録し、変更があったファイルだけを対象にします。

    「最新版」という名前を信用する

    複数の担当者がそれぞれ「最新版」を持っていることがあります。承認された保管場所、版番号、更新日、管理担当を合わせて確認します。

    新版を追加しただけで更新完了にする

    旧版が検索対象に残っていれば、新旧どちらも候補へ入る可能性があります。更新完了の条件に「旧版を検索対象から外した」「代表質問で新版を確認した」を含めます。

    原本とRAGデータを同時に削除する

    検索対象から旧版を外すことと、業務上の原本を破棄することは別です。原本の保存期間や削除ルールは、社内規程や契約に合わせて決めます。

    自動判定だけで似た資料を消す

    本文が似ていても、対象部門、地域、契約種別が違う別資料かもしれません。完全一致は自動で止め、似ているだけの資料は保留し、人が確認できるようにします。

    スプレッドシートでも始められる管理台帳

    文書ID文書名版更新日状態原本URLRAG登録ID担当
    PRICE-001サービス料金表32026-09-25有効保管先URLfile_xxx営業
    PRICE-001サービス料金表22026-06-01旧版保管先URL–営業

    件数が増えたら、ファイル追加時のハッシュ計算、文書IDの重複チェック、旧版表示、差し替え確認、保留資料の通知、更新後の質問テストを小型ツール化できます。

    最初の点検は「重要資料10件」から始める

    すべての資料を一度に整理しようとすると止まりやすくなります。料金表、サービス対応範囲、契約・解約ルール、問い合わせ対応手順、承認フロー、納期、セキュリティ手順、社内規程、製品仕様、FAQなど、回答を間違えると困る資料を10件選びます。

    各資料について、同じ内容のコピー、旧版、文書ID、最新版、管理担当を確認します。この10件で差し替え手順を作り、問題なく運用できてから対象を広げます。

    YOSHIO.devへ相談する前に整理したいこと

    • 資料が保存されている場所
    • PDF、Word、Excel、Webページなどの種類
    • 現在のおおよそのファイル数
    • 同じ資料のコピーが増えやすい理由
    • 旧版を原本として残す必要があるか
    • 過去時点の内容もAIで検索したいか
    • 更新頻度と更新する担当者
    • 現在使っているRAGやベクトルデータベース
    • 更新後に確認したい代表質問
    • 誤った旧版回答で特に困る資料

    YOSHIO.devでは、資料棚卸し、文書IDとメタデータの整理、差し替え処理、重複チェック、小型の管理画面、更新後の質問テストまで、現在の規模に合わせて相談できます。

    関連する記事・サービス

    よくある質問

    RAGに同じPDFを二重登録するとどうなりますか?

    構成によって結果は異なりますが、同じ内容の検索候補が増え、同じ根拠が複数表示されたり、管理対象や保存量が増えたりすることがあります。登録済みの文書IDと内容ハッシュを確認し、完全一致なら追加しない仕組みを検討します。

    ファイル名が違えば別の資料として登録してよいですか?

    ファイル名だけでは判断できません。内容ハッシュ、文書ID、版、更新日、管理担当を組み合わせて判断します。

    旧版の資料は削除した方がよいですか?

    RAGの検索対象から外すことと、業務上の原本を削除することは別です。原本の保存期間は社内規程や契約に合わせてください。

    チャンクが重なっているのも重複ですか?

    必ずしも重複事故ではありません。文脈を保つため、隣り合うチャンクへ一部の文章を意図的に重ねる設定があります。

    小規模なRAGでも専用の版管理ツールが必要ですか?

    最初から大きなシステムは必要ありません。重要資料10件ほどを対象に、文書ID、版、更新日、状態、原本URL、RAG登録IDをスプレッドシートで管理しても始められます。

    参考情報