法律事務所向けにAIリサーチアシスタントを作ったとき、「あったら便利だろう」と思っていた機能が、実際には最も頻繁に使われるものになりました。
このシステムには注釈(アノテーション)機能があります。どのユーザーでも、ドキュメント内のテキストを選択してコメントを残せます。たとえば「この解釈は、2024年の判例Xによって覆された」や「これは全国ではなくNRWにだけ当てはまる」、あるいは「当事務所の見解は異なります。内部メモYをご覧ください。」のような内容です。
技術的には、ここで何が起きます。コメントはPostgreSQLに保存され、ドキュメントID、ページ番号、選択したテキストに紐づけられます。問い合わせが来ると、システムは2つのことをします。まず、ベクタ検索で取得された特定のドキュメントに紐づくコメントを取り出します。次に、何が取得されたかにかかわらず、すべてのドキュメントにまたがるALLのコメントを取り出します。どちらもLLMのコンテキストに注入されます。
この後者が重要です。上級弁護士がドキュメントAに対して「これは古い」と注釈を付けていても、クエリが取得したのがドキュメントBとCだけだったとしても、システムはグローバルなコメント注入によって、その注釈を引き続き参照します。キャッシュは60秒ごとに更新されるため、新しいコメントはほぼすぐに反映されます。
プロンプトでは、モデルに対してこれらの注釈を権威ある専門家のメモとして扱い、ドキュメント本文と矛盾するときは注釈を優先するよう指示します。
なぜこれが、最初に私が思っていた以上に重要だったのか:
法的知識は古びます。2022年の裁判所の判決は、2024年の判断によって覆されているかもしれません。注釈システムがなければ、ドキュメントを再取り込みし、メタデータを更新し、場合によってはすべてを再チャンクする必要が出てくるでしょう。注釈があれば、上級弁護士が「Xにより覆された」と書くだけで、次の問い合わせでその知識がシステムに取り込まれます。エンジニアリング作業は不要です。
さらに、どのドキュメントにも存在しない組織としての知見も取り込めます。たとえば「当事務所は標準的な読み方よりも保守的に解釈する」とか「クライアントXには、この条項に関して特別な要件がある」といったものです。この種の知識は上級弁護士の頭の中にあり、通常は引退したり転職したりすると失われがちです。
法務チームは、トレーニングなしで最初の1週間のうちにそれを使い始めました。彼らはすでにコメント付きでPDFに注釈を付けることに慣れていたのです。これは、そのコメントを検索可能にし、AIの知識ベースの一部にしただけでした。
専門家の解釈が重要になる(法務、医療、金融、学術など)任意の領域でRAGを構築しているなら、注釈レイヤーの導入を検討してください。より良い埋め込みと洗練された検索により、ベースラインは改善されます。しかし、ドメインの専門家がAIの知識を直接修正し、拡充できるようにすることは、モデル改善のあらゆる努力でも再現できない乗数になります。
[link] [comments]




