教程

Claude Citations 完整指南:让 AI 回答带可验证引用,适合 RAG 与文档问答

Claude Citations 官方能力中文整理:如何启用 citations.enabled、支持的文档类型、PDF 页码引用、文本字符索引、custom content block 索引、RAG chunk 粒度控制、与 Prompt Caching 兼容性和 Structured Outputs 不兼容限制。

2026/5/213分钟 阅读ClaudeEagle

Citations 是 Claude API 面向文档问答和 RAG 场景的关键能力。它让 Claude 的回答不仅给出结论,还能指向具体来源位置,便于用户验证。


为什么需要 Citations?

普通 RAG 常见问题:

  • 模型引用不稳定
  • 引用格式靠 Prompt 约束,容易失效
  • 很难知道一句话来自哪个 chunk
  • 输出 quote 会增加 token 成本
  • 用户无法快速验证答案

Claude Citations 把引用变成标准化结构,而不是仅靠模型“写出引用”。


基本用法

在文档块上启用:

json
{
  "type": "document",
  "source": {
    "type": "text",
    "media_type": "text/plain",
    "data": "The grass is green. The sky is blue."
  },
  "title": "My Document",
  "citations": { "enabled": true }
}

Claude 的回答会包含带 citations 的 text block。引用中会出现:

  • cited_text:被引用的原文
  • document_index:第几个文档
  • document_title:文档标题
  • 位置索引:页码、字符范围或 block 范围

cited_text 是方便字段,不计入输出 token。


支持的文档类型

类型适合场景引用位置
Plain text普通文本、文章、说明文档字符索引
PDF报告、论文、合同、手册页码范围
Custom contentRAG chunks、访谈记录、列表content block 索引

Plain text 和 PDF 会自动按句子 chunk。Custom content 不会再自动切分,适合你想控制引用粒度的 RAG 系统。


RAG 系统如何使用?

如果你已经有自己的检索系统,建议:

  • 每个检索 chunk 作为 custom content block
  • titlecontext 中放文档元数据
  • 引用结果中的 block index 映射回你的 chunk ID
  • UI 上展示 cited text 和原文链接

这样用户不仅能看到答案,还能点回原始资料。


与 Prompt Caching 的组合

Citations 可以和 Prompt Caching 一起使用。对于很长的文档:

  • 文档块启用 citations
  • 同时加 cache_control
  • 后续请求复用同一文档内容

适合多轮文档问答、法律合同分析、长报告分析等场景。


重要限制

Citations 目前不能和 Structured Outputs 同时使用。原因是 citations 需要在文本输出中交错插入引用块,而 strict JSON schema 输出要求完整 JSON 结构,两者冲突。

如果你既需要结构化数据又需要引用,可以采用两步法:

  1. 先让 Claude 带 citations 回答
  2. 再把回答转成结构化对象,保留引用 ID 或原文位置

最佳实践

  • 给文档设置清晰 title
  • context 放元数据,但不要指望它被引用
  • RAG 场景优先 custom content 控制粒度
  • 扫描版 PDF 需要先 OCR,否则无法可靠引用文本
  • UI 中展示引用原文和位置,增强可信度
  • 对关键业务结论要求“无引用则不要回答”

来源:Anthropic 官方文档 - Citations | 整理:ClaudeEagle

相关文章推荐

教程Claude Sonnet 5 API 完整接入指南:模型 ID、定价与代码示例(2026)Claude Sonnet 5 完整 API 接入教程,涵盖模型 ID、定价、Python/Node.js 代码示例、流式输出、Agentic 工具调用,以及从 Sonnet 4.6 的无缝迁移步骤。2026/7/1教程Claude Cache Diagnostics 教程:定位 Prompt Cache Miss 的真正原因Claude Cache Diagnostics 解决 prompt cache miss 难排查问题。通过传入上一次 response id,API 会比较请求 fingerprint,告诉你 model/system/tools/messages 哪个部分破坏了缓存 prefix。2026/6/6教程Claude MCP Tunnels 指南:不用开放入站端口,也能把私有 MCP 服务接给 ClaudeMCP Tunnels 是 Anthropic 面向企业内网 MCP 服务的 beta 能力,通过 outbound-only 连接、cloudflared、proxy、inner TLS 和 OAuth,让 Claude 安全访问私有工具与数据源。2026/6/6教程Claude Mid-conversation System Messages 使用指南:长会话不再破坏 Prompt CacheClaude Opus 4.8 新增 mid-conversation system messages,可在长会话中途追加系统级指令,不改顶层 system prompt,从而保持缓存 prefix 命中,降低 Agent 循环成本。2026/6/6教程Claude Batch Processing 完整指南:批量处理任务如何节省 50% API 成本Claude Batch Processing 官方能力中文整理:为什么批处理能省钱、如何创建 batch、custom_id 设计、轮询状态、下载结果、处理失败请求,以及适合大规模分类、摘要、翻译、数据清洗的任务模式。2026/5/21教程Claude Prompt Caching 完整指南:降低长上下文成本与延迟的 API 实战Claude Prompt Caching 官方能力中文整理:适合缓存的内容、cache_control 使用方法、缓存断点策略、长文档和工具定义复用、成本/延迟收益、常见坑和生产环境落地建议。2026/5/21