海外の取引先から変更履歴付きで返ってきた英文NDAの修正を、条項ごとに訳して自社の雛形との違いを法務向けのメモにする
海外の取引先から変更履歴付きで返ってきた英文のNDAから、変更の箇所を機械的に取り出し、条項ごとに日本語に訳します。あわせて、その変更が何を意味し、自社の雛形と交渉の目安からどれだけ離れているかを法務の担当向けのメモにします。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Power Automate/Python
- 対象業界
- IT・SaaS/商社/広告/製造
- 対象部門
- 法務
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/判断に時間がかかる/属人化している
- AIで行う処理
- 翻訳
- 主な効果
- 判断支援/属人化解消/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 相手方からメールで届いた修正案(Word のファイル)を、案件のフォルダに保存する
- Word の変更履歴の画面で、挿入と削除を1つずつ追い、変更の箇所に印を付ける
- 変更のある条項を、変更前と変更後の両方について日本語に訳す
- 自社の雛形と、法務がまとめた交渉の目安(条項ごとに受け入れられる範囲)を開き、変更が目安の内か外かを見る
- 変更ごとに「何が変わったか」「自社にとって何が不利になるか」を日本語でメモにまとめる
- メモを上長と事業部に送り、受け入れるか押し返すかを相談する
- 決まった方針で、相手方への返信と修正の案を作る
- 人相手方から届いた修正案(Word のファイル)を、案件のフォルダの「受領」に保存する
- 自動スクリプトが保存を拾い、ファイルの中から挿入・削除・移動・書式の変更を、作成者と日時ごとに取り出す
- 自動受け取った版の「変更前の状態」を組み立て、自社が前回送った版と突き合わせて、変更履歴に出てこない差を拾う
- 自動変更を条項の番号ごとにまとめ、自社の雛形の該当条項と交渉の目安を引く
- 自動Claude API が、変更ごとに変更前と変更後を訳し、変更の意味と、雛形・目安との違いを説明する
- 自動結果を条項ごとの対照表にし、メモの下書きにする。変更履歴に出てこない差はメモの先頭に置く
- 人法務の担当が、原文と訳を並べて読み、説明と目安の当てはめを確かめて直す
- 人担当が自分の判断(受け入れる・押し返す・代案を出す)を書き足し、上長と事業部に送る
- 人決まった方針で、相手方への返信と修正の案を作る
各工程の詳しい説明を読む
- 相手方からメールで届いた修正案(Word のファイル)を、案件のフォルダに保存する
- Word の変更履歴の画面で、挿入と削除を1つずつ追い、変更の箇所に印を付ける
- 変更のある条項を、変更前と変更後の両方について日本語に訳す
- 自社の雛形と、法務がまとめた交渉の目安(条項ごとに受け入れられる範囲)を開き、変更が目安の内か外かを見る
- 変更ごとに「何が変わったか」「自社にとって何が不利になるか」を日本語でメモにまとめる
- メモを上長と事業部に送り、受け入れるか押し返すかを相談する
- 決まった方針で、相手方への返信と修正の案を作る
(a)変更を1つずつ追うだけで時間がかかる。 2番の作業は、画面で次の変更へ移り、その変更が前後の文とどうつながるかを読むことのくり返しです。削除と挿入が細かく入り組んだ条項では、変更後の一文を頭の中で組み立て直さないと読めません。
(b)訳が担当者ごとに違う。 同じ "Confidential Information" を「秘密情報」と訳す人もいれば「機密情報」と訳す人もいます。"shall" と "may" の違い、"including but not limited to" の扱い。上長が2人のメモを読み比べると、同じ変更が違う重さで説明されていることがあります。
(c)変更履歴を付けずに直された箇所を見落とす。 相手方が変更履歴を一時的に止めて直した箇所は、画面の色が付きません。2番の作業では見つからず、気づくのは締結後に読み直したときです。 意図的でなくても、相手方の担当が「体裁を整えただけ」と思って直した文言に、定義の変更が混ざっていることがあります。
(d)読める人が2名しかいない。 3番と5番は英文の契約に慣れた人にしかできず、交渉の速さが2名の空き具合で決まります。 若手に任せたくても、訳と説明の確かめに同じだけ時間がかかります。
- 【人】 相手方から届いた修正案(Word のファイル)を、案件のフォルダの「受領」に保存する
- 【自動】 スクリプトが保存を拾い、ファイルの中から挿入・削除・移動・書式の変更を、作成者と日時ごとに取り出す
- 【自動】 受け取った版の「変更前の状態」を組み立て、自社が前回送った版と突き合わせて、変更履歴に出てこない差を拾う
- 【自動】 変更を条項の番号ごとにまとめ、自社の雛形の該当条項と交渉の目安を引く
- 【自動】 Claude API が、変更ごとに変更前と変更後を訳し、変更の意味と、雛形・目安との違いを説明する
- 【自動】 結果を条項ごとの対照表にし、メモの下書きにする。変更履歴に出てこない差はメモの先頭に置く
- 【人】 法務の担当が、原文と訳を並べて読み、説明と目安の当てはめを確かめて直す
- 【人】 担当が自分の判断(受け入れる・押し返す・代案を出す)を書き足し、上長と事業部に送る
- 【人】 決まった方針で、相手方への返信と修正の案を作る
7番が、この設計の中心です。 AIが出すのは訳と説明の下書きで、それを読んで直すのは英文の契約に慣れた担当です。 担当がやっていた「変更を追う」「訳を書き起こす」作業はなくなり、残るのは読んで確かめる作業と、判断を書く作業です。
2番と3番に生成AIを使っていないのも、意図してのことです。 どこが変わったかは、ファイルの中に記録として残っている事実で、プログラムで取り出せば漏れません。 生成AIに探させると、見落としがあったときに気づく手段がありません。
02今回想定するシステム構成
相手方からの修正案(Word のファイル、変更履歴付き)
│ 案件のフォルダの「受領」に保存
▼
Python(連携)
├── ファイルの中の挿入・削除・移動・書式の変更を取り出す
│ (作成者・日時・前後の文と一緒に)
├── 受け取った版の「変更前の状態」を組み立て、
│ 自社が前回送った版と突き合わせる → 履歴に出てこない差
└── 条項の番号ごとにまとめ、雛形の該当条項と交渉の目安を引く
▼
Claude API ── 変更ごとに
① 変更前と変更後の訳 ② 変更の意味
③ 雛形との違い ④ 交渉の目安の内か外か(候補)
▼
Python ── 条項ごとの対照表とメモの下書き(Word)を作る
▼
【法務の担当が原文と訳を確かめ、判断を書き足して送る】| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Claude API(変更ごとの訳、変更の意味と雛形との違いの説明) | OpenAI API、Gemini API |
| 連携 | Python(変更履歴の取り出し、前回の版との突き合わせ、メモの組み立て) | Microsoft Power Automate |
| 保管 | 契約書の共有フォルダ(案件ごとのフォルダ) | 契約管理の仕組みの添付の領域 |
修正案のファイルには書き込みません。 この構成が作るのは、別のファイルとしてのメモの下書きまでです。変更を承認する・元に戻すといった操作は、担当が Word で行います。 プログラムが変更履歴を承認してしまうと、相手方の修正を受け入れたのか、こちらが直したのかが分からなくなります。
Word のファイルを、そのまま Claude API に渡すことはしません。 Claude の公式ドキュメントの PDF の扱いのページでは、.docx のようなバイナリの形式はドキュメントのブロックでは扱えず、テキストか PDF に変換する必要があるとされています。PDF に変換すれば読ませることはできますが、変更履歴は取り消し線と下線の見た目になり、作成者も日時も消えます。 そこで変更の情報はファイルの中から取り出し、テキストにして渡します。
取り出す元になるのは、Word のファイルの中の記録です。 Microsoft の Open XML のドキュメントでは、段落の書式の変更は pPrChange に変更前の書式と変更の日時・作成者が記録され、削除は del、挿入は ins、段落の移動は moveFrom と moveTo で表されると説明されています。どれも作成者(author)と日時(date)を持つので、「相手方のだれが、いつ直したか」まで取り出せます。
訳と説明は JSON で受けます。 Claude API の構造化出力は、output_config.format に JSON スキーマを渡すと、制約付きのデコードでスキーマに合った JSON を返すとされています。変更の数だけ同じ形の行が並ぶので、対照表に流し込むには形が決まっていることが要ります。
03どうやって実装するのか
処理の起点を決める
案件のフォルダの「受領」に、Word のファイルが保存されたことを起点にします。 メールの添付を自動で拾う形にはしません。相手方からのメールには、修正案のほかに参考の資料や、古い版が付いてくることがあり、どれが今回の修正案かは担当が決めたほうが確かです。
スクリプトは15分おきに「受領」を見に行き、新しいファイルがあれば処理します。
処理が終わったファイルは「処理済み」へ移し、メモの下書きを同じ案件のフォルダに置きます。移すのは、メモまでできたときだけにします。 途中で止まったものは「受領」に残り、残っている数がそのまま未処理の数になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 受け取った修正案 | Word のファイル。変更履歴と、あればコメント | 案件のフォルダの「受領」 |
| 前回送った版 | 自社が相手方に最後に送った Word のファイル | 案件のフォルダの「送付済み」 |
| 自社の雛形 | 英文のNDAの雛形(一方開示用・相互開示用)。条項の番号と見出し付き | 法務の雛形のフォルダ |
| 交渉の目安 | 条項ごとに「受け入れる範囲」「押し返す点」「代案の例」をまとめた表 | 法務が管理する表 |
| 用語の対訳表 | "Confidential Information" =「秘密情報」など、所内でそろえた訳語 | 法務が管理する表 |
| 案件の情報 | 相手方の名称・国、取引の目的、開示する予定の情報の種類 | 契約の申請 |
質を決めるのは、下の3つです。 交渉の目安が無ければ、AIは「雛形と違う」とまでしか言えず、その違いを受け入れてよいかの手がかりがメモに入りません。 用語の対訳表が無ければ、同じ語が案件ごとに違う訳になり、第3章の(b)がそのまま残ります。
前回送った版は、必ずそろえます。 第1章で書いた「変更履歴に出てこない差」は、これが無いと拾えません。相手方が自社の版に手を入れたのではなく、別の版を下敷きにして返してくることもあるので、比べる相手は雛形ではなく、実際に送った版です。
データの取得方法を決める
Word のファイル(.docx)は、中身が XML のファイルをまとめた圧縮ファイルです。Python の標準のライブラリで開き、本文の XML から変更の記録を取り出します。 取り出すものは次のとおりです。
| 取るもの | ファイルの中の記録 | 何に使うか |
|---|---|---|
| 挿入された文 | ins の中の文字 | 変更後の文の組み立て |
| 削除された文 | del の中の文字 | 変更前の文の組み立て |
| 段落の移動 | moveFrom と moveTo | 条項の並べ替えの検出 |
| 書式の変更 | pPrChange など | 見出しや番号の付け替えの検出 |
| 作成者と日時 | 各記録の author と date | だれがいつ直したかの記録 |
| コメント | コメントの記録と、それが付いた範囲 | 相手方の説明を変更に添える |
変更ごとに、前後の文もあわせて取り出します。 削除と挿入は、単語の単位で細かく入ることが多く、「"or" を消して "and" を入れた」だけを渡しても意味が分かりません。 変更を含む一文を、変更前と変更後の2つの形に組み立ててから渡します。
作成者で、相手方の変更と自社の変更を分けます。 往復が2回目以降になると、ファイルの中には自社が前回入れた変更履歴も残っていることがあります。メモに載せるのは、相手方の作成者の変更だけにします。
前回送った版との突き合わせには、受け取った版の「変更前の状態」を使います。 相手方の変更をすべて取り消した形の文を組み立て、送った版の文と条項ごとに比べます。差が無ければ、相手方の変更はすべて変更履歴に出ています。差があれば、それが履歴を付けずに直された箇所です。
AIへ渡す前に整形する
- ファイルの形式の確認 … .docx であることを確かめます。.doc や PDF で届いたものは処理せず、担当に知らせます
- パスワードの確認 … 開けないファイルは止めて担当に知らせます。相手方に、パスワードを外した版を頼むのは人の仕事です
- 条項の番号の付与 … 見出しと段落の番号から「第3条第2項」のような位置を付けます。自動の段落番号は、XML の中では数字として書かれていないことがあるので、番号の振り方を数えて組み立てます
- 変更のまとめ … 同じ一文の中の細かい挿入と削除は、1つの変更としてまとめます
- 作成者による振り分け … 相手方の変更と、自社が前回入れた変更を分けます
- 履歴に出てこない差の抽出 … 第7章の「データの取得方法」で書いた突き合わせを行います
- 雛形と目安の引き当て … 条項の見出しから、雛形の該当条項と交渉の目安の行を引きます。見出しが変えられているときは、本文の書き出しで引きます
- 大きさの確認 … 変更が多い修正案は、条項のまとまりごとに分けて Claude API に渡します
4番目の手を抜くと、メモが読めなくなります。 1つの文に削除と挿入が10か所あると、そのまま渡せば10行の訳と説明が並びます。読む側が知りたいのは、その文が全体としてどう変わったかです。
7番目で引けなかった条項は、「雛形に無い条項」として扱います。 相手方が新しく足した条項(たとえば、相手方にも自社の情報を使わせる条項や、競業を禁じる条項)は、雛形との比較ができないので、メモの中でいちばん目立つ場所に置きます。
AIに処理させる
させるのは、取り出した変更の1つずつについて、訳と意味の説明を書くことだけです。
| させること | 中身 |
|---|---|
| 変更前と変更後の訳 | 変更を含む一文を、変更前と変更後の両方について日本語に訳す。用語は対訳表に合わせる |
| 変更の要約 | 「何が、どう変わったか」を一文で書く(例:秘密保持の期間が5年から2年に短くなる) |
| 変更の意味 | 自社が情報を開示する側か受ける側かを踏まえ、自社の義務・権利がどう変わるかを書く |
| 雛形との違い | 雛形の該当条項と比べた違いを書く |
| 交渉の目安との当てはめ | 目安の表のどの行に当たるか、範囲の内か外かの候補を書く |
| 確かめたいこと | 原文の意味が一つに決まらない箇所、相手方に意図を聞くべき箇所を挙げる |
| させないこと | 理由 |
|---|---|
| 受け入れるかどうかの結論 | 交渉の判断は法務と事業部が決める |
| 変更の箇所を探すこと | プログラムが取り出した変更だけを扱う。AIが新しい変更を見つけたと言っても採らない |
| 準拠法・管轄の法的な評価 | 外国法の評価は、必要なら外部の弁護士に聞く |
| 相手方への返信や代案の文 | この構成の範囲外。方針が決まってから担当が書く |
| 訳語の言い換え | 対訳表にある語は、文の流れが悪くても対訳表どおりにする |
2行目がこの設計の要です。 変更の範囲はプログラムが決め、AIはその範囲の中だけで働きます。AIが「ほかにも変わっている箇所があります」と書いてきたら、それは誤りか、プログラムの取り出し漏れのどちらかです。 どちらであっても、AIの出力から拾うのではなく、取り出しのほうを直します。
交渉の目安との当てはめを「候補」にしているのは、目安の表が言葉で書かれているからです。 「秘密保持の期間は3年以上」のように数で書かれた行は当てはめやすいですが、「開示目的の範囲を広げすぎない」のような行は、読む人によって答えが変わります。 候補として出し、担当が確かめます。
指示内容を固定する
あなたは日本企業の法務部で、海外の取引先との秘密保持契約(NDA)の交渉を
補助する立場です。相手方から返ってきた修正案の変更を、法務の担当が
日本語で理解できるように説明します。
【前提】
- 自社の立場:{disclosing_or_receiving}(開示する側/受ける側/相互)
- 取引の目的:{purpose}
- 開示する予定の情報:{info_types}
【あなたに渡すもの】
- 変更の一覧:変更ごとに change_id、条項の番号、変更前の一文、変更後の一文、
相手方のコメント(あれば)
- 自社の雛形の該当条項
- 交渉の目安の表(条項ごとの受け入れる範囲・押し返す点)
- 用語の対訳表
【やること】
変更ごとに、次を書いてください。
1. 変更前の一文と変更後の一文の日本語訳
2. 何がどう変わったかの要約(一文)
3. 自社の義務・権利がどう変わるか
4. 自社の雛形の該当条項との違い
5. 交渉の目安の表のどの行に当たるか、範囲の内か外かの候補
6. 原文の意味が一つに決まらない箇所、相手方に意図を聞くべき箇所
【厳守事項】
- 渡された変更の一覧の中の変更だけを扱ってください。
一覧に無い変更を見つけたと思っても、新しい変更として書かないでください。
気づいたことがあれば notes に書いてください。
- 訳語は用語の対訳表に従ってください。対訳表にある語を言い換えないでください。
- "shall" "may" "will" "best efforts" "reasonable efforts" "including but
not limited to" など、義務の強さや範囲を決める語は、訳で強さを変えないでください。
- 原文に書かれていないことを補って説明しないでください。
意味が一つに決まらないときは ambiguity に書き、どちらかに決めないでください。
- 受け入れるべきか、押し返すべきかを書かないでください。
- 準拠法・管轄・外国法の効果について、法的な評価を書かないでください。
- 交渉の目安の表に当たる行が無いときは、playbook_row を空にし、
playbook_fit を not_covered にしてください。
- 雛形に該当する条項が無いときは、template_diff に「雛形に無い条項」と書いてください。
【変更の一覧】{changes}
【雛形の該当条項】{template_clauses}
【交渉の目安】{playbook}
【用語の対訳表】{glossary}
「一覧に無い変更を書かない」を最初に置いているのは、AIが親切に探してしまうからです。 前後の文を渡しているので、AIはそこから「この語も変わっているようです」と推測で書くことがあります。推測の変更がメモに混ざると、担当は本物の変更と区別できません。 気づきは notes という別の欄に逃がします。
義務の強さを決める語を名指しで並べているのは、訳で強さが動きやすいからです。 "shall use reasonable efforts" を「努める」と訳すか「合理的な努力をしなければならない」と訳すかで、読む人が受け取る義務の重さが変わります。 変更の多くは、まさにこの語の入れ替えです。
出力形式を固定する
次の形のJSONで受け取ります。
{
"contract_id": "",
"round": 2,
"changes": [
{
"change_id": "c07",
"clause": "第4条第1項",
"change_type": "insert | delete | replace | move | format",
"before_en": "",
"after_en": "",
"before_ja": "",
"after_ja": "",
"summary_ja": "",
"effect_on_us": "",
"template_diff": "",
"playbook_row": "",
"playbook_fit": "within | outside | not_covered | unclear",
"ambiguity": "",
"questions_to_counterparty": []
}
],
"notes": ""
}
1つ目の理由は、変更ごとの行が対照表にそのまま入ることです。 change_id はプログラムが付けた番号で、AIはそれを写すだけです。プログラムが取り出した変更の数と、返ってきた行の数が合わなければ、その時点で止めます。 抜けた変更があるメモを担当に渡さないためです。
2つ目は、playbook_fit を4つの値から選ばせることです。 担当はまず outside と not_covered と unclear の行から読みます。within の行は、訳と要約だけを確かめれば足ります。 読む順番が決まることで、メモを確かめる時間が短くなります。
3つ目は、notes を別に持つことです。 一覧に無い変更についての気づきは、ここにしか書かせません。notes に何か書かれていたら、プログラムの取り出しを疑う合図にします。
メモの下書きは、この JSON から Python が Word のファイルとして組み立てます。先頭に「変更履歴に出てこない差」と「雛形に無い条項」を置き、そのあとに条項の順で変更の対照表を並べます。 対照表は「条項|変更前の原文|変更後の原文|訳|要約|意味|目安」の列です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 案件のフォルダ | Python がファイルを読む | 受け取った修正案と前回送った版を読む。メモの下書きを置く |
| 法務の雛形のフォルダ | Python がファイルを読む | 雛形の該当条項を引く |
| 交渉の目安・対訳表 | Python が表を読む | 条項ごとの目安と訳語を引く |
| Claude API | API呼び出し | 変更ごとの訳と説明を JSON で返す |
| 契約の申請 | 担当がメモを添付する | 事業部と上長への説明に使う |
契約の申請の仕組みには、自動では書き込みません。 メモは担当が確かめて自分の判断を書き足してから、担当の名前で申請に添えます。 AIの下書きのまま事業部に届くと、それが法務の見解として読まれます。
交渉の目安と対訳表は、読むだけです。 交渉の中で新しく決めた目安や訳語は、担当が表に書き足します。AIの出力から目安を自動で足す仕組みは作りません。
人が確認する
メモは全件、法務の担当が読んでから使います。 確かめる順番を決めておきます。
- 「変更履歴に出てこない差」を最初に見る … ここに何か出ていたら、相手方に意図を確かめるかを決めます。AIの訳より先に見ます
outside・not_covered・unclearの行を、原文と訳を並べて読む … 訳が原文の強さどおりか、意味の説明が正しいかを確かめますwithinの行は、訳と要約を流し読む … 目安の当てはめが本当に内側かを、数で書かれた目安から確かめます- 自分の判断を書き足す … 受け入れる・押し返す・代案、とその理由を担当が書きます
- 直したところを記録する … 訳や説明を直したら、どの変更の、どの欄を直したかを残します
1番目を飛ばさないでください。 変更履歴に出てこない差は、件数としては少なくても、見落としたまま締結すると取り返しがつきません。 体裁を整えただけに見える差でも、定義の語が1つ変わっていれば意味が変わります。
目標は、1通あたり50分です。 変更が多い修正案は時間がかかり、往復の3回目以降で変更が2〜3か所のものはすぐに終わります。ならして50分を超える月が続くなら、交渉の目安の表が足りていない可能性があります。 not_covered が多ければ、目安を書き足すのが先です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 変更履歴の無いファイルが届いた | 変更の取り出しは0件になる。前回送った版との突き合わせだけを行い、差の一覧を担当に渡す |
| PDF や .doc で届いた | 処理しない。担当が相手方に Word のファイルを頼む |
| パスワードで開けない | 止めて担当に知らせる |
| 前回送った版が見つからない | 突き合わせを行わず、メモの先頭に「履歴に出てこない差を確かめていない」と書く |
| 作成者が空欄・「Author」 | 日時で分ける。分けられないときは全件を相手方の変更として扱い、その旨をメモに書く |
| 条項の番号が付けられない | 見出しの文字列で位置を示す |
| 返ってきた行の数が変更の数と合わない | メモを作らず止める。変更を分けて送り直す |
notes に一覧外の変更の指摘がある | 取り出しの漏れを担当が確かめる。漏れがあればスクリプトを直す |
| 応答が拒否・途中で切れた | 構造化出力でも、拒否のときと出力の上限で切れたときはスキーマに合わないことがあるとされている。その条項のまとまりだけを担当に回す |
| 英語以外の言語の修正案 | 対訳表が無いので処理を止め、担当が扱いを決める |
上の2行が、運用を始めてしばらくいちばん多い例外になります。 相手方によっては、変更履歴を付けない、PDFでしか返さないのが習慣になっています。そうした相手方には、交渉の最初に「変更履歴付きの Word で返してほしい」と頼むほうが、仕組みを工夫するより早く効きます。
記録を残す
- 受け取った修正案と前回送った版のファイル、受け取った日時
- 取り出した変更の一覧(変更の番号、条項、種類、作成者、日時、変更前と変更後の一文)
- 変更履歴に出てこない差の一覧
- Claude API に渡した内容と、返ってきた JSON の全文
- そのとき参照した交渉の目安と対訳表の版
- 担当が直した箇所の記録 … どの変更の、どの欄を、どう直したか
- 担当が書き足した判断と、最終的に相手方へ返した内容
目安と対訳表の版を残すのは、表が交渉のたびに育つからです。 半年前のメモで within だった変更が、いまの目安では outside になることがあります。当時の目安が残っていないと、なぜその変更を受け入れたのかが説明できません。
担当が直した記録は、指示と対訳表を直す材料です。 同じ語の訳を何度も直しているなら、対訳表に足します。同じ種類の説明を何度も直しているなら、指示の書き方が足りていません。
04実装レベルの3段階
最小構成では時間はあまり減りません。 変更を手で書き出す時間が残るからです。確かめるための段階です。 半自動化で、①の変更を追う作業と②の訳がほぼなくなります。 残るのは、雛形と目安を開いて当てはめる作業と、メモにまとめる作業です。本格構成でそこまで下書きになり、1通50分になります。この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の対照表を1か月使うと、交渉の目安の表に無い変更がどれだけあるかが分かります。目安を書き足してから本格構成に進むと、not_covered だらけのメモにならずに済みます。
05工数削減シミュレーション
導入後 12件 × 50分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 海外の取引先・提携先・販売代理店との秘密保持契約の交渉が毎月10件前後あり、英文の修正案が Word の変更履歴付きで返ってくるIT・SaaS、製造、商社、広告などの企業。英文を読める法務の担当が1〜2名に限られ、修正のたびに条項を訳して事業部と上長に説明する時間が足りない場合。自社の英文の雛形と、条項ごとに「ここまでなら受け入れる」という交渉の目安がある程度まとまっている場合。
- 英文のNDAが年に数件で、そのつど外部の弁護士に見てもらっている場合。修正案がPDFや紙でしか届かず、変更履歴のある Word のファイルを受け取れない場合。相手方が変更履歴を付けずに全文を書き直して返してくるのが常の場合。なお、修正を受け入れるかどうか、準拠法・管轄・損害賠償などの交渉の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月までに受け取った修正案から、変更履歴付きの Word のファイルを5通選ぶ(うち1通は、変更が多く読むのに苦労したものを入れる)
- その5通について、当時担当が書いたメモを用意する
- Word で変更履歴を表示したまま、変更のある条項を変更前と変更後の2つの形に書き出す(手で行う)
- 手元の Claude の画面に、書き出した条項と雛形の該当条項を貼り、「変更ごとに、変更前と変更後を訳し、何がどう変わったか、自社の義務がどう変わるか、雛形との違いを書いてください。受け入れるべきかは書かないでください」と指示する
- 出てきた説明を、当時のメモと突き合わせる
3番を手で行うのは、最小構成では変更の取り出しを作らないからです。 手間はかかりますが、「取り出した変更を渡せば、訳と説明は使えるか」を先に確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時のメモと同じ論点が出た | 取り出しのスクリプトを作る段階に進む |
| 訳の語が担当ごとの訳と違う | 対訳表を作れば直る。構成は有効 |
| 義務の強さが訳で変わっている | 指示に語を名指しで足す。構成は有効 |
| 意味の説明が的外れ | 自社の立場(開示する側か受ける側か)を渡しているかを確かめる |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| PDF にして読ませ、削除を読み落とす | Word のファイルの中の記録から取り出す。 PDF にすると作成者も日時も消える |
| 変更履歴を付けずに直された箇所を見落とす | 前回送った版と、受け取った版の「変更前の状態」を突き合わせる |
| 自社が前回入れた変更までメモに載る | 作成者で分ける。分けられないときは日時で分ける |
| 細かい挿入・削除が1語ずつの行になる | 同じ一文の中の変更は1つにまとめ、一文の単位で渡す |
| AIが一覧に無い変更を書いてくる | notes に逃がし、取り出しの漏れを疑う合図にする |
| "shall" と "may" の強さが訳で変わる | 義務の強さを決める語を指示で名指しする |
| 訳語が案件ごとにばらばら | 用語の対訳表を渡し、言い換えを禁じる |
| 意味の説明が一般論になる | 自社が開示する側か受ける側かを必ず渡す |
not_covered ばかりになる | 交渉の目安の表を先に書き足す |
| 自動の段落番号が取れない | XML の中では番号が文字として無いことがある。番号の振り方を数えて組み立てる |
| AIの下書きのまま事業部に届く | 担当が判断を書き足してから、担当の名前で送る |
上の2行が、この構成の失敗のほとんどです。 どちらも「変わった箇所をどう見つけるか」の話で、AIの性能の話ではありません。 変更の範囲を機械で決めることさえ守れば、訳と説明の誤りは担当の確かめで止まります。
下の行も早く効いてきます。 AIの訳と説明がよくできているほど、担当が手を入れずに転送したくなります。 法務の見解として送るのは担当の判断を書き足したものだけ、と最初に決めておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 相手方の名称と担当者の名前(変更履歴の作成者)、取引の目的、開示する予定の情報の種類、そして自社の交渉の目安です。
- 交渉の目安は、自社の手の内そのものとして扱う … 「ここまでなら受け入れる」が書かれた表です。外部のサービスに渡す範囲は、その変更に関係する行だけに絞ります。 表の全体を毎回渡す設計にしません
- API の利用条件を、契約の段階で確かめる … 入力した内容の保存期間や、学習への利用の扱いは、利用する契約とプランで決まります。法務自身が確かめてから使います
- 相手方から預かった情報の扱いに気をつける … まだ締結前のNDAでも、修正案に相手方の事業の情報が書かれていることがあります。取引の目的の欄に書かれた具体的な計画は、渡す前に一般的な表現に置き換えることを検討します
- AIの説明を法的な助言として扱わない … 準拠法・管轄・外国法の効果は、この構成の範囲外です。必要なら外部の弁護士に聞きます
- 受け入れるかの判断を自動にしない …
withinと出た変更をそのまま承認する仕組みは作りません。目安の当てはめは候補で、判断は担当がします
誤りが起きた場合のリスクは、不利な変更を見落として締結することです。起きるのは、変更の取り出し漏れ、履歴に出てこない差の見落とし、訳で義務の強さが変わったことに気づかないことのどれかです。最初の2つは機械で、最後の1つは担当の確かめで止めます。
10まず何から始めるか
1週目:用語の対訳表を作る
過去のメモから、よく出る語の訳を集めます。"Confidential Information"、"Representatives"、"Purpose"、"Residuals"、"injunctive relief"、"shall"/"may" の訳し分け。30語ほどで、NDAに出る語の大半が埋まります。 2名の担当で訳を一つに決めます。
2週目:5通で試す
先月までの修正案から5通を選び、変更のある条項を手で書き出して、手元の Claude の画面で訳と説明をさせます。当時のメモと突き合わせ、義務の強さが訳で変わっていないかを最優先で見ます。
3週目:交渉の目安を書き出す
雛形の条項ごとに「受け入れる範囲」「押し返す点」「代案の例」を表にします。 秘密情報の定義、秘密保持の期間、開示できる相手の範囲、残留情報、返却と破棄、準拠法と管轄。数で書ける目安は、数で書きます。
4週目:変更の取り出しを作る
Python で Word のファイルから挿入・削除・移動を取り出し、変更を含む一文を変更前と変更後の形に組み立てるところまで作ります。この時点では Claude API を呼ばず、取り出した一覧を Word の変更履歴の画面と見比べて、漏れが無いかだけを確かめます。
2か月目: Claude API を呼んで対照表を作る段階に進みます。前回送った版との突き合わせを足し、変更履歴に出てこない差がどれくらいあるかを数えます。3か月目以降: 交渉の目安の引き当てとメモの組み立てを足し、1通あたりの時間を実測します。not_covered の行が月に数件まで減り、もう1名の若手がメモを読んで相談できるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| .xlsx や .docx のようなバイナリの形式はドキュメントのブロックで扱えず、テキストか PDF に変換する必要があること。PDF のリクエストの上限が32MB、ページ数が600(コンテキストの長さが1M未満のときは100)で、パスワードや暗号化の無い PDF に限られること | Claude Docs: PDF support | 2026-10-13 |
構造化出力が output_config.format に JSON スキーマを渡す形で、制約付きのデコードでスキーマに合った出力を返すこと。拒否のときと max_tokens で切れたときはスキーマに合わないことがあること。数値と文字数の制約などがスキーマで使えないこと | Claude Docs: Structured outputs | 2026-10-13 |
Word の文書の中で、段落の書式の変更が pPrChange(変更前の書式と日時・作成者)、削除が del、挿入が ins、段落の移動が moveFrom/moveTo で表されること | Microsoft Learn: How to accept all revisions in a word processing document | 2026-10-13 |
修正を受け入れるか、準拠法・管轄をどう扱うかは、法務と事業部で判断し、必要に応じて外部の弁護士に相談してください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1348)についてのご相談はこちらから。
