长上下文 prompt 怎么写?20k+ token 心法
长上下文 prompt 怎么写?基于 Anthropic 官方指南,讲清 20k+ token 长 context 的 4 大铁律、XML 标签结构和现成模板。
一句话说清
长上下文 prompt 指的是:你扔给 AI 的输入超过 20k token(约 1.5-2 万字)的场景,比如让 AI 读一整篇论文、一整份合同、一整本说明书。
听起来好像「只要塞进去就行」,其实里面有很多坑——同样的内容怎么排、放在 prompt 哪个位置、用什么标签包装,效果能差 30% 以上(Anthropic 官方实测数据)。
这篇基于 Anthropic 官方长上下文指南的内容,给你讲清 4 大铁律 + 现成模板。看完你写 20k+ token 的 prompt 立刻不一样。
用一个生活场景理解
你请律师帮你看一份 50 页的合同。
错误的递交方式
直接把合同塞到他手里,再说:「你帮我看看哪里有问题,重点关注违约责任条款。」
律师要从第一页翻到最后一页,找到「违约责任」那一章,再回头比对前面的定义,效率低还容易漏。
正确的递交方式
「这是合同(递上去)。我重点关注两点:
- 第 8 章「违约责任」是否对甲方不利
- 全文有没有出现『单方面』『不可撤销』等危险措辞
请先逐字读一遍,把关键条款用便签标出来,再回答我的两个问题。」
效率高几倍。
长上下文 prompt 的本质,就是把这种「先给文档 + 后给具体问题 + 引导逐步处理」的逻辑用在 AI 身上。
Anthropic 官方的 4 大铁律
Anthropic 官方文档把 20k+ token 长上下文场景的最佳实践浓缩成 4 条。每条都很重要。
铁律 1:长文档放在 prompt 顶部,问题放在底部
这是反直觉的一条。直觉告诉我们应该「先说要干什么再给材料」,但实测刚好相反。
Anthropic 官方原话:「Queries at the end can improve response quality by up to 30% in tests, especially with complex, multi-document inputs.」(在多文档复杂输入场景,把问题放最后能让回答质量提升最多 30%。)
❌ 错误写法
请帮我分析这份年报的财务风险。
[100 页年报全文]
✅ 正确写法
[100 页年报全文]
任务:基于上面的年报,分析这家公司的财务风险,重点看:
- 现金流是否健康
- 负债结构是否合理
- 应收账款占比是否异常
请输出 3 条核心风险 + 对应原文段落。
为什么有效?因为 AI 处理长文档时,对「最后看到的指令」记得最清。把问题压在最后,相当于让 AI 「带着问题最后再翻一遍材料」。
铁律 2:用 XML 标签包装文档
不要把文档和指令混在一起。用 XML 标签把内容包起来,AI 能清楚分辨「这一段是材料,那一段是指令」。
单文档场景
<document> [这里粘贴文档全文] </document>
任务:总结这份文档的核心观点。
多文档场景
Anthropic 官方推荐的标准结构:
<documents> <document index=“1”> <source>2025 年报.pdf</source> <document_content> [年报正文] </document_content> </document> <document index=“2”> <source>竞品分析 Q2.xlsx</source> <document_content> [竞品分析正文] </document_content> </document> </documents>
任务:分析这家公司相对竞品的战略优势,给 Q3 的 3 个重点方向建议。
这种结构有两个好处:
- AI 能精确引用「文档 1 第 X 段」,而不是「我记得有个地方说」
- 你输出时让 AI 标注来源,可追溯性强
铁律 3:先让 AI 引用原文,再让它回答
这是「质量提升最大」的一条。
直接问 AI「这份文档说了什么」,它经常会「脑补」一些原文没说的东西(俗称幻觉)。改成「先引用相关段落,再基于引用回答」,幻觉率明显下降。
Anthropic 官方推荐写法
你是一位医生的 AI 助手,任务是帮医生根据病历做初步诊断。
<documents> <document index=“1”> <source>patient_symptoms.txt</source> <document_content> [患者主诉] </document_content> </document> <document index=“2”> <source>patient_records.txt</source> <document_content> [既往病历] </document_content> </document> </documents>
请按以下步骤回答:
第 1 步:在 <quotes></quotes> 标签里,引用病历中与本次主诉直接相关的原文段落。
第 2 步:在 <info></info> 标签里,基于上面引用的内容,列出对诊断有用的关键信息。
第 3 步:在 <diagnosis></diagnosis> 标签里,给出 2-3 个最可能的诊断方向,并标注每个方向对应的依据来自哪一段引用。
这种「引用 → 信息 → 结论」三段式,是长文档分析的最佳实践,准确率显著高于直接问答。
铁律 4:长文档场景下,问题越具体越好
短 prompt 里你可以问「帮我看看这段怎么样」,长文档里这种模糊问题就是灾难。
❌ 模糊问题
帮我分析一下这份合同
✅ 具体问题
请基于上面这份合同,回答以下 5 个具体问题:
- 合同总金额、付款节奏、首付比例分别是多少?
- 违约责任章节中,对甲方的处罚条款有哪些?
- 是否包含「单方面解除权」「优先采购权」「排他条款」等危险条款?如有请列出原文。
- 知识产权归属条款是否明确?归属哪一方?
- 争议解决方式(仲裁 / 诉讼 / 地点)是什么?
每个问题的回答都请引用合同原文段落(用 <quote></quote> 包起来)。
具体到「5 个问题、每个引用原文」,AI 的输出就是结构化、可验证的。
长上下文 prompt 的万能模板
把 4 大铁律组合起来,得到一个开箱即用的模板:
<documents> <document index=“1”> <source>[文档名 1]</source> <document_content> [文档 1 全文] </document_content> </document> <document index=“2”> <source>[文档名 2]</source> <document_content> [文档 2 全文] </document_content> </document> </documents>
你是一位 [资深角色]。
任务:基于上面的文档,完成以下分析。
请按以下步骤输出:
第 1 步:在 <quotes></quotes> 标签里,引用文档中与任务最相关的 5-10 段原文,每段保留来源标注。
第 2 步:在 <analysis></analysis> 标签里,基于引用的原文做分析。
第 3 步:在 <conclusion></conclusion> 标签里,输出最终结论。
具体任务:
- [具体问题 1]
- [具体问题 2]
- [具体问题 3]
风格要求:
- 不要超出文档范围编造信息
- 引用必须能在原文中找到
- 结论部分用 bullet point,每条不超过 50 字
把方括号里的内容替换成你的实际情况,立刻能用。
5 个常见的长上下文场景
场景 1:合同审查
适用:购销合同、雇佣合同、租赁合同、保密协议
关键点:
- 把合同当唯一文档放顶部
- 列 5-10 个具体审查项
- 要求引用原文段落
场景 2:长论文 / 行业报告分析
适用:学术论文、麦肯锡 / IDC 报告、招股书
关键点:
- 先让 AI 给目录摘要
- 再让 AI 提取关键数据 / 论点
- 最后基于数据做评估
场景 3:多文档对比
适用:竞品对比、供应商比价、候选人简历筛选
关键点:
- 严格用
<documents>+<document index="X">多文档结构 - 让 AI 输出对比表格
- 每个对比维度都标注来源
场景 4:长对话 / 客服记录分析
适用:用户访谈转写、客服工单总结、销售跟进记录
关键点:
- 用
<transcript>标签包装 - 让 AI 先提取关键情绪 / 转折点
- 再做结构化总结
场景 5:代码仓库分析
适用:让 AI 读一个项目的代码做 review
关键点:
- 用文件名作为
<source> - 用
<file_content>包代码 - 让 AI 先做架构图描述,再 review
具体怎么用,可以看Claude Code 怎么用。
谁适合用长上下文 prompt
| 人群 | 长上下文用法 |
|---|---|
| 法务 / 合规 | 合同审查、政策解读、风险条款排查 |
| 投研 / 分析师 | 年报分析、行业报告提炼、招股书拆解 |
| 产品经理 | 用户访谈归纳、竞品功能对比、PRD 审阅 |
| 学者 / 研究生 | 文献综述、论文整合、引用追溯 |
| 程序员 | 代码仓库阅读、技术文档分析、bug 复现 |
| 教师 | 学生论文批改、教材结构分析 |
选什么模型最适合长上下文
不是所有模型都能舒服处理 20k+ token。推荐选择:
| 模型 | 上下文窗口 | 适合的最大输入 | 推荐场景 |
|---|---|---|---|
| Claude Opus 4.7 | 100 万 token | 50 万字以内 | 法律、长论文、整本书 |
| Gemini 2.5 Pro | 200 万 token | 100 万字以内 | 整个代码仓库、多份长报告 |
| Kimi K2 | 256 万 token | 130 万字以内 | 国内场景首选,中文优化 |
| GPT-5 | 40 万 token | 20 万字以内 | 通用长文档 |
具体怎么选可以看Claude 是什么、Kimi 怎么用、ChatGPT 是什么。
详细的 token 计算方法可以看Prompt 长度有上限吗?token 是什么。
长上下文写作的 5 个常见错误
错误 1:把指令插在文档中间
❌「这是材料:[一半文档]。请总结。[另一半文档]」
正确做法:所有材料连续放完,指令统一放最后。
错误 2:没有用 XML 标签
直接散文式贴文档,AI 会把文档内容当成指令的一部分。只要文档超过 500 字,就该用 XML 标签。
错误 3:忘了让 AI 引用原文
直接问问题,AI 会编。加一句「请引用原文段落支持你的回答」,幻觉率立刻下降。
错误 4:超过模型上限的 80%
实测:超过 80% 容量后质量会下降。建议留 20% 给输出。
错误 5:一次问 10 个问题
长文档场景下,5 个问题是上限。问得太多 AI 会顾此失彼。复杂任务建议拆成多轮对话,可以用Prompt 模板和变量做模板化。
常见问题
Q1:模型说支持 100 万 token,是不是真的能塞满?
技术上能,效果上不建议。Anthropic 自己也承认存在「lost in the middle」(中间遗忘)现象——中间部分记得最差。实用建议:塞到上限的 50-70% 最稳。
Q2:长上下文比 RAG(检索增强)谁更好?
各有适用:
- 整篇文档 < 50k token、需要全文理解:直接长上下文
- 海量文档库(几百份)、按需调用:RAG
- 文档 > 100k token、且只问部分内容:RAG + 摘要预处理
Q3:长上下文 prompt 一定要英文吗?
不需要。Claude、Kimi、Gemini 在中文长上下文上表现都不错。但 XML 标签语法和 <quotes> 这种标记最好保留英文,AI 解析最准。
Q4:长上下文写法跟少样本 prompt冲突吗?
不冲突。少样本示例可以放在 <examples> 标签里,跟 <documents> 一起组成完整 prompt。
Q5:Meta Prompting能帮忙写长上下文 prompt 吗?
非常推荐。把你要分析的任务用大白话告诉 AI,让它先帮你写一个长上下文 prompt 模板(带 XML 结构),再往里填实际文档。
下一步
学完长上下文,建议继续:
- Prompt 长度有上限吗?token 是什么 — 把 token 概念彻底搞清
- Prompt 模板和变量怎么用 — 让长 prompt 可以反复用
- Anthropic Prompt Library 中文版 — 看 Anthropic 官方长上下文模板
- Claude 4 提示词官方指南 — Anthropic 官方的完整提示词体系
最后一句心法:长上下文 prompt 的本质不是「让 AI 看更多」,而是「让 AI 看得更结构化」。结构 > 长度 > 字数。把文档排好、问题列清、引用要求加上,AI 在长文档上的表现会让你刮目相看。