什么是提示中的 XML 标签?
提示中的 XML 标签,就是像 <context>、<task>、<output_format> 这样的简单标记,用来把指令的每一部分包起来。它清楚告诉 AI 哪段是背景、哪句是请求、哪条是规则,让所有内容不再混成一团。
大多数人写提示时,都是把所有内容塞进一段文字,然后期望模型自己理清。事实上它往往做不到,只能猜哪一句才是真正的任务,而在状态不好时,它就会猜错。
解决方法很简单,却几乎没有人用:替每一段内容加上标签。你在 HTML 里见过这些角括号,在这里它做的是同一件事,给模型一张清晰的提示地图,而不是一堵文字墙。
为什么 XML 标签能让 AI 输出更稳定?
XML 标签能让输出更稳定,因为它消除了歧义。当背景、任务与规则各自处于一个有标记的区块时,模型不必再推断哪里是分界。它是在解析你的意图,而不是猜测。
Anthropic 官方的提示工程文件,就把 XML 标签列为构建复杂提示的主要方法,并指出模型经过专门训练,会对这种结构有良好反应。
这对日常工作之所以重要,关键在于可重复性。一个只成功一次的提示,是运气;一个第五十次仍然可用的提示,才是工具。结构,正是把前者变成后者的那一步。
换个角度想:没有结构的提示,是要求模型读心;有标签的提示,是递给它一份清单。清单永远胜出。
你实际上应该用哪些 XML 标签?
你不需要庞大的词汇。三到五个标签就能应付几乎所有真实任务:<context> 放背景、<task> 放请求、<instructions> 放规则、<example> 放范例答案、<output_format> 放你想要的输出形式。
并没有一份官方的「正确标签名称」清单。Anthropic 的建议很单纯:用能描述内容的名称,并在你所有提示中保持一致。
一个合理的顺序,贴近模型的阅读方式:先放 <context>,再放 <task>,接着 <instructions>,最后 <output_format>。先交代情境,再提出请求,然后才是限制。
当某一类内容包含多个项目时,把标签嵌套化。将多份参考文件包在 <documents> 内,每一份再放进自己的 <document>。这种层级关系对模型和你自己都一目了然。
如何用 XML 标签重写一个杂乱的提示?
拿一个典型的长串提示来拆解。所有描述情境的内容放进 <context>;那一句说明你要什么的话放进 <task>;每一条规则与限制放进 <instructions>;想要的输出形式放进 <output_format>。
以下是一个完整、可直接复制粘贴的范本,你今天就能贴进 ChatGPT、Claude 或 Gemini,并改成任何任务:
试试这个提示:
<context>
我在香港一家 40 人的软件公司负责市场推广。我们的受众是对新工具持谨慎态度的中小企老板。品牌语气要平实、温暖,绝不夸张。
</context>
<task>
为一封宣布全新报表仪表板的产品更新电邮,撰写三个标题。
</task>
<instructions>
- 每个标题不超过 20 个字。
- 不用感叹号,不用表情符号。
- 一句以具体好处开头,一句以好奇心切入,一句用平实描述。
- 避免使用「革命性」、「颠覆」、「解锁」这些字眼。
</instructions>
<output_format>
以编号清单列出三句标题。每句之后,用一句简短说明它采用了哪种角度。
</output_format>
你会发现,模型现在已无处游移。它知道受众、确切的交付物、硬性限制,以及答案的形式。连跑五次,输出都停留在同一条轨道上。
这招只适用于 Claude,还是 ChatGPT 和 Gemini 都有效?
这招到处都有效。虽然 Anthropic 主要为 Claude 明文说明 XML 标签,但背后的好处是通用的:任何大型语言模型,只要提示把背景、任务与规则拆成有标记的区块,而非一整段文字,输出都会更稳定。
实际使用上,Claude 对这种结构的反应最明显,因为它就是用这种结构训练出来的。GPT 与 Gemini 同样受益显著,尤其在资料抽取,以及任何需要每次都拿回相同格式的任务上。
你并不是在写必须通过验证的真正 XML,而是在给模型视觉上的锚点。少一个结束标签不会弄坏任何东西,不过把标签关好,能让长提示对你自己更易读。
如果你手上已有几个常用提示,把它们重新加上标签一次即可。这套结构,你往后几个月都会反复沿用。
使用 XML 标签时的常见错误有哪些?
最大的错误是过度加标签。把每一句都包进独立标签只会制造杂音,把真正的重点埋没。标签是用来区分本质不同的内容,不是拿来装饰。对大多数提示而言,三到五个标签最恰当。
第二个错误是名称不一致。若你在这个提示叫 <instructions>,下一个却叫 <rules>,就会失去这技巧最值得采用的那份可重用性。选定名称,然后贯彻到底。
第三个陷阱是替简单问题加标签。若你的提示只有一行,纯文字就够了。结构的价值,体现在复杂、多部分的提示,而不是「帮我摘要这段文字」。
最后一个是把指令放进 <context>。藏在背景区块里的规则,会被当成背景处理。把每一条限制都留在 <instructions> 里,模型才会在它预期的位置找到它们。
立即试做:把一个你常用的提示重新加上标签
挑一个你经常用、但大概只有一半机会给出好结果的提示。用上面的范本,把它拆成 <context>、<task>、<instructions> 与 <output_format>。新旧两个版本并排,各跑五次。
你会在波动幅度上感受到差别。加了标签的版本不再让你意外。这份可预测性正是重点所在,因为一个你能信任的流程,胜过一个你无法重现的巧招。
这是一个回报远超投入的小习惯。当你的提示有了结构,往后的一切,从范本到团队共用的提示库,都会更容易建立。
在 UD,我们相信好的工具不该冰冷,而应成为你工作中的伙伴。懂AI,更懂你,UD相伴,AI不冷。
准备好提升你的 AI 技能了吗?
结构化提示只是其中一项技能,还有许多值得掌握,而成长最快的方法,是先看清自己今天的水平。UD 的 AI IQ 测试能在数分钟内评估你目前的 AI 熟练度,再告诉你下一步该加强什么。我们手把手带你完成每一步,由第一个结果,到一套你能信赖的可重复流程。