私たちが最初に、契約リスクを軽減するためにLLMを活用しようと実験を始めた際(契約条項をLLMに直接修正させるという方法)、適切なプロンプト設計は課題の一部にすぎないとすぐに気づきました。
当初の仮定は、「一度うまくいけば、常にうまくいくだろう」というものでした。
しかし現実には、まったく同じ入力を与えても、生成されるアウトプットの品質が異なることがあるのです。
この問題をさらに複雑にしているのが、OpenAIのようなプロバイダーがモデルを高速で更新していることです。
自分は「GPT-4」を使っているつもりでも、そのラベルの下にあるサブバージョンは、時と共にスピード・コスト・最適化目的で変化している可能性があります。
ある日、APIは完璧な英語によるリスク分析を返しました。
しかし、翌日まったく同じコードとプロンプトを使ったにもかかわらず、なぜか中国語で返ってきたのです。
しかも、プロンプト内には英語以外で応答するような指示は一切書かれていませんでした。
この時、私たちは悟りました。信頼性は当然のことではないということを。
法務の現場では、トレーサビリティ(追跡可能性)と明確さが不可欠です。
単にAIがテキストを修正するだけでは不十分で、ユーザーには「**どこが、どのように変更されたか**」を明示する必要があります。
なぜなら、どれだけAIが進化しても、最終的な責任は人間にあるからです。
これは「機械支援による人間の意思決定」であり、意図的に設計されなければなりません。
理論上、LLMの価値提案はシンプルに見えます。
しかし、実際のイノベーションとは「既存業務の自動化」ではなく、「新しいサービスとして差別化」するための緻密な設計が必要なのです。
私たちが取り組んだ「契約条項を修正することでリスク低減策を提示する」というユースケースは、LLMなしには実現不可能でした。
しかし、それを**実運用レベルのシステム**にするには、以下の4つの重要な課題に対処する必要がありました:
1. 出力の正規化
LLMがあらかじめ定義された構造化フォーマット(JSONやマークアップ付きテキストなど)で出力するよう強制し、応答の一貫性と予測可能性を確保する。
2. 差分表示の整合
Microsoft Wordの「変更履歴」機能のように、元の契約文と修正後の文の違いを視覚的に表示するサービスを実装。追加・削除・修正点を強調表示してレビュー可能にする。
3. 人による上書きインターフェース
どの箇所が、なぜ変更されたか(例:リスク軽減の理由)を明確に表示するUIを設計し、ユーザーがAIの提案を承認・却下・修正できるようにする。
4. モデル更新への耐性
モデルの挙動を安定させるため、使用するモデルバージョンを固定。プロバイダー側のアップデートによって性能が変動するリスクに備える。
要するに、LLMを重要な業務環境に導入するというのは、流行に乗ることではありません。
信頼性・説明可能性・実行力こそがすべてなのです。