法律事務所のWebの相談予約フォームから、相談者・相手方・関係者の名前と会社名を取り出し、利益相反の確認に使う当事者リストにそろえる
Webの相談予約フォームが届くたびに、相談者・相手方・関係者の名前と会社名を取り出して表記をそろえ、取扱い事件の当事者索引と突き合わせた一覧を事務局に渡します。受けてよい事件かの判断は弁護士が行います。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Python/Zapier
- 対象業界
- 士業
- 対象部門
- 法務
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 相談予約フォームの申込みがメールで事務局に届く
- 事務局が申込みを開き、相談者の氏名・会社名と、「相手方」の欄を読む
- 相談内容の文章を読み、相手方や関係者の名前を書き出す
- 書き出した名前を、事件管理の仕組みで1つずつ検索する
- 当たったものがあれば、その事件の担当弁護士と事件名を書き留める
- 結果を受付の一覧に書き、担当弁護士にチャットで確認を依頼する
- 弁護士の確認が済んだら、相談者に日程の案内を送る
- 自動相談予約フォームの送信をきっかけに、Webhook で Zapier の Zap が動く
- 自動AI by Zapier が、フォームの項目と相談内容の文章から、人と会社の名前を役割付きで取り出す
- 自動Code by Zapier(Python)が、取り出した名前の表記をそろえた照合用の文字列を作る
- 自動名前ごとに、当事者索引のスプレッドシートを照合用の文字列で引く
- 自動名前・役割・根拠の文・照合の結果を、利益相反の確認の一覧に1行ずつ書く
- 自動事務局のチャットに、申込みの番号と「確認の一覧ができた」ことを知らせる
- 人事務局が一覧を見て、当たりが無かった会社名を事件管理の仕組みで別の表記でも検索する
- 人当たりがあったもの、迷うものを担当弁護士が確かめ、受けてよいかを決める
- 人確認が済んでから、相談者に日程の案内を送る
各工程の詳しい説明を読む
- 相談予約フォームの申込みがメールで事務局に届く
- 事務局が申込みを開き、相談者の氏名・会社名と、「相手方」の欄を読む
- 相談内容の文章を読み、相手方や関係者の名前を書き出す
- 書き出した名前を、事件管理の仕組みで1つずつ検索する
- 当たったものがあれば、その事件の担当弁護士と事件名を書き留める
- 結果を受付の一覧に書き、担当弁護士にチャットで確認を依頼する
- 弁護士の確認が済んだら、相談者に日程の案内を送る
(a)3番で拾い漏らす。 「元請けの〇〇建設」「前の勤め先」「夫の会社」。相談内容の文章の書き方はさまざまで、名前が文の途中に埋まっていると、急いでいる日ほど読み飛ばします。 書き出されなかった名前は、4番で検索されません。
(b)4番で表記ゆれに負ける。 「(株)〇〇建設」「〇〇建設株式会社」「マルマルケンセツ」。事件管理の仕組みの検索は、登録されている表記と合わないと当たりません。「該当なし」が、本当に無いのか、表記が違うだけなのかを区別できません。
(c)確認の前に日程が進む。 申込みが重なる月曜は、確認の依頼が滞ります。その間に相談者から「いつ相談できるか」と電話が入り、確認が済む前に日程を伝えてしまうことがあります。 後から相手方が既存の依頼者だと分かると、日程を取り消し、理由を言わずに断ることになります。
(d)記録が残らない。 どの名前を検索して、何件当たったか。受付の一覧には「確認済み」としか書かれていないことが多く、後から「なぜこの相談を受けたのか」を説明できません。
- 【自動】 相談予約フォームの送信をきっかけに、Webhook で Zapier の Zap が動く
- 【自動】 AI by Zapier が、フォームの項目と相談内容の文章から、人と会社の名前を役割付きで取り出す
- 【自動】 Code by Zapier(Python)が、取り出した名前の表記をそろえた照合用の文字列を作る
- 【自動】 名前ごとに、当事者索引のスプレッドシートを照合用の文字列で引く
- 【自動】 名前・役割・根拠の文・照合の結果を、利益相反の確認の一覧に1行ずつ書く
- 【自動】 事務局のチャットに、申込みの番号と「確認の一覧ができた」ことを知らせる
- 【人】 事務局が一覧を見て、当たりが無かった会社名を事件管理の仕組みで別の表記でも検索する
- 【人】 当たりがあったもの、迷うものを担当弁護士が確かめ、受けてよいかを決める
- 【人】 確認が済んでから、相談者に日程の案内を送る
8番目は、この構成でも人のままです。 職務を行い得ない事件に当たるかは、事件の中身と、依頼者の同意の有無などを踏まえて弁護士が判断します。一覧が出すのは「当たった」「当たらなかった」という照合の結果までです。
9番目を自動にしないのも、意図してのことです。 日程の案内をZapから送ると、確認が済む前に相談者とのやり取りが進みます。案内は、弁護士の確認が済んだことを事務局が見てから、人が送ります。
02今回想定するシステム構成
Webサイトの相談予約フォーム │ 送信 ▼【トリガー】Webhooks by Zapier(Catch Hook) Zapier ├──▶ AI by Zapier ── 名前・会社名を役割付きで取り出す │ 相談者 / 相談者の会社 / 相手方 / 関係者 ├──▶ Code by Zapier(Python)── 表記をそろえた照合用の文字列 ├──▶ Google スプレッドシート(当事者索引)── 照合用の文字列で引く ├──▶ Google スプレッドシート(利益相反の確認の一覧)── 1名1行で書く └──▶ 所内のチャット ── 申込み番号だけを知らせる ▼ 【事務局が別の表記でも検索】──▶【担当弁護士が受けてよいかを決める】 ▼ 相談者へ日程の案内(人が送る)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Zapier(Webhooks by Zapier、Paths by Zapier) | Make、n8n、Power Automate |
| 生成AI | AI by Zapier(名前と会社名の取り出し) | Claude API、OpenAI API |
| 処理 | Code by Zapier(Python の標準ライブラリで表記をそろえる) | Formatter by Zapier |
| 当事者索引・確認の一覧 | Google スプレッドシート | 事件管理の仕組みの書き出し機能 |
| 通知 | 所内のチャット | メール |
事件管理の仕組みは、新しく足すものではありません。 この構成は、事件管理の仕組みから書き出した当事者索引を読むだけで、事件管理の仕組みへは何も書き込みません。 当事者索引は毎日書き出し直し、スプレッドシートを置き換えます。
土台になるのは Webhooks by Zapier です。 Zapier のヘルプによると、Catch Hook は送られてきたデータを解析して Zap に渡し、Zapier が発行する固有の URL にフォームから送信します。トリガーで受け取れるデータは最大10MBです。 Webhooks by Zapier は無料プランでは使えず、有料のプランが前提です。
AI by Zapier は、Zap の中に生成AIの手順を足す機能です。 プロンプトの欄に指示を書き、前の手順のデータを差し込めます。出力の項目(Output Fields)に名前・型・説明を定義すると、後の手順がその項目を参照できます。 使うモデルは OpenAI、Anthropic、Google Gemini、Azure OpenAI、Amazon Bedrock から選べ、自社のAPIキーを使う(Bring Your Own Key)こともできるとされています。相談の申込みという機密性の高い情報を扱うので、どの提供元のモデルを、どの契約条件で使うかを事務所として決めて選びます。
03どうやって実装するのか
処理の起点を決める
相談予約フォームの送信を起点にします。 フォームの送信先に、Webhooks by Zapier の Catch Hook が発行した URL を設定し、送信と同時に Zap が動くようにします。メールで届く通知を読ませる方式より、項目が崩れずに届きます。
申込みごとに必ず1回だけ動くようにします。 フォームの側で申込み番号を振り、Zap の最初に「この番号はもう処理したか」を確認の一覧で引きます。同じ申込みが二重に送られても、一覧に同じ名前が2回並ばないようにするためです。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 申込み | 申込み番号、相談者の氏名・ふりがな、会社名、「相手方」の欄、「その他の関係者」の欄、相談の分野、相談内容の文章 | 相談予約フォーム(Webhook) |
| 当事者索引 | 取扱い事件ごとの依頼者・相手方・関係者の名前、照合用の文字列、事件番号、事件名、担当弁護士、終了の有無 | 事件管理の仕組みから書き出したスプレッドシート |
| 表記をそろえる規則 | 会社の種類の表記(株式会社、(株)、有限会社など)の一覧、取り除く記号 | Code by Zapier の中に書く |
質を決めるのは、当事者索引の「照合用の文字列」です。 申込みの側と索引の側で、同じ規則で作った文字列どうしを突き合わせることが、この構成のすべてです。索引の側は、書き出すたびに同じ Python の規則でこの列を作り直します。
相談内容の文章は、名前を拾うためだけに使います。 確認の一覧には、名前と、その名前を拾った根拠の文だけを写し、相談内容の全文は写しません。 一覧を見る人を増やしても、相談の中身が広がらないようにするためです。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 申込みの項目と相談内容 | Catch Hook が受け取ったデータ | 名前の取り出し |
| 当事者索引の該当行 | Google スプレッドシートの行の検索 | 照合 |
| 処理済みの申込み番号 | 確認の一覧の行の検索 | 二重処理の防止 |
索引の検索は、照合用の文字列の列で引きます。 Zapier のヘルプによると、行の検索の手順では、検索する列(Lookup Column)と検索する値(Lookup Value)を指定し、一致した行のデータを受け取ります。同じ名前が複数の事件に出てくることがあるので、複数の行を返す高度な検索の手順を使い、最大500行まで受け取ります。
照合用の文字列で当たるのは、規則でそろえられる表記ゆれまでです。 略称、旧商号、グループ会社、代表者の個人名は、規則ではそろいません。そこは第7章の人間の確認で、事務局が事件管理の仕組みで検索します。
AIへ渡す前に整形する
- 名前の取り出し … AI by Zapier が、名前を役割付きで返します(次の節)
- 1名1件に分ける … Code by Zapier が、取り出した名前を1名ずつの辞書の並びにして返します。辞書の並びを返すと、後の手順が名前の数だけ繰り返し動きます
- 表記をそろえる … 名前ごとに、次の規則で照合用の文字列を作ります
| 規則 | 例 |
|---|---|
全角・半角をそろえる(Python の unicodedata の NFKC 正規化) | 「マルマル」→「マルマル」、「ABC」→「ABC」 |
| 空白と記号を取り除く | 「〇〇 建設」→「〇〇建設」 |
| 会社の種類の表記を取り除く | 「株式会社」「(株)」「有限会社」「合同会社」など |
| 英字を大文字にそろえる | 「Abc」→「ABC」 |
規則は、次のような短い Python で書けます。
import json, re, unicodedata
ORG_WORDS = ["株式会社", "(株)", "有限会社", "(有)", "合同会社", "一般社団法人", "医療法人"]
def match_key(name):
s = unicodedata.normalize("NFKC", name) # 全角・半角をそろえる(「(株)」も「(株)」になる)
for w in ORG_WORDS:
s = s.replace(w, "")
s = re.sub(r"[\s・.,、。\-]", "", s) # 空白と記号を取り除く
return s.upper()
parties = json.loads(input_data["parties"])
output = [dict(p, application_id=input_data["application_id"],
match_key=match_key(p["name"]) if p["name"] else "")
for p in parties]
この規則はAIにさせません。 同じ入力に必ず同じ答えを返すことが、照合の前提だからです。Zapier のヘルプによると、Code by Zapier の Python は標準ライブラリと requests などが使え、追加のライブラリは入れられません。 上の規則は、標準ライブラリだけで書けます。
カタカナとひらがな、漢字と読みの違いは、この規則ではそろえません。 「〇〇建設」と「マルマルケンセツ」は別の文字列のままです。フォームにふりがなの欄があれば、ふりがなでも照合用の文字列を作り、両方で引きます。
AIに処理させる
させるのは、申込みの中から人と会社の名前を見つけ、書かれていたとおりに書き写し、役割と根拠の文を付けることだけです。
| 返させるもの | 内容 | 判断できないとき |
|---|---|---|
| 名前 | 書かれていたとおりの表記 | 「兄」「元請け」のように名前が無ければ、名前の欄は空 |
| 役割 | 相談者/相談者の会社/相手方/関係者 | 決められなければ「関係者」 |
| 種類 | 個人/法人・団体 | 分からなければ「不明」 |
| 根拠の文 | 名前が出てくる文をそのまま | - |
| 続柄・立場 | 「兄の妻」「元請け」など、文章に書かれた言い方 | 書かれていなければ空 |
名前が書かれていない当事者も、続柄だけで返させます。 「兄と、兄の妻と」と書かれていれば、名前は空で、続柄が「兄」「兄の妻」の2行が出ます。事務局はこれを見て、相談者に名前を聞く必要があると分かります。 名前が無いからといって行ごと落とすと、照合されない当事者が黙って残ります。
| させないこと | 理由 |
|---|---|
| 正式な会社名への言い換え | 推測した名前で照合すると「該当なし」が出る |
| 表記をそろえること | プログラムが決まった規則で行う |
| 利益相反に当たるかの判断 | 弁護士が事件の中身を踏まえて判断する |
| 相談内容の要約 | 一覧に相談の中身を広げない |
| 名前が無い当事者の名前の推測 | 「兄」の名前を相談者の姓から作らない |
最後の行は、意外に起きます。 相談者が「山田」で、「兄と遺産のことで」と書かれていると、AIは「山田〇〇(兄)」のように姓を補いたがります。補った名前で照合して当たらなければ、確かめたことになってしまいます。
指示内容を固定する
あなたは法律事務所の事務局で、相談予約の申込みから、利益相反の確認に使う
当事者の名前を拾い出す担当です。申込みに書かれていることだけを使ってください。
【拾い出すもの】
申込みの項目と相談内容の文章に出てくる、すべての人と会社・団体。
相談者本人、相談者の会社、相手方、それ以外の関係者(家族、取引先、勤務先、
保険会社、管理会社など)を含めます。
【それぞれについて返すこと】
- name ........... 書かれていたとおりの表記。名前が書かれていなければ空
- role ........... applicant(相談者)/ applicant_org(相談者の会社)/
opponent(相手方)/ related(関係者)
- kind ........... person(個人)/ organization(法人・団体)/ unknown
- relation ....... 文章に書かれた続柄や立場(「兄の妻」「元請け」など)。無ければ空
- evidence ....... その名前や続柄が出てくる文を、申込みからそのまま写したもの
【厳守事項】
- 名前は書かれていたとおりに写してください。「(株)」を「株式会社」に直す、
全角を半角にする、正式な社名に言い換える、といったことをしないでください。
- 名前が書かれていない当事者も、relation だけを入れて1件として返してください。
名前を推測して補わないでください。相談者の姓を家族の名前に付けないでください。
- 相手方かどうか決められないときは related にしてください。
- 同じ人や会社が何度出てきても、表記が同じなら1件にまとめてください。
表記が違う場合は、まとめずに別々に返してください。
- 利益相反に当たるかどうか、相談を受けられるかどうかを書かないでください。
- 相談内容の要約を書かないでください。
- 弁護士・裁判所・警察などの公的機関の名前は、当事者ではないので返さないでください。
ただし、相手方の代理人として書かれた弁護士や法律事務所は related として返してください。
【申込みの項目】{form_fields}
【相談内容】{consultation_text}
「表記が違う場合は、まとめずに別々に返す」が大事です。 AIは「〇〇建設」と「〇〇建設さん」を賢くまとめますが、「〇〇建設」と「〇〇ホールディングス」もまとめることがあります。まとめるかどうかの判断は、照合用の文字列の側でつけます。
相手方の代理人の行も、見落とされやすいところです。 相手方の代理人として名前が挙がった法律事務所が、事務所の過去の依頼者であることもあります。
出力形式を固定する
AI by Zapier の出力の項目(Output Fields)に、parties(次の形のJSONを入れた文字列)と no_name_count(数値)を定義します。 後の手順はこの項目を参照します。
{
"parties": [
{
"name": "",
"role": "applicant | applicant_org | opponent | related",
"kind": "person | organization | unknown",
"relation": "",
"evidence": ""
}
],
"no_name_count": 0
}
Code by Zapier が、これを1名ずつに分けて照合用の文字列を足します。
[
{ "application_id": "W-2026-1007-031", "name": "(株)〇〇建設",
"role": "opponent", "kind": "organization", "relation": "元請け",
"evidence": "元請けの(株)〇〇建設から代金を払ってもらえません。",
"match_key": "〇〇建設" }
]
1つ目の理由は、name と match_key を別の項目に持てることです。 一覧には書かれていたとおりの表記と照合に使った文字列が並ぶので、事務局は「何を検索したのか」を一目で確かめられます。
2つ目は、evidence で拾い漏れを確かめられることです。 事務局は一覧の根拠の文を読み、申込みの文章に、根拠として挙がっていない名前が残っていないかを見ます。
3つ目は、no_name_count で「名前を聞く必要がある申込み」を分けられることです。 Paths by Zapier で、この数が1以上の申込みだけ、チャットの知らせに「名前の確認が要る」と添えます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 相談予約フォーム | Webhooks by Zapier の Catch Hook | 申込みの項目と相談内容を受け取る |
| AI by Zapier | Zap の中の手順 | 名前の取り出し |
| Code by Zapier | Zap の中の手順(Python) | 1名ずつに分け、照合用の文字列を作る |
| 当事者索引 | Google スプレッドシートの行の検索 | 照合用の文字列で引く |
| 利益相反の確認の一覧 | Google スプレッドシートの行の追加 | 1名1行で書く |
| 所内のチャット | メッセージの送信 | 申込み番号と件数だけを知らせる |
確認の一覧には、1名1行で次の列を書きます。 申込み番号、受付日時、名前(書かれていたとおり)、照合用の文字列、役割、種類、続柄、根拠の文、索引で当たった事件番号・事件名・担当弁護士・終了の有無、事務局の追加検索の結果、弁護士の確認の結果。最後の2列は人が書きます。
チャットの知らせには、名前も相談の中身も書きません。 「申込み W-2026-1007-031 の確認の一覧ができました(当事者4名、索引で当たり1件、名前の確認が要るもの1件)」のように、件数だけにします。所内のチャットは、事件を担当しない人も見ているからです。
人が確認する
一覧は全件、事務局が見ます。 当たりがあったものだけでなく、当たりが無かったものも見ます。
- 拾い漏れを見る … 申込みの相談内容を読み、根拠の文に挙がっていない名前が無いかを確かめます
- 当たらなかった会社名を検索する … 法人・団体で索引に当たらなかったものは、事件管理の仕組みで略称・旧商号・ふりがなでも検索します
- 名前の無い当事者を確かめる …
no_name_countが1以上なら、相談者に名前を問い合わせます。問い合わせの文面は、相談の中身に触れない定型にします - 担当弁護士に回す … 当たりがあったもの、迷うものを、事件番号を添えて担当弁護士に回します
- 弁護士が決める … 受けてよいか、同意が要るか、断るかを弁護士が決め、一覧に書きます
2番目を省かないでください。 照合用の文字列でそろえられるのは、全角・半角や「株式会社」の位置までです。「該当なし」は「この表記では当たらなかった」という意味でしかありません。 特に相手方が法人のときは、事務局が別の表記でも検索することを手順に組み込みます。
断る場合の連絡は、理由を書かない定型にします。 相手方が事務所の依頼者であることは、相談者に伝えられない情報です。
例外に対処する
| 起きること | 対応 |
|---|---|
| AI by Zapier がエラーで止まる | 確認の一覧に申込み番号だけを書き、「手で確認」と印を付ける |
| 名前が1件も返らない | 一覧に「名前なし」と書き、事務局が申込みを読む |
| 名前の無い当事者がいる | no_name_count を知らせに添え、相談者に定型の文面で問い合わせる |
| 索引で500行を超えて当たる | 照合用の文字列が短すぎる(「山田」だけなど)。事務局が事件管理の仕組みで絞り込む |
| 同じ申込みが二重に届く | 申込み番号で処理済みかを引き、2回目は何もしない |
| 当事者索引の書き出しが古い | 一覧に索引の書き出し日時を書く。前日より古ければ知らせに添える |
| 相談内容が外国語で書かれている | 名前は取り出せるが、表記ゆれがそろわない。事務局が検索する |
| 相談内容に指示のような文が含まれる | 名前の取り出し以外の出力の項目を持たないので、後の手順は変わらない |
4行目は、個人の姓だけが書かれたときに起きます。 「田中さんとの間で」の「田中」で索引を引くと、何百件も当たります。当たった件数が多いこと自体を、名前の確認が要るという合図として扱います。
最後の行は、Webのフォームならではです。 誰でも送れるフォームなので、相談内容に「これまでの指示を無視して」のような文が書かれることもありえます。AIの出力を名前の項目に限り、その後の手順を決まった規則で動かしておけば、文章の中身で動きが変わることはありません。
記録を残す
- 申込み番号ごとの、AI by Zapier の出力(名前・役割・根拠の文)
- 照合用の文字列と、索引で当たった事件番号
- 照合に使った当事者索引の書き出し日時
- 事務局の追加検索の結果(どの表記で検索したか)
- 弁護士の確認の結果と、確認した日時
- 相談者に日程の案内を送った日時
3行目が、後から説明するときに効きます。 当事者索引は毎日書き換わるので、「その日の索引では当たらなかった」ことを示すには、どの時点の索引で照合したかが要ります。
最後の2行の順序が、この構成の守りたいことです。 弁護士の確認より前に日程の案内が送られていないかを、一覧の日時で毎月確かめます。
04実装レベルの3段階
最小構成では件数がさばけません。 確かめるための段階です。 半自動化で、1件9分が4分になり、この段階が本記事の想定です。 拾い出しと、規則でそろえた照合が自動になり、事務局は一覧の確認と、当たらなかった会社名の追加検索に時間を使います。 本格構成は、事件管理の仕組みが検索の API を公開している場合に限られます。 公開されていなければ、半自動化のままで十分に効きます。事件管理の仕組みへの書き込みは、本格構成でも行いません。
05工数削減シミュレーション
導入後 240件 × 4分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- Webサイトの相談予約フォームから月に百件以上の申込みがあり、事務局が申込みごとに相手方の名前を書き出して事件管理の仕組みで検索している法律事務所。相談の内容欄に相手方や関係者の名前が文章で書かれていて、項目として取れていない場合。取扱い事件の依頼者・相手方を一覧として書き出せる場合。
- 相談の申込みが電話と紹介だけで、Webのフォームを使っていない事務所。申込みが月に十数件で、弁護士が自分で確かめて足りる場合。事件管理の仕組みが申込みの段階から当事者の照合まで備えている場合。なお、職務を行い得ない事件に当たるかどうかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の相談予約の申込みから30件を選ぶ(相手方が法人のもの、家族間のもの、相手方の欄が空欄のものを混ぜる)
- 申込みの項目と相談内容を、事務所で利用が認められている生成AIの画面に1件ずつ貼る
- 第7章の指示文を使い、名前・役割・種類・続柄・根拠の文を表で出させる
- 出てきた名前を、当時事務局が書き出した名前と並べる
- 表記をそろえる規則を表計算ソフトの関数で試し、当時の検索で当たった事件に当たるかを見る
30件は必ずやってください。 Zap を組む前に、拾い出しの漏れと、表記の規則で当たる範囲を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の書き出しと同じか、それより多くの名前が拾えた | Webhook と索引の照合の自動化に進む |
| 社名を正式名称に直した、家族に姓を補った | 指示の書き方で直る。構成は有効 |
| 規則でそろえても当時の当たりに当たらない | 索引の書き方の見直しが先。略称・旧商号を索引に足す |
| 相談内容に名前がほとんど無い | フォームの項目の見直しが先。相手方の欄を必須にする |
3行目が出たら、当事者索引の作り方を見直す好機です。 事件管理の仕組みに、相手方の略称や旧商号を登録する欄があれば、それも索引に書き出して照合用の文字列を作ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| AIが社名を正式名称に直す | 書かれていたとおりに写すよう指示し、表記をそろえるのはプログラムだけにする |
| 家族の名前に相談者の姓を補う | 指示で禁じ、名前の無い当事者は続柄だけで返させる |
| 表記ゆれで索引に当たらない | 申込みと索引の両方で、同じ規則の照合用の文字列を作る |
| 「該当なし」を確認済みと受け取る | 法人は事務局が別の表記でも検索することを手順にする |
| 姓だけで何百件も当たる | 件数の多さを、名前の確認が要る合図として扱う |
| 当事者索引が古い | 毎日書き出し、一覧に書き出し日時を書く |
| 相手方の代理人を拾わない | 代理人の弁護士・法律事務所を related で返すよう指示する |
| 一覧に相談内容が広がる | 一覧には名前と根拠の文だけを写す |
| チャットの知らせに名前が載る | 知らせは申込み番号と件数だけにする |
| 確認の前に日程の案内が送られる | 案内は人が送る。 一覧の日時で毎月確かめる |
上の4行が、この構成の失敗のほとんどです。 どれも、「当たらなかった」ことを「問題がない」と読んでしまうことにつながります。照合の結果は「この表記では当たらなかった」であって、確認が済んだことではないと、一覧の見出しにも書いておくと効きます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 相談者の氏名・連絡先・会社名、相手方と関係者の名前、相談内容の文章、そして事務所の取扱い事件の依頼者・相手方・事件名の一覧です。
- AI by Zapier のモデルを、契約条件を見て選ぶ … AI by Zapier は複数の提供元のモデルを選べ、自社のAPIキーを使うこともできます。相談の申込みを、どの提供元に、どの条件で渡すのかを事務所として決めてください
- AIに渡すのは申込みだけにする … 当事者索引はAIに渡さず、照合はスプレッドシートの検索で行います。取扱い事件の一覧そのものを生成AIに渡さないことが、この構成の前提です
- 一覧に相談の中身を写さない … 確認の一覧を見る人は、事務局と担当弁護士に限ります。それでも、写すのは名前と根拠の文までにします
- 相手方が依頼者であることを、相談者に伝えない … 断るときは理由を書かない定型の文面にします
- 確認が済むまで相談の中身に進まない … 弁護士法第25条や弁護士職務基本規程は、相手方の協議を受けた事件などについて職務を行ってはならないとしています。日程の案内と相談の聞き取りは、弁護士の確認の後にします
- 判断を自動にしない … 職務を行い得ない事件に当たるか、依頼者の同意で受けられるかは、弁護士が判断します。この構成が出すのは、照合の結果までです
誤りが起きた場合のリスクは、利益相反のある相談を受けてしまうことと、相談の中身や事務所の依頼者の情報が、見るべきでない人に広がることの2つです。前者は拾い漏れと「該当なし」の読み違いから、後者は一覧と知らせの書き方から起きます。どちらも、AIの出力を名前に限り、判断を人に残す設計で防ぎます。
10まず何から始めるか
1週目:当事者索引を書き出す
事件管理の仕組みから、取扱い事件の依頼者・相手方・関係者・事件番号・事件名・担当弁護士・終了の有無を書き出し、スプレッドシートにします。書き出しを毎日繰り返せる手順にすることが、最初の準備作業です。
2週目:30件で試す
先月の申込みから30件を選び、生成AIの画面で名前を拾い出させます。当時事務局が書き出した名前と並べ、拾い漏れと、社名の言い換えが無いかを最優先で見ます。
3週目:表記の規則を決める
全角・半角、空白と記号、会社の種類の表記の扱いを決め、Python で照合用の文字列を作る規則を書きます。同じ規則で索引の側の列も作り、30件で当時の当たりが再現できるかを確かめます。
4週目:Zap をつなぐ
Webhook、AI by Zapier、Code by Zapier、索引の検索、確認の一覧への書き込み、チャットの知らせまでを作ります。この時点では、事務局がこれまでどおり手で書き出したうえで、一覧と見比べる運用にします。
2か月目: 手での書き出しをやめ、一覧の確認と追加検索に切り替えます。拾い漏れの件数を毎週数えます。3か月目以降: 1件9分が何分になったかを実測し、日程の案内が弁護士の確認より前に送られた件数がゼロであることを確かめます。事務局が「該当なし」を確認済みと読まなくなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 弁護士は、相手方の協議を受けて賛助し又はその依頼を承諾した事件、相手方の協議を受けた事件で信頼関係に基づくと認められるもの、受任している事件の相手方からの依頼による他の事件などについて、職務を行ってはならないこと(第25条) | e-Gov 法令API: 弁護士法 | 2026-10-07 |
| 職務を行い得ない事件(第27条・第28条)。共同事務所の所属弁護士は、他の所属弁護士が職務を行い得ない事件について、職務の公正を保ち得る事由があるときを除き職務を行ってはならないこと(第57条)。取扱い事件の依頼者、相手方及び事件名の記録その他の措置を採るよう努めること(第59条) | 法務省掲載: 弁護士職務基本規程 | 2026-10-07 |
| AI by Zapier がプロンプトの欄と出力の項目(名前・型・説明)を持つこと。OpenAI、Anthropic、Google Gemini、Azure OpenAI、Amazon Bedrock から選べ、自社のAPIキーも使えること。Standard が1タスク、Advanced が3倍、Premium が5倍のタスクを使うこと | Zapier: Use AI by Zapier to analyze and return data | 2026-10-07 |
| Catch Hook が受け取ったデータを解析すること、Zapier が固有の URL を発行すること、トリガーのデータが最大10MBであること、無料プランでは使えないこと | Zapier: Trigger Zaps from webhooks | 2026-10-07 |
Code by Zapier の Python が input_data を受け取り、辞書または辞書の並びを返すこと。辞書の並びを返すと後の手順が繰り返し動くこと。標準ライブラリと requests などが使え、追加のライブラリは入れられないこと | Zapier: Use Python code in Zaps | 2026-10-07 |
| 行の検索で検索する列と値を指定すること。複数の行を返す高度な検索の手順で最大500行まで受け取れること | Zapier: Find and update spreadsheet rows in Google Sheets | 2026-10-07 |
職務を行い得ない事件に当たるかどうかは、担当の弁護士が判断してください。 本記事は、上記の公開資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0672)についてのご相談はこちらから。
