一句话定义:XML 标签约定(XML Tagging in Prompts)指的是在提示词里用成对的尖括号标签,比如 <rules>...</rules>、<example>...</example>,把不同用途的内容分装进一个个有名字的区块。
打个比方:搬家公司上门,师傅不会把整间屋子一股脑塞进一个箱子。他会按「厨房」「易碎」「当天先用」分箱,在外壳写上字。到了新家,不用拆箱就知道哪箱该先进厨房。长提示词就是那间屋子:里面有背景资料、有必须遵守的规矩、有示范案例、有用户这次真正要问的问题。如果全部平铺成一大段,模型只能靠语感猜边界;贴上标签,等于给每箱货物写了名字。
标签的关键在于成对闭合。<rules> 开始、</rules> 结束,是一个毫不含糊的收尾信号,模型不必依赖空行、缩进或语气去推断「这条规则说完了没有」。提示词越长,这种信号越值钱——否则很容易把背景资料里的某句话误当成硬性要求,或者让示例的风格污染了正式回答。
一个简化的样子:
```xml
<rules>
1. 只回答被问到的问题,不主动扩展话题
2. 不确定的信息直接说明不确定
</rules>
<example>
用户提问:……
期望回答:……
</example>
<question>用户这次的真正问题</question>
```
和相邻概念的区别:
| 手段 | 主要作用 | 特点 |
|---|---|---|
| XML 标签 | 划分语义区块 | 成对闭合,边界明确,可嵌套 |
| Markdown 标题、分隔线 | 视觉分节 | 轻量,但边界偏弱,内容里出现同款符号时会混淆 |
| JSON / YAML | 约定字段与结构 | 利于程序解析,塞大段自然语言时较啰嗦 |
| 自然语言小标题 | 说明这段是什么 | 直观,但范围到哪结束要靠模型自己判断 |
值得强调的是,标签是容器,不是内容。<example> 只是「这里是示范」这个盒子,盒子里装什么由你决定。它和少样本示例(few-shot)不是一回事:示例是货,标签是箱。
对从业者的意义:把AI 词典:系统提示词">系统提示词模板化。需要动态拼接时,把检索到的资料塞进 <context>、把用户输入放进 <question>,改一处不影响其它区块;调试时也能快速定位是哪一箱出了问题。对于长提示词、多任务提示词,明确的区块边界通常能减少串台。
对普通人的意义:看到满屏尖括号不必发怵。它不是在写代码,只是在说「这一段是规矩」「这一段是例子」。你自己写长提示词时也可以照做:先写 <背景>,再写 <要求>,最后写 <我的问题>,往往比一段流水账更听话。
两个常见误区:标签名本身没有魔法,<rules> 和 <rule> 都行,重点是名字自解释、全文用法一致、嵌套别太深。另外,不同模型对标签的敏感程度不一样,具体效果以各家官方文档和自己的小规模测试为准。
