Claude Fable 5.1が出典を引用符なしで写すときの直し方 — 正しい応答の例を1つ入れる
Claude Fable 5.1が要約で出典の文をそのまま写し、引用符を付けないときの対処です。ルールを書き足さず、正しい応答の完全な例を1つ入れる方式と、日本語での例の組み立て方、出力の点検方法を示します。
要約に出典の文が混ざる症状と、公式が示す直し方
Claude Fable 5.1に文書を要約させると、出典の文がほぼそのまま要約に入り、引用符が付いていないことがあります。プロンプトガイドは、これをFable 5.1の挙動差の1つとして挙げています。文書を要約するとき、Fable 5より出典の一節を引用として示さずに再現しやすい、という内容です。変更点をまとめたページにも、同じ項目が「Fable 5から変わった点」に載っています。
直し方は、システムプロンプトに「正しい応答の完全な例」を1つ入れることです。例に含めるのは3つです。
- ユーザーの依頼
- 正しい応答
- その応答がなぜ正しいかを述べた1文
「出典をそのまま写すな」というルール文を足す方式ではありません。見本を1つ見せて、同じ形で書かせる方式です。
Fable 5向けに書いたプロンプトは、変更なしでFable 5.1でも十分に動くはずだと、ガイドは前置きしています。要約の出力に出典と同じ文が混ざる場合だけ、この例を足せば足ります。Fable 5.1自体の仕様はClaude Fable 5.1とはにまとめています。
公式の例は何を見せているか
ガイドの例は、ある橋の閉鎖について2つの新聞社の報道を調べて比べる依頼です。応答は検索の呼び出し2行から始まり、続く本文は次の形になっています(日本語に訳して要点だけ示します)。
- 2紙が一致する点(閉鎖日、点検で溶接部のひびが見つかったこと、修復に約8か月かかる見込み)を先に書く
- 違いは強調点で、一方は地域経済の話として、他方は予算の失敗として扱ったと書く
- 後者の社説にある言葉は、短い一語句だけ引用符で示す
- 最後に、2紙を合わせて読むと全体像が見える、とまとめる
例の末尾には、<rationale> タグの中に理由の1文が付きます。要旨は次の3点です。
- 応答は、2紙が一致する点と違う点で組まれている。どちらかの記事を順に追う形ではない
- 各紙の報道は、書き手自身の言葉による間接話法で、1〜2文で伝えている
- 引用符で示す語句は、1つの出典から1つだけ短くとる。それ以外の主張はすべて言い換えている。それでも応答は具体的で、欠けがない
ここで見せているのは「引用してよい量」の数値ではありません。見本は引用符を使う場面を最小にしつつ、中身を薄くしていません。「具体的で完全」であることが、理由文に明記されている点が重要です。言い換えを求めると要約が抽象的になりやすいので、そこに歯止めをかけています。
日本語で例を組み立てる手順
ガイドの例は英語で、検索のツール名も英語の仮の表記です。ガイドは、[web_search: ...] の2行を自分のツール名に置き換えるよう書いています。モデルが、そのまま出力する文字列ではなく、テンプレート化されたツール出力として読めるようにするためです。日本語の要約に使うなら、依頼も本文も日本語に直した例を作ります。以下は構造を保った日本語化の一例です。新聞名と出来事は、説明のために作った架空のものです。
<example>
<user>港橋の閉鎖について、川辺新報と湾岸通信がそれぞれどう報じたかを調べて比較して</user>
<response>
[search_news: 港橋 閉鎖 川辺新報]
[search_news: 港橋 閉鎖 湾岸通信]
基本的な事実は2紙で一致しています。橋は3月3日、点検で溶接部のひびが見つかって閉鎖され、県は修復に約8か月かかると見ています。違いは強調点です。川辺新報は地域経済への打撃として扱い、湾岸通信は予算措置の失敗として扱いました。後者の社説は、この閉鎖を「予見できたはずだ」と評しています。両方を合わせて読むと、川辺新報は今誰が困っているかを、湾岸通信はなぜこうなったかを説明しており、片方だけでは全体像になりません。
</response>
<rationale>正しい例: 応答は2紙の一致点と相違点で組まれ、どちらかの記事をなぞる形ではない。各紙の報道は書き手自身の言葉による間接話法で1〜2文に収めている。引用符で示すのは1つの出典から短い1語句だけで、ほかの主張はすべて言い換えている。それでも応答は具体的で、欠けがない。</rationale>
</example>自分の業務に合わせて組むときは、次の5段階で進めると手が動かしやすくなります。
日本語の例を作る5段階
- 1
依頼を1つ選ぶ
社内文書の要約、検索結果の比較、議事録の整理など、出典を扱う場面がよい題材です。
- 2
理想の応答を人が書く
出典の語句を使うのは、固有名詞と、引用に値する短い一節だけにします。
- 3
引用符の箇所を絞る
日本語なら「」で囲む箇所を1〜2か所にし、それ以外は言い換えます。
- 4
rationaleを書く
<rationale>に、何が正しいのかを1文で書きます。構成の方針、言い換えの粒度、引用の最小化、中身の具体性の4点を入れます。 - 5
ツール呼び出しの行を置く
検索や取得を伴う場面なら、自分のツール名の形で置きます。
手順2が肝です。例の応答を、実際の出力としてモデルに書かせたものにしないでください。見本が出典の写しを含んでいると、その癖を教えることになります。
システムプロンプトへの入れ方
ガイドが指示するのはシステムプロンプトへの追加です。ガイドは例の置き場所や、例を何個入れるかについて、これ以上の説明をしていません。公式のベストプラクティスには、例を <example> タグで囲むと、モデルが指示と区別しやすくなるという一般則があります。同じページは、例を3〜5個入れると結果が安定するとも書いていますが、この項目のガイドは「完全な例を1つ」としています。
API経由なら、システムプロンプトの末尾に例を連結します。次はPythonでの組み立ての一例で、example_block に上の例を入れます。
import anthropic
client = anthropic.Anthropic()
base_system = "あなたは調査担当のアシスタントです。"
example_block = open("quote_example.txt", encoding="utf-8").read()
response = client.messages.create(
model="claude-fable-5-1",
max_tokens=2000,
system=base_system + "\n\n" + example_block,
messages=[{"role": "user", "content": "この3本の記事を比較して要約して"}],
)
print(response.content[-1].text)システムプロンプトを毎回同じ文字列にしておくと、プロンプトキャッシュも効きます。会話の途中で例を足したり消したりすると、キャッシュが切れる原因になります。
効いたかを確かめる簡易チェック
例を入れたあとは、出力に出典の文が混ざっていないかを点検します。ここからはガイドにない、手元での確認方法の一例です。要約の中から、引用符で囲まれていない部分を取り出し、出典の本文と文字列が連続して重なる箇所を数えます。
import re
def unmarked_overlap(summary: str, source: str, n: int = 12) -> list[str]:
# 「」で囲まれた部分を除く
plain = re.sub(r"「[^」]*」", "", summary)
hits = []
for i in range(len(plain) - n + 1):
chunk = plain[i : i + n]
if chunk in source:
hits.append(chunk)
return hitsn は連続して一致する文字数のしきい値で、12は初期値の目安です。固有名詞や定型句で誤検知が出るので、数を見ながら調整してください。一致が多い要約は、例の <rationale> に「引用符で示すのは短い1語句だけ」と書いた意図が伝わっていない可能性があります。逆に一致が出ない場合も、言い換えが外れて意味が変わっていないかは、別に目で確かめます。
効かないときの疑いどころ
ガイドは「例を1つ入れる」以外の対処を示していません。効きが弱いとき、上から順に確かめる点は次の4つです。
効きが弱い例の切り分け
- Q例の応答は、出典の語句を写さず言い換えられていますか?答えがいいえのとき答えがはい
見本がそのまま写しになっていると逆効果です。引用符で示す1語句を除いて書き直します。
- Q例の依頼は、実際に頼む依頼と近い形ですか?答えがいいえのとき答えがはい
比較の例だけで、長文1本の要約を頼んでいる場合が典型です。依頼の種類に合わせた例に差し替えます。
- Q`<rationale>` に、正しい理由まで書いてありますか?答えがいいえのとき答えがはい
「正しい」とだけ書いた状態です。構成、言い換え、引用の最小化、中身の具体性を1文に入れます。
- Qツール呼び出しの仮の行は、自分のツール名になっていますか?答えがいいえのとき答えがはい
実在しないツール名のまま残っていると、出力すべき文字列として読まれるおそれがあります。置き換えます。
4つとも「はい」なら
例の側に原因は見当たりません。依頼文や入力文書の側を疑います。
複数の形式の要約を扱うなら、依頼の種類ごとに例を分けて、タグで囲むのが自然です。ただし、例を増やした場合の効果はガイドに記載がないため、自分のデータで確かめてください。
比較以外の依頼向け:長文1本を要約する例
公式の例は2紙の比較なので、1本の長い文書を要約させる場面とは形が違います。その場面では、比較の軸が使えません。代わりに、決定事項・条件・未確定の点で応答を組むと、見本の骨格(出典の順に追わない)を保てます。次も架空の社内通知を題材にした一例です。
<example>
<user>添付の社内通知(在宅勤務制度の改定案、約3,000字)を、部長向けに要約して</user>
<response>
改定案の中心は、在宅勤務の上限を週2日から週3日に広げる点です。対象は入社1年以上の社員で、新入社員は従来どおりです。申請は前日までの事前承認が必要で、運用の責任は各部の長が負います。根拠として、試行部署の出社率が下がらなかったことが挙がっていますが、試行は1四半期だけです。全社展開は「段階的に」進めるとされ、時期は決まっていません。
</response>
<rationale>正しい例: 応答は決定事項・条件・未確定の点で組まれ、通知の章立てをなぞる形ではない。各項目は書き手自身の言葉で1〜2文に収めている。引用符で示すのは1つの出典から短い1語句だけで、ほかの主張はすべて言い換えている。それでも応答は具体的で、欠けがない。</rationale>
</example>例の有無で出力がどう変わるかを、通知の一文で見ると次のようになります。こちらも架空の文面です。
出典の一文の扱い(架空の通知)
例がないとき
通知は、在宅勤務の上限を週2日から週3日に拡大し、対象を入社1年以上の社員とし、申請は前日までに所属長の事前承認を受けることとする、と述べています。
例があるとき
上限は週2日から週3日に広がります。対象は入社1年以上の社員で、前日までに所属長の承認を受ける条件が付きます。
左は通知の文を引用符なしで連ねた写しで、右は同じ内容を組み直した形です。点検用の関数を通すと、左は連続一致が多く出ます。
出典の照合は人の作業として残す
例を入れても、要約の出典照合は不要になりません。ガイドが示すのは引用符の付け方を揃える方法で、要約の内容が出典と合っているかを保証する手順ではないためです。外部に出す文書では、引用箇所と言い換え箇所の両方を、人が出典と突き合わせる工程を残す運用が前提になります。
例を入れる方式とCitationsは、解く問題が別です。
引用符の揃え方と出典位置の返却
例を1つ入れる
要約の中で、引用符を付ける箇所を最小にし、残りを言い換える書き方を、見本で教えます。
Citations
要約の主張が出典のどこに当たるかを、機能として機械的に返します。
出典の場所を機械的に返す機能が必要なら、Citationsの形式の違いをClaudeのCitationsは引用形式がPDF・テキスト・カスタムで変わるで扱っています。インタビュー記録のように原文照合が前提の作業は、Claudeでインタビュー逐語録を横断分析する手順と引用の原文照合が具体例になります。
まとめ
要約に出典の文が引用符なしで混ざるときは、ルールを増やさず、見本を1つ入れます。見本は、一致と相違で組み、引用は短い1語句に絞り、それでも具体的で欠けのない応答です。まず自分の依頼で実際に起きているかを確かめ、起きていれば例を足し、先の簡易チェックで効果を見る順が無駄がありません。同じ世代の別の挙動差は、Claude Fable 5.1の文章密度が高いときの直し方と保持指示でcompactionの要約を書く方法にあります。