【法務×AI】自作ツール開発の要件定義10STEP|稟議・監査に通る設計の作法
法務が自作で業務改善するための
「要件定義」10STEP
──現場の課題を確実に解決する設計の作法
法務実務に特化したツール開発において、最も重要なのは実装ではなく「要件定義」。
証跡・機密保持・誤検出──法務ならではの制約条件を、設計に落とし込むための実践ガイド。
「法務の業務を自動化したい」と考えたとき、いきなりコードを書き始めたり、ChatGPTにプロンプトを打ち込んだりしていませんか?
法務実務に特化したツール開発において、最も重要なのは実装ではなく「要件定義」です。
法務には、証跡(ログ)の保全、機密保持、誤検出への対応といった、一般的なIT開発とは異なる特有の制約条件があります。これらを無視して開発を始めると、「便利だけど社内で使えない」ツールが出来上がります。
本記事では、法務担当者が自力でツールを企画・開発し、かつ組織として「正当に運用」するための要件定義10STEPを解説します。各STEPには「このステップで必ず作る成果物」を示しているので、順番に埋めていけば、そのまま社内稟議や導入企画書のベースにもなります。
ここで言う「リーガルエンジニアリング」とは、法務の業務要件を、設計・実装・統制まで一貫して技術に落とし込むアプローチです。単にコードを書く技術ではなく、台帳・理由書・ログ仕様といった成果物として残し、稟議・監査に耐える形で運用するところまでを含む方法論全体を指します。
- 法務部門で業務効率化に取り組みたいが、何から始めればいいかわからない方
- ノーコード・ローコードや簡単なスクリプトで業務改善を試みている方
- AIツールの導入を検討しているが、情報管理やコンプライアンスの壁に悩んでいる方
10STEPの全体像
まず全体を俯瞰します。10STEPは「前段(課題特定)→ 実装(ロジック・UI)→ 統制(法務としての正当化)」の3フェーズで構成されています。
課題と範囲
ロジックとUI
法務の正当化
| STEP | 名称 | このSTEPで作る成果物 | フェーズ |
|---|---|---|---|
| 01 | ペインの言語化 | ペイン定義シート | 前段 |
| 02 | 入力データの特性定義 | 入力データ台帳 | 前段 |
| 03 | 自動化の範囲と人間の役割 | 人間確定ポイント一覧 | 前段 |
| 04 | 中核ロジックの選定 | ロジック選定表 | 実装 |
| 05 | 誤検出・見逃し・ハルシネーション対応 | 誤検出時のUX仕様 | 実装 |
| 06 | アウトプット形式の定義 | 出力仕様書 | 実装 |
| 07 | UIの選定 | UI選定理由書 | 実装 |
| 08 | 設定ファイルの外部化 | 設定ファイル項目表 | 実装 |
| 09 | 情報管理とセキュリティ | 情報管理チェックシート | 統制 |
| 10 | 証跡・説明責任・再現性 | 監査ログ仕様書 | 統制 |
なぜ法務のツール開発に「独自の要件定義」が必要なのか
一般的なシステム開発における要件定義と、法務ツールの要件定義には、決定的な違いがあります。
通常のシステム開発では「速度」「ユーザビリティ」「コスト」が三大評価軸です。しかし法務ツールでは、これに加えて「正確性の担保」「証跡の保全」「機密情報の管理」という3つの制約が上位に来ます。
たとえば、契約書レビューを自動化するツールを考えてみましょう。一般的な開発者なら「AIに契約書を読ませて、リスク箇所をハイライトする」という機能仕様から始めるでしょう。しかし法務の視点では、以下の問いが先に来ます。
──その契約書データは、外部のAIサービスに送信して問題ないか?(秘密保持義務・情報管理規程との抵触)
──AIが見落とした条項があった場合、誰がどの時点で責任を負うのか?
──処理結果を後から監査で検証できるか?
こうした問いに答えられない状態で実装を始めると、完成後に「社内で使用許可が下りない」という最悪の結末を迎えます。
「SaaSを買えばいいのでは?」への回答
読者が社内で最初に受ける質問は、おそらくこれです。あえて自作する理由は5つあります。①機密性:契約書や訴訟書類を外部サービスに送信できないケースでは、オフライン動作する自作ツールが唯一の選択肢になる。②ニッチ適応:自社固有の契約類型・レビュー基準・社内規程に完全対応したSaaSは存在しない。③コスト:法務AI SaaSの年間ライセンスは数百万円規模。スモールスタートの自作ツールなら、費用をかけずに価値を検証できる。④説明可能性:自作であれば、処理ロジック・判断根拠・適用ルールのすべてを自社で把握でき、監査時に「ブラックボックスではない」と説明できる。⑤データ主権:データの保管場所、ログの管理、処理の再現性を自社でコントロールできるため、統制設計の自由度が格段に高い。この「Build vs Buy」の判断自体が、STEP 1〜3の要件定義で整理できます。なお、AI契約レビューと弁護士法の関係については「AI契約書レビューは弁護士法違反になるのか?」で整理しています。
よくある失敗パターン
本記事の10STEPは、これらの失敗を構造的に防ぐための設計手順です。
前段フェーズ ── STEP 1〜3
課題と範囲の特定
01現場の「痛み(ペイン)」を言語化する
要件定義の出発点は、「何が辛いか」の正確な言語化です。
「契約書レビューに時間がかかる」では不十分です。具体的に、どの工程で、何の判断が詰まっているかを特定する必要があります。
たとえば「契約書レビューに時間がかかる」を分解すると、次のように細分化できます。案件受付時に、どの契約類型かの判別に迷う(5〜10分/件)。秘密保持条項の有無と適切性のチェックに時間がかかる(15〜20分/件)。過去の類似契約を探すのに社内検索が機能していない(10〜30分/件)。レビュー結果を事業部に説明する資料作成が手作業(20〜30分/件)。
こう分解すると、「全部を自動化する」のではなく「案件受付の類型判別だけを補助する」という現実的なスコープが見えてきます。
| 項目 | 記入内容 |
|---|---|
| 業務名 | (例)契約書レビュー |
| 詰まっている工程 | (例)類型判別、条項チェック、類似案件検索、報告書作成 |
| 各工程の所要時間 | (例)類型判別:5〜10分/件 |
| 発生頻度 | (例)月30〜50件 |
| 現在の対処法 | (例)ベテラン担当者の経験則に依存 |
| 改善した場合の期待効果 | (例)類型判別を3分以内に短縮 |
02入力データの特性を定義する
ツールが処理する「入力データ」の正体を正確に把握します。法務の入力データは多様で、その特性がツールの設計を大きく左右します。
データ形式: Word(.docx)、PDF、スキャンPDF(OCRが必要)、メール本文、Excel管理表など、形式によって前処理の難易度が変わります。特にスキャンPDFは文字認識の精度に依存するため、入力とすべきかどうかから検討が必要です。
構造化の度合い: 契約書のように一定の構造がある文書と、メール本文のように非構造のテキストでは、処理のアプローチが根本的に異なります。
機密区分: ここが法務ツールの要件定義で最も重要なポイントです。機密区分を整理する際は、「社内規程上のラベル」(社外秘・極秘等)と「法律上の概念」(営業秘密・個人情報等)を区別して記録します。「社外秘」は社内規程が定めた管理区分であり、「営業秘密」は不正競争防止法上の法律要件(秘密管理性・有用性・非公知性)で判定される概念です。両者は重なることが多いものの、同一ではありません。この区別が、外部APIに送信してよいか、ローカル環境でのみ処理すべきかの設計判断の基礎になります。
見落としやすい観点:相手方から預かった情報
自社の秘密情報だけでなく、相手方から秘密保持義務の下で受領した文書をAIに投入することのリスクにも注意が必要です。NDA(秘密保持契約)の条項によっては、AIサービスへの送信が「第三者への開示」に該当し得ます。入力データ台帳には、自社情報か相手方情報かの区別も記録しましょう。
| 項目 | 記入内容 |
|---|---|
| データの名称 | (例)取引先との業務委託契約書 |
| ファイル形式 | (例)Word(.docx) |
| 構造化の度合い | (例)条文番号あり・見出しあり |
| 平均分量 | (例)10〜30ページ |
| 社内区分(規程ラベル) | (例)社外秘 ※情報管理規程に基づく分類 |
| 法的性質 | (例)営業秘密を含む可能性あり/個人情報あり(署名欄) |
| 情報の帰属 | (例)自社情報 / 相手方からの受領情報 |
| 外部送信の可否 | (例)原則不可(情報管理規程+NDA制約) |
| 例外パターン | (例)相手方から受領した雛形(公開情報) |
03自動化の「範囲」と「人間の役割」を分ける
法務ツール開発で最も重要な設計判断は、「AIの担当範囲」と「人間の確定権限」の境界線を引くことです。
100%の自動化を目指してはいけません。法務業務には、最終的に「人間が判断し、確定する」ことが求められる局面が必ずあります。ツールの役割は、人間の判断を「補助」し、判断に至るまでの工数を削減することです。
契約書等
検出・分類・下書き
採否判断・補正
確定済み成果物
たとえば、契約書のマスキング(個人情報等の秘匿化)であれば、AIがテキストから個人名・住所・口座番号等のパターンを検出してマスキング候補を提示し、人間が候補を確認して「マスキングする/しない」を確定します。誤検出(マスキング不要な箇所の検出)や漏れ(検出されなかった箇所)の補正も人間の役割です。
この境界設計を「人間確定ポイント」と呼びます。人間確定ポイントが明確であれば、ツールの事故が起きても「どこで人間のチェックが入るか」が説明できます。
| 処理工程 | AIの担当 | 人間の担当(確定権限) |
|---|---|---|
| マスキング候補の検出 | パターンマッチで候補を抽出 | 候補の採否を1件ずつ確認・確定 |
| リスク条項の抽出 | 条文を分類しリスクスコアを付与 | スコアの妥当性を確認、最終評価を決定 |
| 要約の生成 | 目的別に要約文を生成 | 要約の正確性を原文と照合して確認 |
- ペイン定義シートで、改善対象の工程を1つに絞り込めているか?
- 入力データ台帳で、社内区分と法的性質の両方を記入したか?
- 人間確定ポイントが最低1箇所以上あるか?(100%自動化になっていないか?)
- 外部送信の可否について、情報管理規程の根拠を特定できたか?
- Build vs Buy の判断を社内で説明できるロジックがあるか?
まずはSTEP 1のペイン定義シートだけでも、この記事の表をGoogleスプレッドシートにコピーして埋めてみてください。それだけで、次に何を設計すべきかが見えてきます。
実装フェーズ ── STEP 4〜8
ロジックとインターフェース
04中核ロジックの選定(AIか、ルールベースか)
ツールの「頭脳」にあたる処理ロジックを選定します。大きく分けて3つの選択肢があります。
① ルールベース(正規表現・辞書マッチ)──定型的なパターンの検出に強い。電話番号、メールアドレス、マイナンバーなど、形式が決まっている情報の検出は、AIよりも正規表現のほうが正確かつ高速です。ブラックボックスにならないため、「なぜこの箇所を検出したか」の説明が容易です。
② AI(LLM:大規模言語モデル)──非定型の判断に強い。「この条項は甲に不利か?」「この契約書の要点は何か?」といった、文脈に依存する判断はAIの得意領域です。ただし、ハルシネーション(もっともらしい嘘)のリスクがあるため、単独での判断確定には適しません。
③ ハイブリッド(ルール+AI)──実務上、最も現実的な選択肢です。定型部分はルールベースで確実に処理し、非定型部分はAIに判断を委ね、最終的に人間が確定します。
筆者が開発した契約書マスキングツール(無料公開中)では、ハイブリッド方式を採用しています。
| 項目 | 内容 |
|---|---|
| 目的 | 契約書中の個人情報・機密情報を検出し、マスキングを施す |
| 入力 | Word文書(.docx) |
| ルール部分 | 正規表現で電話番号・メールアドレス・口座番号等を検出 |
| AI部分 | NLP(自然言語処理)で人名・組織名・住所等の固有表現を検出 |
| 出力 | マスキング候補の一覧 → 人間が確認 → 確定後にWord文書として保存 |
| 法務上の工夫 | 外部APIを使用しない(オフライン動作)。処理ログを自動保存。誤検出率を表示し、人間の確認精度を担保 |
| 学び | 正規表現だけでは人名の検出が困難。NLPだけでは口座番号のような数列パターンを見逃す。両者の組み合わせが法務の実務には不可欠 |
| 処理対象 | ルールベース | AI(LLM/NLP) | 採用方式 | 選定理由 |
|---|---|---|---|---|
| 電話番号の検出 | ○ | △ | ルール | 形式が定型。正規表現で十分 |
| 人名の検出 | △ | ○ | AI | 表記揺れが多く、辞書マッチでは限界 |
| リスク条項の評価 | × | ○ | AI+人間確定 | 文脈依存の判断が必要 |
05誤検出・見逃し・ハルシネーションへの対応設計
法務ツールが出す「誤り」には、性質の異なる3種類があります。設計段階でこれらを区別しておかないと、「何に備えるUXなのか」が曖昧になり、対策が中途半端になります。
法務ツールでは、「精度を上げる」ことよりも先に、「誤りに気づける設計(人間確定+根拠提示+ログ)」を要件として固定することが重要です(AIレビューの精度課題については「Claudeで契約書チェックしたら見落としが95%減った話」も参考になります)。以下、リスクの種類ごとに対策を整理します。
05-1 誤検出(FP)と見逃し(FN)を分けて設計する
誤検出と見逃しは、対策の方向が正反対です。誤検出を減らそうとルールを厳しくすると、見逃しが増えます。法務ツールでは一般的に、見逃しのほうがリスクが大きい(検出されなかった情報がそのまま流出し得る)ため、「多少の誤検出は許容し、見逃しを最小化する」方向にチューニングし、誤検出は人間確定フローで除外する設計が現実的です。
05-2 ハルシネーション対策:根拠・引用・「判断不能」の強制
ハルシネーションへの対策は、誤検出・見逃しとは異なるアプローチが必要です。AIの出力結果に対して、根拠となった条文やガイドラインの該当箇所を引用させること、および、AIが十分な根拠を持たない場合に「判断できません(要・人間レビュー)」と明示させることをMust要件に含めます。AIに「分からない」と言わせることは、法務ツールにおいては弱点ではなく安全装置です。
05-3 人間確定フロー:採否+理由+再実行
3種類のリスクすべてに共通する最終防衛線が、人間確定フローです。AIの出力に対してレビュー優先度(高/中/低)を付与し(「自信度」や「確率」ではなく、「人間が確認すべき度合い」として表示する)、候補ごとに「採用/不採用/保留」を選択でき、その判断がログに残る仕組みを設計します。
| フェーズ | 画面上の動作 | ユーザーの操作 | ログに記録される内容 |
|---|---|---|---|
| 検知 | 候補をハイライト表示+レビュー優先度(高/中/低) | 一覧を確認 | 検知日時、対象箇所、優先度、リスク種別(FP警戒/FN警戒/ハルシネーション警戒) |
| 確認 | 候補ごとに「採用/不採用/保留」ボタン | 判断を選択 | 判断者、判断内容、判断日時 |
| 判断不能 | AIが「要・人間レビュー」を明示 | 手動で確認・判断 | 判断不能フラグ、対応結果 |
| 修正 | 不採用にした箇所の理由入力欄(任意) | 必要に応じ入力 | 修正理由 |
| 再実行 | 修正後に再処理するボタン | 必要に応じ実行 | 再実行日時、変更差分 |
06アウトプット形式の定義
ツールの出力形式は、利用者の業務フローに合わせて設計します。「どんなに良い処理ロジックでも、出力が使いにくければ採用されない」のが現実です。
修正履歴付きWord文書──契約書のレビュー結果を出力する場合、変更箇所が追跡できるWord形式が最も実用的です。比較用Excel──複数の契約書を横断的に比較する場合やチェックリスト形式に適しています。通知メール/チャット連携──案件の受付や期限管理のアラートに。ログファイル(JSON/CSV)──STEP 10の監査ログとして保存します。
出力形式を決める際は、「その出力を受け取った人が、次に何をするか」を想像することが重要です。出力は「次のアクション」に直結するものでなければなりません。
| 出力の種類 | 形式 | 利用者 | 次のアクション |
|---|---|---|---|
| レビュー結果 | 修正履歴付きWord | 事業部担当者 | コメント返信・社内承認 |
| リスク一覧 | Excel(条項別) | 法務部長 | 承認判断・方針決定 |
| 処理ログ | JSON | 法務管理者 | 監査対応・品質管理 |
| 完了通知 | メール / Slack | 依頼者 | 成果物の受領確認 |
07ユーザーインターフェース(UI)の選定
UIの選定は、技術的な好みではなく、「誰が使うか」と「どう配布するか」で決めます。
CLI(コマンドライン)──開発者自身が使うプロトタイプには最適ですが、法務部内の他のメンバーに展開するには不向きです。GUI(デスクトップアプリ)──exe化して配布できれば、ITリテラシーを問わず利用可能です。ただし、社内のソフトウェアインストール規程を確認する必要があります。社内Webアプリ──配布の容易さは最高ですが、サーバーの運用・保守が必要です。Excel VBA / Google Apps Script──導入ハードルが最も低い。既存のExcel業務フローに組み込めるため、「いきなりの変化」を嫌う組織には効果的です。
法務ツールの場合、「教育コスト」と「配布の容易さ」のバランスが選定の鍵です。高機能でも使い方の習得に時間がかかるUIは、法務部門では敬遠されます。
筆者が開発した契約審査支援ツール「Legal Gateway」では、デスクトップGUI(Python + tkinter → exe配布)を採用しました。
| 項目 | 内容 |
|---|---|
| 目的 | 事業部からの契約審査依頼を受け付け、ヒアリング→リスクスコア→論点整理→交渉カード→稟議書一枚化までを支援 |
| GUIを選んだ理由 | ①社内にPython環境がない担当者でも使える ②自社の運用では、Web公開よりもexe配布のほうが承認フローが短かった ③オフラインで動作可能 |
| 注意点 | 実行ファイルの審査が厳しい企業もあるため、情報システム部門の基準に従って選定する必要がある |
| 教育コスト | 初回説明15分で運用開始。画面遷移は「入力→確認→出力」の3ステップに限定 |
| 配布方法 | 社内ファイルサーバーにexeとREADMEを配置。更新時はファイル差し替え |
| 学び | CLIで開発・テストし、機能が安定してからGUIに移行する「CLI→GUI段階移行」が効率的 |
| 評価軸 | CLI | GUI(exe) | Webアプリ | Excel VBA |
|---|---|---|---|---|
| 配布の容易さ | △ | ○ | ◎ | ◎ |
| 教育コスト | × | ○ | ○ | ◎ |
| オフライン動作 | ◎ | ◎ | × | ◎ |
| 機能拡張性 | ◎ | ○ | ◎ | △ |
| 保守・更新 | ○ | △ | ○ | △ |
| 適した場面 | 開発者のみ | 部門内展開 | 全社展開 | 小規模改善 |
08設定ファイルの外部出し(YAML/JSON)
法務ツールは「法改正」や「社内規程の変更」に伴い、処理ルールを更新する必要があります。このとき、ルールがコード内にハードコーディングされていると、プログラミングの知識がない担当者では更新できません。
解決策は、処理ルールを設定ファイル(YAMLやJSON)に外部化することです。
設定ファイルを外部化するメリットは、「法改正対応のたびに開発者に依頼しなくて済む」ことだけではありません。設定変更の履歴管理(いつ、誰が、何を変えたか)も容易になり、STEP 10の監査ログと組み合わせることで、ツールの運用状況を透明化できます。上の例で legal_basis(参照すべき社内規程)や approved_by(承認者)を設定ファイルに明記しているのは、単なる技術設定ではなく「法務判断の根拠と承認プロセスを外部化している」ことを示すためです。
| 設定項目 | 形式 | 変更頻度 | 変更権限者 | 変更手続 |
|---|---|---|---|---|
| 検出パターン(正規表現) | YAML | 法改正時(年1〜2回) | 法務担当者 | 変更申請→法務管理者承認→差分記録 |
| 辞書ファイル(取引先名等) | TXT/CSV | 取引先変更時(随時) | 法務担当者 | 差し替え→変更ログに記録 |
| 参照規程リンク(legal_basis) | YAML | 規程改定時 | 法務管理者 | 規程改定と同時に更新→承認 |
| AIモデルのパラメータ | JSON | モデル更新時 | 開発者(法務部内) | テスト実行→精度確認→承認 |
| 出力テンプレート | Word/Excel | 書式変更時 | 法務担当者 | 差し替え→変更ログに記録 |
| ログ保存設定(期間・場所) | YAML | 規程改定時 | 法務管理者 | 規程改定と同時に更新→承認 |
設定変更の差分管理
設定ファイルの変更履歴は、Gitなどのバージョン管理ツールで管理するのが理想的ですが、最低限、変更前後のファイルを日付付きで保存する運用でも差分の追跡は可能です。重要なのは「誰がいつ何を変えたか」が後から辿れる状態にしておくことです。
- ルールベース/AI/ハイブリッドの選定理由を一言で説明できるか?
- 誤検出(FP)・見逃し(FN)・ハルシネーションのどれを優先的に抑えるか方針が決まっているか?
- 出力形式は、受け取る人の「次のアクション」に直結しているか?
- UI選定は、情報システム部門の基準と整合しているか?
- 設定ファイルの変更時に、申請→承認→差分記録のフローがあるか?
ここまで埋まっていれば、「何を・どう作り・どう変更管理するか」が説明可能な状態です。次の統制フェーズで、法務としての正当化を固めます。
統制フェーズ ── STEP 9〜10
法務としての正当化
ここからの2ステップが、本記事の最大の差別化ポイントです。一般的な技術ブログには書かれない、しかし法務が自作ツールを社内で「正当に」運用するために不可欠な要件です。
09情報管理とデータセキュリティの要件
法務ツールが扱うデータには、以下の法的・規程的な制約がかかる可能性があります。要件定義の段階で、これらの制約を整理し、ツールの設計に反映させる必要があります。
① 営業秘密(不正競争防止法)
契約書に含まれる取引条件、価格情報、技術情報等が「営業秘密」に該当する場合、秘密管理性を維持する方法が必要です。営業秘密に該当するかは、一般に秘密管理性・有用性・非公知性の3要件で整理します。外部クラウドサービスへの送信は、秘密管理性の喪失リスクを伴うため、これらの要件を踏まえた設計判断が求められます。
② 個人情報・個人データ(個人情報保護法)
契約書に含まれる署名者の氏名、住所等の個人情報を処理する場合、利用目的の範囲内であるか、第三者提供に該当しないかを確認します。外部AIサービスに契約書データを送信する場合、当該サービス提供者への個人データの提供に該当し得るか、あるいは委託として整理できるか、および委託先の監督(安全管理措置を含む)の観点で整理が必要です。
外部AIサービス利用時の追加確認ポイント
委託該当性の整理に加えて、以下の3点も必ず確認します。
・国外移転の有無:サービス提供者のサーバーが海外にある場合、個人データの越境移転に関する規律が適用される可能性がある。
・再委託先の確認:AIサービス提供者がさらに下請け(再委託先)にデータ処理を行わせていないかを規約で確認する。
・学習利用の有無:入力データがAIモデルの学習に利用されるかどうかを利用規約で確認する(オプトアウト可能かも含む)。
③ 安全管理措置
個人情報保護法は、個人データの取扱いにあたり、安全管理措置(組織的・人的・物理的・技術的)を講じることを求めています。自作ツールのアクセス権限設定、データの暗号化、保存場所の管理などが該当します。
④ 社内規程(情報管理規程・IT利用規程)
多くの企業には、業務データの外部送信や業務ツールの利用に関する社内規程があります。自作ツールであっても、これらの規程の適用対象になり得ます。事前に情報管理部門に確認し、必要に応じて規程上の整理を行いましょう(生成AIの社内ルール整備については「社内ルールと生成AIの法務リスク」、個人情報保護法の改正動向は「個人情報保護法改正でプライバシーポリシーの何を変える?」で解説しています)。
これらの要件を整理した結果として、「外部APIを使用せず、オフラインで動作するツール設計」が最適解となるケースは少なくありません。
| チェック項目 | 確認内容 | 判定 | 対応策 |
|---|---|---|---|
| 営業秘密の該当性 | 処理対象に営業秘密(秘密管理性・有用性・非公知性)が含まれるか | 該当/非該当 | 該当→外部送信禁止、ローカル処理 |
| 個人情報の有無 | 個人情報・個人データが含まれるか | あり/なし | あり→利用目的確認、安全管理措置 |
| 第三者提供/委託の整理 | 外部サービス利用時、提供か委託か | 提供/委託/非該当 | 委託→委託先監督の体制確認 |
| 国外移転の有無 | サーバーの所在地、処理実行国 | あり/なし | あり→越境移転の規律を確認 |
| 再委託先の確認 | サービス提供者の再委託先の有無 | あり/なし/未確認 | あり→再委託先の管理体制を確認 |
| 学習利用の有無 | 入力データがモデル学習に使用されるか | される/されない/不明 | される→オプトアウトの可否確認 |
| 相手方情報の取扱い | NDA等で受領した相手方情報の処理可否 | 可/不可 | 不可→当該データを処理対象から除外 |
| 外部送信の要否 | ツールが外部サーバーと通信するか | あり/なし | あり→情報管理規程との整合確認 |
| アクセス権限 | ツール及びデータへのアクセス者の範囲 | 限定/全員 | 限定→権限管理の実装 |
| 暗号化の要否 | 保存データの暗号化が必要か | 要/不要 | 要→暗号化方式の選定・実装 |
10証跡(監査ログ)・説明責任・再現性
自作ツールを社内に配布する場合、法務部門としての説明責任が問われます。
「なぜこのマスキングロジックにしたのか」「どのAIモデルを使用し、データはどこまで送信されているのか」「処理結果を誰がいつ確定したのか」──これらの問いに、後から正確に答えられる仕組みを、ツールに組み込む必要があります。
監査ログに最低限記録すべきは、いつ(処理日時)、誰が(操作者のID・氏名)、何を(対象ファイル名・処理内容)、どのルールで(適用した設定ファイルのバージョン)、結果はどうなったか(処理結果の要約、採用/不採用の判断)の5項目です。
ログは「お守り」ではありません。万が一の事故が発生した際に「適切に運用していた」ことを証明する最大の武器です。事故後に「ログがない」状態は、法務として最も説明が困難な状況を生みます。
さらに、ログが持つもう一つの重要な価値は「再現性(Reproducibility)」です。ログにモデル/ルール/設定ファイルバージョン/入力ファイルのハッシュが揃っていれば、同じ条件で処理を再実行し、同じ結果を得ることができます。これは、事故時の原因特定、監査時の検証、そして品質改善のための比較テストの基盤になります。「証跡」は過去を説明するため、「再現性」は過去を検証するためのものです。
筆者の開発ツールでは、処理ごとにJSON形式のログを自動出力しています。
ファイルのハッシュ値を記録することで、入出力ファイルの改ざん検知と処理の再現性を同時に確保しています。不採用の理由も記録し、判断の合理性を事後検証できる設計です。
| ログ項目 | 記録内容 | 形式 | 必須/任意 | 主な用途 |
|---|---|---|---|---|
| 処理日時 | ISO 8601形式のタイムスタンプ | String | 必須 | 証跡 |
| 操作者 | 社員ID・氏名 | String | 必須 | 証跡 |
| ツール名・バージョン | 使用したツールとそのバージョン | String | 必須 | 再現性 |
| 設定ファイルバージョン | 適用したルールのバージョン | String | 必須 | 再現性 |
| 入力ファイル情報 | ファイル名・ハッシュ値 | String | 必須 | 再現性・改ざん検知 |
| 処理結果概要 | 検出数・確定数・不採用数 | Number | 必須 | 品質管理 |
| 不採用理由 | 人間が不採用とした理由 | String | 任意(推奨) | 証跡・品質改善 |
| 出力ファイル情報 | ファイル名・ハッシュ値 | String | 必須 | 再現性・改ざん検知 |
| 保存期間 | 社内規程に準拠 | — | 規程による | — |
| 閲覧権限 | 法務管理者、監査部門 | — | 規程による | — |
要件定義テンプレート:Must / Should / Could
ここまでの10STEPを踏まえ、法務ツール開発の要件定義をMust / Should / Couldの3段階に整理します。社内稟議の添付資料としても使えるよう、非機能要件も含めました。
機能要件
- 誤検出を見逃さないための人間確定フロー(STEP 3・5)
- 処理ログの自動保存+再現性の確保(STEP 10)
- 機密情報の適切な取扱い(外部送信の制御)(STEP 9)
- 入力データの機密区分に応じた処理分岐(STEP 2)
- AIが「判断不能」を明示する機能(STEP 5)
- 設定ファイルの外部化+変更承認フロー(STEP 8)
- 処理結果の差分比較機能(STEP 6)
- 再実行(同じ設定で再処理)の容易性(STEP 5・10)
- 操作ガイド / READMEの同梱(STEP 7)
- AIモデルの切替機能(ローカルLLM ↔ API)
- 要約の複数モード(概要版・詳細版・条項別)
- 処理結果の統計ダッシュボード
- 学習用データの出力(※社内規程との整合を要確認)
非機能要件
| 項目 | 要件 | 備考 |
|---|---|---|
| 処理速度 | 1文書あたり○秒以内 | 業務フローのボトルネックにならない水準 |
| 配布方法 | exe / フォルダコピー | インストール作業を最小化(社内基準に準拠) |
| 保守・更新 | 設定ファイル差し替え+承認で対応 | 開発者不在でも最低限の運用継続 |
| 権限管理 | フォルダアクセス権で制御 | 社内ADと連携(Could) |
| 動作環境 | Windows 10/11、オフライン | 社内標準PCで動作すること |
まとめ:要件定義は「稟議書」の裏返しである
本記事で解説した10STEPの要件定義は、実はそのまま社内稟議書のロジックに転用できます。
稟議書で求められる「なぜこのツールを導入するのか」「リスクはどう管理するのか」「誰が責任を持つのか」という問いへの回答は、すべてこの10STEPの成果物の中にあります。
| 稟議書で問われること | 対応するSTEP | 提出する成果物 |
|---|---|---|
| 導入の目的・必要性 | STEP 1 | ペイン定義シート |
| 処理対象と範囲 | STEP 2・3 | 入力データ台帳、人間確定ポイント一覧 |
| 技術的な妥当性 | STEP 4・7 | ロジック選定表、UI選定理由書 |
| リスク管理策 | STEP 5・9 | 誤検出対応UX仕様、情報管理チェックシート |
| 運用・保守の体制 | STEP 8・10 | 設定ファイル項目表、監査ログ仕様書 |
| 出力と業務フローへの接続 | STEP 6 | 出力仕様書 |
要件定義を丁寧に行うことは、「良いツールを作る」ためだけでなく、「組織としてそのツールを正当に運用する」ための基盤を整えることでもあります。
次のステップ
本記事の10STEPを実装に落とした具体例として、筆者は以下のツールを開発・運用しています。いずれも無料で公開中です。
これらのツールの設計・実装・配布の詳細は、今後の連載記事で順次公開していきます。
10STEPで設計したツールを、AIプロンプトで即実行する
本記事の要件定義10STEPは「何を作るか」の設計図です。その設計図をもとにAIに指示を出すためのプロンプトは、以下のプロンプト集ですぐに使えます。契約レビュー・情報管理・法改正対応──法務実務の各領域に特化した実戦プロンプトを収録しています。
まずはSTEP 1のペイン定義シートと STEP 2の入力データ台帳だけ、この記事の表をGoogleスプレッドシートやExcelにコピーして埋めてみてください。「どの業務が辛いか」「そのデータは外に出せるか」の2点が整理できれば、STEP 3以降は自然に進みます。次回記事までにここだけ準備しておくと、連載全体を通して手を動かしながら読み進められます。
次回予告:「オフラインAIで作る理由──外部送信NGの現場で法務ツールを動かす設計思想」
なぜ法務がクラウドAIに慎重になるべきなのか?ローカルLLMやオフライン動作するPythonアプリ(exe配布)が法務の最適解になる理由を、情報管理・営業秘密・個人情報の観点から深掘りします。
🔍 関連ガイドへ進む
この記事と関連度の高い実務ガイドをまとめています。次に読むならこちら。
