タグ: ファイル整理

  • 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をスプレッドシートで管理しても始められます。

    参考情報

  • メール添付ファイルを案件別フォルダへ自動保存する方法|誤分類・重複・上書きを防ぐ設計

    メール添付ファイルを案件別フォルダへ自動保存する方法|誤分類・重複・上書きを防ぐ設計

    メール添付ファイルの保存作業は、条件が決まっていれば自動化できます。

    ただし、「添付ファイルが届いたら共有フォルダへ保存する」だけでは不十分です。

    実務では、どの案件へ入れるか、同じファイルが再送されたらどうするか、同名ファイルを上書きしてよいか、判定できないメールをどこへ置くかまで決める必要があります。

    最初に作るべきなのは、完全自動の振り分けではありません。

    おすすめは、対象メールだけを抽出し、添付ファイルを一時保存し、案件候補と保存先を表示して、人が確認してから確定する半自動化です。判定ルールが安定してから、自動確定できる範囲を広げます。

    この記事では、小規模事業者や少人数チーム向けに、OutlookやGmailへ届く添付ファイルをOneDrive、SharePoint、Google Drive、NAS、社内フォルダなどへ整理するための実務設計を解説します。

    添付ファイルの自動保存が必要になる場面

    メール添付の手動保存は、1件ずつなら数分で終わります。しかし、毎日繰り返すと、保存作業そのものより「あとから探す時間」が増えていきます。

    たとえば、次のような業務です。

    • 取引先から届く見積書や請求書を月別フォルダへ保存する
    • 申込書や注文書を顧客別フォルダへ整理する
    • 制作案件の原稿、画像、ロゴ、確認資料を案件別に保存する
    • 店舗や現場から届く写真を日付・拠点別に整理する
    • 応募書類や提出物を受付番号ごとに保存する
    • 定期レポートやCSVを共有フォルダへ集める

    手作業では、保存先を開き、案件フォルダを探し、ファイル名を確認し、必要なら名前を変えます。

    この途中で別のメールやチャットに対応すると、未保存のまま忘れる、違う案件へ入れる、デスクトップへ仮置きしたままになる、といった問題が起きます。

    単純な自動保存で起きやすい7つの失敗

    1. 件名だけで判定して別案件へ保存する

    メールの件名は、送信者が自由に書けます。

    「資料送付」「最新版です」「ご確認ください」のような件名では、案件を特定できません。過去メールへの返信で、古い案件名が件名に残っていることもあります。

    案件判定では、件名だけでなく、送信元アドレス、宛先、本文中の案件番号、添付ファイル名、受信時期などを組み合わせます。

    判定材料が足りない場合は、無理に保存先を決めず「要確認」へ送るルールが必要です。

    2. 同名ファイルを上書きする

    添付ファイルには、次のような名前がよく使われます。

    • 見積書.pdf
    • 請求書.pdf
    • logo.png
    • 原稿.docx
    • 最終版.xlsx

    同じフォルダへそのまま保存すると、既存ファイルを上書きするか、末尾に番号が付いた似たファイルが増えます。

    保存時は、受信日、取引先、案件ID、元のファイル名などを組み合わせた命名ルールを使います。

    例:

    20260613_取引先A_PJ-042_見積書.pdf

    元のファイル名は、あとで送信者へ確認できるよう、ログにも残しておきます。

    3. 再送メールで同じファイルを二重保存する

    送信者が「念のため再送します」と同じファイルを送ることがあります。メール転送やCCの違いで、同じ添付が複数回届くこともあります。

    ファイル名だけで重複を判断すると、名前が変わった同一ファイルを見逃します。反対に、同じ名前でも内容が更新されたファイルを重複扱いする危険があります。

    重複判定には、次の情報を使います。

    • メールのメッセージID
    • 送信者と受信日時
    • 元のファイル名
    • ファイルサイズ
    • ファイル内容から作るハッシュ値

    「同一内容」「同名だが内容違い」「判定不能」を分けると、更新版を誤って捨てにくくなります。

    4. 自動返信や署名画像まで保存する

    メールには、業務で必要な添付以外も含まれます。

    署名に埋め込まれたロゴ、SNSアイコン、追跡用の小さな画像、会議招待ファイルなどです。これらをすべて保存すると、案件フォルダが不要ファイルで埋まります。

    対象拡張子、最小ファイルサイズ、ファイル名、Content-IDなどで除外ルールを作ります。ただし、画像案件では小さな画像も必要になるため、業務ごとに条件を分けます。

    5. 危険な添付ファイルまで自動で開く

    自動保存と自動実行は別です。

    添付ファイルを保存する仕組みができても、マクロ付きOfficeファイル、実行ファイル、スクリプト、圧縮ファイルなどを自動で開いたり展開したりする設計は避けます。

    許可する拡張子を決め、対象外のファイルは隔離フォルダへ保存し、人が確認します。ウイルス対策や組織のセキュリティルールも優先します。

    6. 権限の広い共有フォルダへ機密ファイルを入れる

    見積書、契約書、応募書類、顧客情報を含む資料などは、保存先の権限確認が必要です。

    メールボックスでは限られた人だけが見られたファイルが、自動保存後は全員向けフォルダから見える状態になることがあります。

    案件種別や機密度によって保存先を分け、誰が閲覧できるかを確認します。個人情報を含む可能性がある場合は、処理ログへ本文やファイル内容を必要以上に残さないことも重要です。外部AIやログへ渡す情報の整理は、AIに個人情報を渡す前のマスキング設計も参考になります。

    7. 自動化が止まっても気づかない

    認証切れ、容量不足、フォルダ名変更、メール条件の変更などで、自動保存が止まることがあります。

    止まったことに気づかなければ、「自動で保存されているはず」と思い込み、必要なファイルを見失います。

    最低限、次の状態を記録します。

    • 処理したメール
    • 保存したファイル
    • 保存先
    • 処理結果
    • 要確認になった理由
    • 失敗日時とエラー内容

    失敗時は、メールやチャットで通知し、未処理のメールを再実行できるようにします。停止検知、通知、再処理の考え方は、AI業務自動化のエラー対応設計でも詳しく整理しています。

    自動保存の前に決める5つのルール

    1. 対象メール

    最初から受信トレイ全体を対象にしません。

    専用アドレス、特定ラベル、特定フォルダ、送信元一覧、件名の接頭辞などで範囲を絞ります。

    例:

    • 件名に案件IDがあるメールだけ
    • 指定取引先から届いたPDFだけ
    • 担当者が「自動保存」ラベルを付けたメールだけ
    • 専用受付アドレスへ届いたメールだけ

    2. 保存先の決め方

    保存先は、取引先名だけでなく、変更されにくい案件IDや顧客IDを基準にすると安定します。

    取引先名には、株式会社の有無、全角・半角、旧社名、略称などの表記揺れがあります。表示名と内部IDを分けて持つと、フォルダ名が変わっても判定しやすくなります。

    3. ファイル名の付け方

    ファイル名には、検索と重複確認に必要な情報だけを入れます。

    おすすめの基本形:

    受信日_取引先または案件ID_元のファイル名

    長すぎる件名、メール本文、個人情報をそのままファイル名へ入れないようにします。使えない記号や文字数上限も考慮します。

    4. 自動確定しない条件

    次のような場合は、要確認へ送ります。

    • 案件候補が複数ある
    • 案件IDが見つからない
    • 同名だが内容が違うファイルがある
    • 許可していない拡張子がある
    • パスワード付き、破損、読み取り不能のファイルがある
    • 保存先フォルダが存在しない
    • 機密度を判定できない

    5. 処理後の確認方法

    自動保存した結果を、人が追える形にします。

    最初はスプレッドシートやCSVへ、受信日時、送信者、案件候補、元ファイル名、保存後ファイル名、保存先、状態を記録するだけでも十分です。

    件数が増えたら、要確認だけを一覧表示し、保存先を選んで確定できる小型ツールへ広げます。

    基本フローは「抽出・判定・一時保存・確認・確定」

    安全に始めるなら、処理を5段階に分けます。業務を入力、判断、出力へ分ける基本設計は、AI業務自動化の始め方も参考になります。

    1. 抽出: 対象メールと添付ファイルだけを取り出す
    2. 判定: 送信者、件名、案件ID、ファイル名から保存先候補を出す
    3. 一時保存: 上書きしない名前で確認用フォルダへ保存する
    4. 確認: 案件、ファイル名、重複、拡張子、権限を確認する
    5. 確定: 正式フォルダへ移動し、結果をログへ残す

    判定精度が高い条件だけ確認を省略し、曖昧なものは人へ戻します。

    この流れなら、最初から複雑なAI分類を入れなくても始められます。案件ID、送信元、件名ルールで十分なケースも多くあります。

    Power Automate、Google Apps Script、Pythonの使い分け

    方法 向いている環境 向いている処理 注意点
    Power Automate Outlook、Microsoft 365、OneDrive、SharePoint中心 メール条件、添付保存、通知、承認フロー 認証、コネクタ、実行条件、失敗通知を確認する
    Google Apps Script Gmail、Google Drive、スプレッドシート中心 ラベル付きメールの取得、Drive保存、一覧化 実行時間、権限、アカウント変更時の引き継ぎを確認する
    Python小型ツール NAS、社内フォルダ、複雑な命名・重複判定 大量ファイル、ハッシュ比較、柔軟な例外処理 実行環境、認証情報、監視、保守担当を決める
    ローカル処理 外部クラウドへ置きにくい資料を扱う環境 社内保存、ローカル分類、閉じた環境での処理 ローカルでも共有権限、バックアップ、端末管理は必要

    ツールは、普段使っているメールと保存先に合わせて選びます。

    AIは、件名や本文から案件候補を出す、添付の種類を分類する、といった曖昧な判定に使えます。ただし、保存先の確定や危険なファイルの処理までAIだけに任せる必要はありません。

    小さく始めるなら1種類の添付だけに絞る

    最初の対象は、条件がそろった1種類がおすすめです。

    例:

    • 特定取引先から毎月届くPDFレポート
    • 件名に案件番号が入る入稿データ
    • 専用アドレスへ届く申込書
    • 担当者がラベルを付けたメールの添付

    まず20件から50件程度で、誤分類、重複、除外漏れ、命名の分かりにくさを確認します。処理結果をExcelやCSVへ残す場合は、Excel・CSV作業を自動化する前に整理することも確認してください。

    すべてのメールを自動化するより、探す時間が多い添付、件数が多い添付、保存ルールが明確な添付から始める方が効果を測りやすくなります。

    相談前に整理するとよい情報

    添付ファイル整理の自動化を相談する場合は、実データをそのまま渡さなくても構いません。

    次の情報があると、必要な仕組みを判断しやすくなります。

    • 使用中のメールサービス
    • 保存先の種類
    • 月間の対象メール件数
    • 主な添付ファイル形式
    • 現在のフォルダ構成
    • 案件を判定できる番号やルール
    • 同名ファイルや再送の扱い
    • 個人情報や機密情報の有無
    • 自動化したい範囲と人が確認したい範囲

    サンプルは、取引先名や金額をダミーへ置き換えたものでも検討できます。

    YOSHIO.devで相談できること

    YOSHIO.devでは、Python、Power Automate、既存のクラウドサービスなどを使った業務自動化や小型ツール開発を相談できます。

    たとえば、次のような範囲です。

    • OutlookやGmailの添付ファイルを指定フォルダへ保存する
    • 案件IDを使って保存先候補を出す
    • ファイル名を統一する
    • 重複や対象外ファイルを要確認へ回す
    • 処理結果をスプレッドシートへ記録する
    • 失敗時に通知し、再実行できるようにする

    最初から大きな文書管理システムを作るのではなく、現在のメールと共有フォルダを活かし、1種類の添付から小さく始める方法を整理できます。

    FAQ

    Outlookの添付ファイルはPower Automateで自動保存できますか?

    条件に合うメールの添付をOneDriveやSharePointなどへ保存する処理は検討できます。ただし、件名だけで保存先を決めず、同名ファイル、再送、対象外の添付、処理失敗を扱うルールも一緒に決めることが重要です。

    Gmailの添付ファイルをGoogle Driveへ自動保存できますか?

    Gmailのラベルや検索条件とGoogle Apps Scriptなどを組み合わせる方法があります。最初は対象メールを限定し、保存結果をスプレッドシートへ記録すると確認しやすくなります。

    同じ名前のファイルが届いた場合はどうすればよいですか?

    受信日、案件ID、取引先名などを追加して別名保存します。ファイル名だけでなく、サイズやハッシュ値も使って、同一内容の再送か更新版かを分ける設計が安全です。

    パスワード付きZIPも自動で展開できますか?

    技術的に処理できる場合はありますが、パスワードの受け渡し、危険なファイル、誤送信、ログへの残り方を考える必要があります。最初は隔離して人が確認する運用が無難です。

    添付ファイルを外部クラウドへ保存したくない場合でも自動化できますか?

    社内フォルダ、NAS、ローカルPCなどへ保存する小型ツールを検討できます。ただし、ローカル保存でも閲覧権限、バックアップ、認証情報、実行端末の管理は必要です。

    完全自動化と確認付きの半自動化はどちらがよいですか?

    最初は半自動化がおすすめです。保存先候補とファイル名を表示し、人が確認して確定する運用で誤分類の傾向を確認します。ルールが安定した条件だけ自動確定へ移すと安全です。

    まとめ

    メール添付ファイルの自動保存では、保存ボタンを押す作業だけを置き換えても十分ではありません。

    対象メール、案件判定、保存先、ファイル名、重複、例外、権限、失敗通知まで決めることで、あとから探せるファイル整理になります。

    最初は、対象を1種類に絞り、抽出、判定、一時保存、確認、確定の順で小さく始めます。

    毎日または毎週、メールから共有フォルダへ同じ保存作業を繰り返している場合は、自動化しやすい部分と人が確認すべき部分を分けてみてください。