法務担当者:契約を分析する fuite
契約書をお使いの端末の外に出さずに分析するには、Ollamaでモデル(Qwen 3.5 9BまたはMistral Small 24B)を提供し、PDFからテキストを抽出して、指摘する各事項について該当箇所を一字一句そのまま引用するというルールを設けてください。その後、スクリプトで引用が契約書内に存在することを確認します。VRAMが24GB未満の場合、Ollamaのコンテキストウィンドウはデフォルトで4,000トークンに設定されているため、この値を引き上げてください。
契約書には、職業上の守秘義務や秘密保持契約の下では、どんなオンラインサービスにでも預けてよいとはいえない情報が含まれています。ローカルのパイプラインは、端末からデータを一切出さずにPDFを読み取り、確認すべき条項を示し、該当箇所を引用します。本ガイドでは、このパイプラインを構築し、引用の自動検証を追加するとともに、ツールにできないことも明確に説明します。
#契約書をオンラインチャットに送るべきではない理由
契約には名前、価格、交渉された条件、場合によっては個人情報が含まれます。AIサービスにその情報を送信することは、第三者にこれらの情報を送ることを意味し、利用規約によって定められた範囲内で行われるため、個人の機密保持の約束とは異なります。弁護士にとっては、倫理的な問題です。2026年3月にフランスのConseil national des barreauxが採択した「AIと倫理に関するガイド」では、専門家の秘密保持およびGDPRの遵守がプロフェッショナルの義務として挙げられています。このガイドの解釈者たちは、秘密は、顧客や案件に関する機密情報を、AIツールの利用においても一切公表しないことを義務づけていると指摘しています。
企業の法務担当者にとって、制約は契約にあります。取引先と締結した秘密保持契約では、その条項をAIサービス提供者に送信することは、ほぼ想定されていません。AIサービス各社の法人向けプランでは、データを再利用しないという保証が提供されていますが、確認すべきなのは宣伝文句ではなく、実際に締結した契約です。ローカルで分析すれば、この問題はなくなります。契約の本文は自分の端末の外に出ないため、申告すべき処理委託先も、正当性を説明すべきデータ移転もありません。
#コードを書かずに社内でPDFについてチャットする
お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 生涯アップデート
読者の中には、情報を一切システムの外に出さずに、フォルダに保存した契約書について質問したいだけの方もいます。方法は2つあります。1つ目はプログラミング不要で、Open WebUIやAnythingLLMのようなインターフェースを内部サーバーにインストールし、Ollamaに接続する方法です。PDFを読み込んで質問すると、ツールが必要な箇所を探し出します。これらのガイドは当サイトにあります。2つ目は、以下で説明する短いスクリプトを使う方法です。プロンプトと引用の検証を完全に制御できます。
このスクリプトは、具体的な質問を使って契約書を1件ずつ分析するのに適しています。文書検索機能を備えたインターフェースは、数十件の契約書からなるコーパスを対象に、例えば自動更新条項を含む契約書をすべて見つけたい場合に適しています。この後者の場合、品質はモデルだけでなく、文書の分割方法と検索にも左右されます。
| ニーズ | アプローチ | 注意点 |
|---|---|---|
| 10~25ページの契約書を読む | スクリプトで直接処理し、契約書全体をコンテキストに入れる | コンテキストウィンドウのサイズ(Ollama で確認) |
| 20〜500件の契約書について質問する | RAGインターフェース (Open WebUI, AnythingLLM) | 分割品質と検索品質 |
| 契約書のひな形と比較する | プロンプトに2つのテキストを含むスクリプト | コンテキストの倍増:メモリを確認 |
| スキャンされた契約書 | まずOCRを実行します | ノイズを含むテキストは引用を不正確にする |
#最小限の構成:モデル、PDF リーダー、スクリプト
必要な要素は三つです。Ollamaがモデルをサーブします。pdfplumberやPyMuPDFなどのPDFリーダーがテキストを抽出します。約40行のPythonスクリプトがこれらを連携させます。モデルについては、ライブラリOllama内の二つの目安があります。Qwen 3.5は9Bパラメータで6.6 GB、コンテキスト長は256,000トークンとされています。Mistral Smallは24Bで14 GB、コンテキスト長は32,000トークンとされています。前者は8〜12 GBのGPUカードで動作し、後者は16 GB以上が必要です。ご自身の契約書三つで両方をテストしてください。フランス語の法的文書の理解度は契約書によって異なります。
コンテキストが落とし穴となるポイントです。Ollama はデフォルトでビデオメモリに基づいてウィンドウを固定します。24 GB未満の場合、ウィンドウは4,000トークンとなり、契約書のサイズよりはるかに小さくなります。20ページの契約書は数千語、つまりレイアウトによって1万5,000トークン以上になるため、これはご自身の文書で測定すべき桁数です。設定を変更しないと、契約書の冒頭がサイレントに切り捨てられ、モデルは一部の情報に基づいてのみ応答します。コンテキストウィンドウに関するガイドでは、このメカニズムを説明しています。
#ツールのインストール
次に、PDF に選択可能なテキストが含まれているか確認してください。pdfplumber が空文字列を返す場合、そのファイルはスキャン画像なので、OCR 処理が必要です。品質の低い OCR 結果からテキストを作成する場合は、必ずそのことをユーザーに伝えてください。そうしないと、モデルが示す引用を検証できなくなります。
#初期確認を行うアシスタントのシステムプロンプト
プロンプトで役割、禁止事項、出力形式を定めます。重要なのは、引用を義務付けることです。根拠とする箇所をそのまま書き写す必要があるモデルは、情報を捏造することが少なくなり、引用をプログラムで検証することもできます。以下のプロンプトでは、この検証を容易にするために、構造化された出力を求めています。
#完全なスクリプト(引用の検証を含む)
スクリプトは PDF を読み込み、コンテキストを広げてモデルに問い合わせ、スキーマによって JSON 形式を指定します。これは Ollama API の format フィールドで可能です。その後、空白を正規化してから、各引用が契約書の本文に実際に含まれているかを確認します。見つからない引用には別途印を付けます。これは、捏造や言い換えが行われた可能性を示すため、確認が必要です。
#リスクを浮き彫りにする質問
漠然とした依頼ではなく、具体的な質問を、一度に一つのテーマに絞ってしてください。各回答では、契約書を引用するか、そのテーマが契約書では扱われていないことを明示する必要があります。以下は、ご自身の実務に合わせて調整できる、最初の質問リストです。
- Non-concurrence
- 「契約に競業避止条項はありますか?その条項を、期間、地理的範囲、金銭的な補償とともに引用してください。」
- 責任
- 「責任はどのように制限されていますか?その制限は双方に適用されますか?どのような損害が除外されていますか?」
- 解約
- 「解約条件はどのようなものですか?解約の事前通知期間は双方で同じですか?」
- 自動更新
- 「自動更新の規定はありますか?更新を拒否するには、いつまでに、どのような形式で通知する必要がありますか?」
- ペナルティ
- 「遅延、契約解除、債務不履行に対する違約金を一覧にしてください。これらは双方に適用されますか?」
- 準拠法
- 「どの法律が適用されますか?どの裁判所が管轄として指定されていますか?」
- 知的財産権
- 「成果物の所有権はどのように扱われますか? 譲渡、ライセンス、期間、対象地域についてはどうなっていますか?」
- 個人情報
- 「契約では個人データの処理が予定されていますか?処理の委託に関する条項はありますか?」
#契約書を普段使っているひな形と比較する
貴社の事務所や企業における標準的な利用規約など、検証済みのテンプレートをお持ちの場合は、単独で読むよりも比較する方がより有用です。比較を行うことで、基準となる文書から逸脱している箇所を特定できます。モデルは2つのテキストを処理するため、コンテキストに占める容量が2倍になります。Ollama に要求されるウィンドウサイズが十分であるか確認し、不足している場合は条項ごとに比較してください。
#ツールに頼る前に、自分の契約書で検証する
このアシスタントをワークフローに組み込む前に、何を見落とすかを測定してください。ご自身ですでに確認した契約書を5件用意し、そのうち1件には、例えば目立たない自動更新条項など、ご自身がよく把握している条項を意図的に含めてください。同じ質問リストで質問し、実際に存在する条項を見つけられた数、指摘された不要な事項の数、出典を確認できない引用の数を数えてください。
- 01既知の 5 つの契約を選択する契約の種類を変えてください。サービス提供契約、供給契約、事業用賃貸借契約、非典型的な雇用契約などです。一種類の文書だけでは、全般的な堅牢性は判断できません。
- 02自分で確認項目をリストにまとめるツールを実行する前に、各契約に含まれていると想定する条項を一覧にしてください。この一覧が、評価の際に正解として扱う基準になります。
- 03再現率とノイズを比較する検出されるべき条項のうちツールが実際に見つけた数と、誤って指摘した項目の数を数えてください。条項の3分の1を見逃すツールは、確認事項を思い出すための補助にはなっても、フィルターにはなりません。
- 04読み返し時間を計測する指摘された点とその引用箇所を読み直すのにかかる時間を測ってください。この確認に全文を読むのとほぼ同じ時間がかかるなら、時間短縮の効果は小さいです。
- 05利用目的の決定このツールは、一次選別、ひな形との比較、特定の条項の確認など、実際に役立つ作業に限って使ってください。重要度の高い契約には使わないでください。そうした契約は、いずれにしても全文を読む必要があります。
#制限と安全対策
- 弁護士ではありません
- モデルは、最近の判例も、条項の意味を変える微妙な文言の違いも把握していません。初期の選別は行いますが、判断を下すのは法律専門家です。
- 存在しない条項の捏造
- 小規模なモデルは、契約書に存在しない条項を説明してしまうことがあります。引用を必須にすることとスクリプトによる検証は、このリスクを減らしますが、なくすことはできません。
- 長い契約書
- コンテキストが許容する範囲を超えた場合は、セクションごとに分割し、それぞれについて質問するか、ドキュメント検索に移行してください。分割戦略に関するガイドでは、選択肢が詳しく説明されています。
- スキャン
- 画像だけで構成されたPDFにはOCRが必要です。OCRで得られたテキストには誤りが含まれるため、引用の検証に不確実さが生じます。
- ログ記録
- 保護されていないファイルに契約内容や回答を保存しないでください。コンピュータのセキュリティおよびディスク暗号化は依然として必要です。プライバシーチェックリストは確認すべきポイントを示しています。
- 弁護士事務所向け契約文書の分析
- Légifrance の判例を使った RAG
- プライバシーチェックリスト
- コンテキストウィンドウを理解する
- Ollamaでコーディング不要のローカルRAG
- ドキュメントの分割戦略
- 出典:CNBのAIに関する倫理規範ガイド
- 出典:CNBガイドの解説記事(Village de la Justice)
- 出典:Ollama におけるコンテキスト長
- 出典:スタンフォード大学による法務向けAIツールの研究
- 出典:OllamaライブラリのMistral Small
文書をインターネットに送信せずに、AI で契約書を分析できますか?+
契約書を社内の情報システムの外に出さずに、PDFについてチャットで質問する仕組みを社内で使うにはどうすればよいですか?+
フランス語の契約書を読むには、どのローカルモデルを使えばよいですか?+
30ページの契約書は、モデルのコンテキストウィンドウに収まりますか?+
モデルが存在しない条項を作り出すことはありますか?+
AIによる分析は弁護士によるレビューの代わりになりますか?+
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。