本記事の概要
記事を根拠に答えるチャットボットの回答を、資料に書いてある内容、そこから導き出した解釈、答え方として決めている事項、どれにも当たらない推測、の4つに区別して答えさせました。あわせて、その答え方のルールの本文を、回答するAI自身が引用できる公開の資料としてサイトへ公開しました。この記事では、その2つの改修をどう設計し、どう検証したかを、一次記録として報告します。
発端は、読者がチャットへ寄せた1つの質問でした。根拠にしている文章群のあいだに矛盾があったらどうするのか、そしてそれに気づけるのか、という問いです。チャットは、出典どうしで考えが割れたら新しい記述を現在の立場に採る、と答えました。この中身自体は正しい規則で、生成のたびにモデルへ渡している前提の指示、すなわちシステムプロンプトに実在し、7月の半ばに私が決めて指示した内容です。ところが、読者がその回答に付いていた引用番号の先を開くと、資料には該当の記載がありませんでした。続けて確かめると、チャットは、その表現は資料に無いと認めて前の回答を取り下げ、では独自の考えに近いのかと重ねて聞かれると、根拠を示せないあいまいな答えを返しました。
原因は、チャットの誠実さが不足していたからではなく、私が書いた指示の構造に不備があったからです。私は指示を2つの段階で作り直し、4つの区別を入れた版では実際のモデルに確認の質問7項目を実行し、答え方のルールを公開の資料にした版では8項目を実行してから、本番へ反映しています。さらにその後、AIへ渡す指示の書き方そのものを4つの視点で監査して76件を挙げ、そのうち19件を、機械的な規則から、守らせたい意味とその理由を述べる形へ書き換えました。
公開したのは方針を書いた文章であって、指示の原文ではありません。指示の原文そのものの開示は、私が今も断っています。
本文では、まず4つの区別の規則といまの回答の形を紹介し、次に答え方のルールを1か所の文章から2つの面へ反映する作りを説明します。そのうえで、本番へ反映する前に実施した検証と実測を表で示し、読者の入力に紛れた指示への対策を述べ、機械的な規則で縛って続けて2度失敗した経緯と、同じ型を全件洗い出した監査を説明します。最後に、意味だけを伝える形へ寄せた後に観察した不具合と、まだ手を付けていない範囲を述べて、読者が自分の運用へ移せる3つの規則でまとめる構成にしました。
記事から得られること
根拠つき生成のチャットボットを運用している方へ、この記事では次の4つを解説します。
- 回答を4つに区別して答えさせる: 資料に書いてある内容、そこから導き出した解釈、答え方として決めている事項、どれにも当たらない推測を、モデルに区別して答えさせる
- 答え方のルールを公開の資料にする: サイトの1か所の文章から、読み物の面とチャットの知識ベースの両方へ反映し、段落が単独で流通する前提の制約で本文を書く
- 機械的な規則で縛らずに意味を伝える: 文末の形や語句の例文で縛って2度失敗した経緯を踏まえ、76件の指示を監査して19件を意味と理由の形へ書き換える
- 意味へ寄せた代償を見積もる: 規則を外した後に実機で出た、文体が崩れる問題と、まだ取れていない実測から、何を確かめてから寄せるべきかを判断する
この記事は、このサイトで運用しているチャットの改修と運用の一次記録に基づく考察です。
ここから先は有料部分です
続きは、この記事だけの単発購入か、すべての有料記事が読める購読で読めます。
有料部分はおよそ9,000字で、読み終える目安は18分です。
価格は税込みです。購入と購読は、ログインしてから進みます。購入した記事は、アカウントでいつでも読み返せます。購読中の方と購入済みの方はログインして全文を読むページへ、プランの説明はプランのページへどうぞ。
販売の対象地域は利用規約に記載しています。請求はすべて日本円で行います。