提示词 XML 标签怎么用:用标签和 Markdown 给长提示词分区(官方写法与模板)

提示词里的 XML 标签有什么用?本文按 Anthropic、OpenAI、Google 官方文档讲清为什么要给提示词分区、标签和 Markdown 标题各适合做什么、标签怎么命名和嵌套,并附通用模板。

NNathaniel bigo··原创首发·AI 辅助撰写
8 分钟读完
资料核对于 2026-10-11 · 依据官方文档与公开资料整理 免费账号 账号

适用于谁

  • 搜「提示词 xml标签」「提示词 分隔符」的人;
  • 看到别人的提示词里写满了 <context>、<instructions> 这样的尖括号,想知道这是不是必须、该怎么写的人;
  • 提示词越写越长,模型开始把资料里的话当成指令、或者把例子当成正文的人。

本文根据 Anthropic、OpenAI、Google 的官方提示词文档整理,资料核对于 2026-10-11。

结论先说

  1. 标签的作用是「分区」:告诉模型哪一段是指令、哪一段是资料、哪一段是例子,避免混淆。
  2. 不是只有 Claude 才用。三家官方文档都推荐用 XML 风格的标签或 Markdown 来组织提示词。
  3. 没有「官方规定的标签名」。标签名自己取,要求是有描述性、前后一致。
  4. Markdown 标题适合划分大的章节,XML 标签适合包住一整块内容,两者可以配合使用;Google 则建议在一个提示词里选定一种并保持一致。
  5. 短提示词不需要标签。一句话能说清的事,加标签只是添乱。

三家官方怎么说

说法
AnthropicXML 标签帮助模型无歧义地解析复杂的提示词,尤其是当提示词里混合了指令、上下文、示例和可变输入时。把每种内容包在各自的标签里,可以减少误解
OpenAI用 Markdown 和 XML 标签的组合帮助模型理解提示词和上下文数据的逻辑边界。Markdown 的标题和列表用来标出不同部分并表达层级;XML 标签用来界定一段内容(比如参考文档)从哪里开始、到哪里结束,标签的属性还可以用来放关于内容的元数据
Google用清晰的分隔符把提示词的不同部分分开,XML 风格的标签(如 <context>、<task>)或 Markdown 标题都有效;选一种格式,在同一个提示词里保持一致

OpenAI 在给推理模型的建议里也专门有一条:用 Markdown、XML 标签和小标题这样的分隔符,清楚地标明输入的不同部分。

步骤

1. 判断要不要分区

需要分区的信号:

  • 提示词里有大段粘贴的资料(文档、邮件、代码、聊天记录);
  • 同时有指令 + 例子 + 待处理的内容三样东西;
  • 资料里本身含有祈使句(比如一封邮件里写着「请尽快回复」),你担心模型把它当成给自己的指令;
  • 你需要程序化地从输出里提取某一部分。

反之,「把这句话翻译成英文」这种一句话的任务,不需要任何标签。

2. 给每种内容一个标签

Anthropic 举的例子是 <instructions>、<context>、<input>。常用的一组:

标签放什么
<role> 或 # 身份角色和定位
<instructions>要做什么、规则、步骤
<context>背景信息
<document> / <documents>参考资料
<example> / <examples>少样本示例
<input> 或具体名称如 <email>这一次要处理的内容
<output_format>期望的输出格式

Anthropic 的两条最佳实践:

  • 标签名要一致、有描述性。整个提示词乃至你所有的提示词里,同一种内容用同一个名字;
  • 内容有天然层级时就嵌套。例如多份文档放在 <documents> 里,每份再用带编号的 <document index="1"> 包起来。

标签名用中文还是英文,官方文档没有规定,示例都是英文。重要的是前后一致、成对闭合。

3. 在指令里按名字引用

标签的好处是可以指名道姓。与其写「根据上面的内容」,不如写:

请根据 <contract> 中的条款,逐条检查 <checklist> 里的每一项是否满足。

资料很多时,这种引用方式能明显减少模型「看错对象」的情况。

4. Markdown 和 XML 怎么配合

OpenAI 官方示例的排法是:大章节用 Markdown 标题,具体内容块用 XML 标签。

# 身份
你是帮助团队统一代码风格的编程助手。

# 指令
* 变量名一律用 snake_case。
* 只返回代码,不要解释。

# 示例
<user_query>
怎么声明一个存名字的字符串变量?
</user_query>
<assistant_response>
var first_name = "Anna";
</assistant_response>

Google 的模板则是全程用 XML 风格的标签(<role>、<constraints>、<context>、<task>),并说明把用户输入放进 <context> 之后,模型会知道这是数据而不是指令。两种都可以,关键是一个提示词内部风格统一。

Anthropic 还有一条相关的提醒:提示词本身的格式风格会影响回答的风格。提示词里满是 Markdown,回答也更容易满是 Markdown;想要成段的文字,就少用列表和加粗来写提示词。

5. 让输出也进标签

标签不只用于输入。让模型把不同部分的输出放进指定的标签里,后续提取和核对都更方便:

先在 <quotes> 标签里摘录相关原文,再在 <answer> 标签里给出结论。

Anthropic 文档里把这种做法用在好几个地方:用 <quotes> 和 <info> 分开摘录与分析;思考关闭时把最终答案放进 <answer> 标签以便提取;想控制写作风格时,让模型把正文写在一个以风格命名的标签里。

程序里用简单的字符串匹配就能取出标签内的内容。但如果你需要的是严格合法的 JSON,应该用结构化输出功能而不是靠标签,见《如何让大模型稳定输出 JSON》。

通用模板

<role>
[一两句话:它是谁、为谁服务、什么口吻]
</role>

<instructions>
1. [第一步]
2. [第二步]
3. [规则与限制;重要的规则写上原因]
</instructions>

<examples>
<example>
<input>[示例输入]</input>
<output>[示例输出]</output>
</example>
</examples>

<documents>
<document index="1">
<source>[来源]</source>
<document_content>
[资料正文]
</document_content>
</document>
</documents>

<task>
[这一次的具体请求。资料很长时,把这一段放在最后]
</task>

按需删减:没有例子就删掉 <examples>,没有资料就删掉 <documents>。

常见问题

Q:必须是合法的 XML 吗?要不要写声明、转义特殊字符?

不需要。这里只是借用尖括号的形式做分隔,不会被当作 XML 解析。成对闭合、不要交叉嵌套就可以。

Q:用三个引号、三个反引号或者 ### 做分隔行不行?

可以,它们同样是分隔符。标签的优势在于有名字,能在指令里引用,也能嵌套。资料本身包含代码块或 Markdown 时,用标签包住更不容易混淆。

Q:资料里的内容会不会被当成指令执行?

分区能降低这种风险,Google 的模板也是这样说明的。但它不是安全机制:处理不可信的外部内容(网页、陌生邮件)时,仍然要假设其中可能有人为设计的指令,重要操作要有人工确认。

Q:聊天界面里也能这么写吗?

能,直接把带标签的文本粘进输入框即可。上传文件时文件本身就是一个独立的块,不用再包标签,在问题里用文件名指代就行。

Q:标签用得越多越好吗?

不是。每加一个标签都要问:它区分开了两种不同的内容吗?只包住一句话的标签通常是多余的。

参考资料

  • Anthropic 文档:Prompting best practices(Structure prompts with XML tags、Control the format of responses)— https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices
  • OpenAI 文档:Prompt engineering(Message formatting with Markdown and XML)— https://developers.openai.com/api/docs/guides/prompt-engineering
  • OpenAI 文档:Reasoning best practices — https://developers.openai.com/api/docs/guides/reasoning-best-practices
  • Google 文档:Prompt design strategies(Structured prompting examples)— https://ai.google.dev/gemini-api/docs/prompting-strategies
需要开通或续费?ChatGPT Plus 充值 →

Nathaniel 的更多内容

  1. 01

    Hugging Face 怎么下载模型:hf 命令行下载单个文件、指定目录与受限模型申请

    Hugging Face 怎么下载模型?本文按官方文档讲清网页下载、hf download 命令行(单个文件、整个仓库、按通配符筛选、下载到指定目录)、访问令牌怎么建、受限模型怎么申请权限,以及缓存目录和超时怎么调。

    其他 AI 工具0
  2. 02

    Claude 提示词缓存(Prompt Caching)入门:缓存时间、价格倍率与命中率

    Claude API 的提示词缓存能把重复的长前缀(系统提示、工具定义、长文档、对话历史)缓存起来,读缓存只收少量费用。本文讲自动缓存与断点写法、5 分钟和 1 小时两种时长、价格倍率、最短长度、怎么看命中率以及命中率低的原因。

    Claude0
  3. 03

    Google AI Studio 怎么用:界面入口、选模型、发第一条提示与获取代码(入门)

    Google AI Studio 是 Google 给开发者试用 Gemini 模型的网页工具。本文讲清它和 Gemini 应用的区别、Playground 与 Build 入口、发第一条提示、运行设置、获取代码,以及免费边界和可用地区。

    Gemini0
  4. 04

    ChatGPT 取消订阅与关闭自动续费:网页、iPhone、安卓分别怎么操作,能退款吗

    ChatGPT Plus / Pro 不想续费了怎么取消?要在哪里买的就在哪里取消。本文按官方帮助中心讲清网页、iPhone、Google Play 和 Business 的取消步骤、要提前多久取消、取消后还能用多久、退款政策,以及重复扣费怎么处理。

    ChatGPT0
  5. 05

    扣子工作流怎么搭建:入口在哪、节点类型、变量引用、试运行与发布

    扣子工作流怎么搭建、入口在哪?本文按扣子官方文档讲清两种做法:新用户在扣子编程里用一段话生成工作流,老用户在旧版低代码画布上拖节点;并说明大模型、代码、选择器节点的配置要点、变量引用写法、试运行和官方限制。

    其他 AI 工具0
  6. 06

    长文档怎么问 AI:资料放前面、问题放最后、先引用再回答(官方长文本提示词技巧)

    把几十页的报告、合同丢给 AI,为什么总是答得笼统或漏掉重点?本文整理 Anthropic、Google、OpenAI 官方文档里针对长文本的提示词建议:资料与问题的摆放顺序、多份文档怎么用标签区分、先摘录原文再作答,并给出可照抄的模板。

    ClaudeGemini0

同产品的其他教程

  1. 01

    Claude Tool Use(工具调用 / Function Calling)入门:定义工具与返回 tool_result

    Claude API 工具调用(Function Calling)入门:工具定义三要素、tool_use / tool_result 往返循环、Python 完整示例、is_error、tool runner、服务器工具,以及常见报错原因。

    Claude0
  2. 02

    ChatGPT 定时任务怎么设置:每天自动提醒、汇总、监控变化与事件触发

    ChatGPT 的定时任务(Scheduled tasks)可以按时提醒、每天推送简报、监控网页或邮箱变化,Plus 起还能由 Gmail、Slack、GitHub 事件触发。本文按官方帮助中心讲清怎么创建、各套餐能建几个、多久能跑一次、通知怎么开、怎么分享。

    ChatGPT0
  3. 03

    ChatGPT 自定义指令怎么设置:个性化设置、回答风格与写法示例

    ChatGPT 的自定义指令、个性(Personality)和特征(Characteristics)分别管什么?本文按官方帮助中心讲清网页和手机的设置入口、字数上限、生效范围,并给出几段可直接改用的自定义指令示例。

    ChatGPT0
  4. 04

    SKILL.md 怎么写:格式规范、frontmatter 字段与范例(按 Agent Skills 官方规范)

    SKILL.md 是什么格式、怎么写?按 agentskills.io 官方规范讲清 frontmatter 的六个字段、name 与 description 的硬性限制、正文该写什么不该写什么,附一份可以照着改的范例和校验命令。

    Claude其他 AI 工具0
  5. 05

    ChatGPT 学习模式怎么用:开启方法、找不到怎么办,配合闪卡和测验复习

    ChatGPT 学习模式(Study mode)不直接给答案,而是一步步提问引导你学懂。本文按官方帮助中心讲清网页和手机怎么开启、为什么找不到、第一条消息怎么写,以及怎么配合 2026 年新增的交互式测验和闪卡复习备考,附可直接复制的提问模板。

    ChatGPT0
  6. 06

    Claude Connectors(连接器)怎么用:连接 Google Drive、Gmail 等与推荐

    Claude 连接器(Connectors)是什么、在哪里找目录、怎么连接 Google Drive / Gmail / 日历、怎么控制权限,以及和插件、技能的区别。

    Claude0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~