Claude APIのCitations(引用)機能

Claude API エンジニアリング 6分で読めます

Claude APIのCitations(引用)機能を使うと、開発者が渡したドキュメントのどの箇所にもとづいて回答したのかを、根拠となる該当テキスト付きでモデルに返させることができます。回答の検証可能性が上がり、事実にもとづかない生成(ハルシネーション)の検知に役立ちます。本ページはAnthropic公式ドキュメントの非公式な日本語訳・要約です。

Citationsとは

Citationsは、Claudeが回答の各文を「入力として与えたドキュメントのどの部分」に対応づけたかを、構造化された引用として返す機能です。回答テキストのブロックごとに、参照した元テキスト(cited_text)とドキュメント内の位置が付与されます。

これにより、「この記述は資料のここに書いてある」という対応関係を機械的に扱えるようになり、根拠リンクの表示や、資料に無い内容を答えていないかのチェックが容易になります。

ドキュメントの渡し方

ユーザーメッセージのコンテンツに、ドキュメントを表すdocumentブロックを追加し、citationsを有効化します。プレーンテキスト、PDF、独自に分割したコンテンツなどをドキュメントとして渡せます。

{
  "role": "user",
  "content": [
    {
      "type": "document",
      "source": { "type": "text", "media_type": "text/plain", "data": "(本文テキスト)" },
      "title": "社内規程",
      "citations": { "enabled": true }
    },
    { "type": "text", "text": "有給休暇は何日付与される?" }
  ]
}

複数のドキュメントを同時に渡すこともでき、回答はそれぞれのドキュメントの該当箇所を引用します。

引用つきレスポンスの読み方

Citationsを有効にすると、レスポンスのcontentに含まれるテキストブロックにcitations配列が付きます。各引用は、参照したドキュメントのインデックス、引用元テキスト(cited_text)、そして位置情報(文字範囲・ページ番号・ブロック番号など、ドキュメント種別に応じたもの)を持ちます。

アプリ側ではこの配列を読み、回答の該当部分に脚注やハイライトを付けて「出典表示」を実現できます。引用元テキストは元ドキュメントからそのまま取り出されるため、回答が資料に忠実かを確認できます。

活用できる場面

注意点

Citationsは「資料に書かれている内容の根拠づけ」を助ける機能であり、資料そのものが誤っていれば回答も誤ります。渡すドキュメントの品質管理は引き続き重要です。

対応するドキュメント形式や位置情報の粒度、料金上の扱い(引用元テキストの課金の考え方など)は更新される可能性があります。最新の仕様はAnthropic公式ドキュメントで確認してください。