AIの答えに根拠の引用を添えると、読む側が確かめられるようになります。ところが、その引用が原文どおりとは限りません。
実際に照合したところ、8件のうち4件が原文と一致しませんでした。しかも崩れ方は4種類あり、通してよいものと弾くべきものが混ざっています。
引用8件を実際に照合しました。そのまま比べて一致したのは4件、記号を無視すると5件です。
出典引用がどこまで信用できるのかを、実際に照合して確かめました。用意したのは原文3件と、そこから引かれた引用8件です。
照合は本当に実行しています。引用には実運用で出会う崩れ方を意図的に混ぜてあり、崩れ方の種類もコードに書いてあります。
const strict = (c) => SOURCE[c.src].includes(c.text);
const loose = (c) => {
const norm = (s) => s.normalize('NFKC').replace(/[,、\s ]/g, '');
return norm(SOURCE[c.src]).includes(norm(c.text));
};
引用 崩れ方 そのまま照合 記号を無視 宿泊費の上限は1泊12000円とする 原文どおり 実在 実在 宿泊費の上限は1泊12,000円とする 桁区切りが足された 不一致 実在 日当は国内出張1日2000円 原文どおり 実在 実在 日当は1日あたり2000円 言い回しが変わった 不一致 不一致 前払は出発の7営業日前までに申請する 原文どおり 実在 実在 前払は出発の7日前までに申請する 営業日が日に変わった 不一致 不一致 上限は概算額の8割とする 原文どおり 実在 実在 宿泊費の上限は1泊15000円とする 数値が違う 不一致 不一致 実在した引用 そのまま照合: 4 / 8 記号を無視: 5 / 8
崩れ方が4種類に分かれました。桁区切りの追加、言い回しの変更、単位の変更、数値の誤りです。
1つ目は桁区切りです。「12000円」が「12,000円」になっただけで、意味は変わっていません。
記号と空白を無視する照合にすると、これは通ります。4件が5件になったのは、この1件ぶんです。
最後の1件を見てください。「1泊15000円」で、原文の12000円とは違う数値です。
これは照合を緩めても弾かれます。数値そのものが違うので、どちらの方法でも一致しません。引用を照合する価値は、ここにあります。
厄介なのが真ん中の2件です。「1日あたり2000円」は言い回しが変わっただけで、意味は原文と同じです。
ところが「7営業日前」が「7日前」になった1件は違います。言い回しが変わっただけに見えて、意味が変わっています。同じ「文字が違う」でも、通してよいものと危ないものが混ざります。
文字が違う理由は1つではない。崩れ方で分けて扱う。
Once sufficient information is gathered, the system exits the research loop and passes all findings to a CitationAgent, which processes the documents and research report to identify specific locations for citations.原文Anthropic Engineering「How we built our multi-agent research system」 この内容の有効期限2027-02-18
答えの記述に、その根拠がどこにあるかを添えます。読む側が確かめられるようにするための仕組みです。
出典引用は、答えの中の記述に、その根拠となる箇所を添える仕組みです。読んだ人が原文に当たれるようにします。
Anthropicの構成では、この作業が独立した段になっています。十分な情報が集まると調査の繰り返しを抜け、引用の担当に結果を渡し、文書と報告を処理して引用の具体的な位置を特定すると説明されています。
つまり答えを作る段と、根拠を付ける段が分かれています。答えの文章と、原文の該当箇所を後から突き合わせる形です。
同じ文書では、この処理によってすべての主張が出典に正しく結び付けられるとされています。主張と根拠を対応させるのが目的です。
読む側の負担も変わります。引用がなければ、答えが正しいかを確かめるには文書全体を読み直すことになります。
ここに落とし穴があります。引用が付いているだけで、読む側は確かめた気になります。
前の節のとおり、引用そのものが崩れていることがあります。付いていることと、正しいことは別です。
編集部でも、記事に載せる引用が原文に実在するかを機械で照合しています。人が目で確かめる形では、桁区切りのような小さな崩れを見落とします。原文を取得して、文字列として含まれるかを判定するだけなので、実装は短く済みます。
This ensures all claims are properly attributed to their sources.原文Anthropic Engineering「How we built our multi-agent research system」 この内容の有効期限2027-02-18
記号と空白までにします。言い回しの変更を許すと、意味が変わった引用も通ります。
出典引用を照合するとき、どこまでの違いを許すかを決める必要があります。厳しすぎれば無害な崩れも弾かれます。
2番目までが安全な範囲です。3番目に進むと、「7営業日前」が「7日前」になった引用も通ってしまいます。
照合に落ちた引用の扱いも決めておいてください。そのまま出すか、引用を外して出すか、答えごと止めるかです。
引用を外して出すと、根拠のない主張だけが残ります。照合に落ちた時点で、その主張自体を疑うほうが素直です。
運用では、照合に落ちた引用の件数と崩れ方を記録してください。同じ崩れ方が続くなら、答えの作り方に原因があります。
前の節でも、崩れ方を4種類に分けたことで通すべきものと弾くべきものが分かれました。記録の設計はエージェント可観測性の記事で扱っています。
引用が付いていることと、原文にあることは別。
The final research results, complete with citations, are then returned to the user.原文Anthropic Engineering「How we built our multi-agent research system」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る