跳到主要内容

用 XML 标签构建提示词结构

进阶

当一条提示词把指令、文档、示例和问题混在一起时,模型可能会把它们搅成一团。XML 风格的标签是一种为每一部分贴标签的清爽办法——而 Claude 对它们的响应尤其好。

核心思路

把每个部分都包裹在一个命名标签里,让什么是什么一目了然:

<instructions>
Summarize the document for a busy executive. Use only the document; if a fact
isn't there, say so.
</instructions>

<document>
{paste the long document here}
</document>

<format>
3 bullet points, then a one-line "decision needed".
</format>

这些标签只是你自己发明的文本——<document><example><context><rules>——但它们为模型提供了清晰的边界。

它为什么有用

  • 把数据与指令分开——模型更不容易去服从粘贴进来的文档里夹带的无关文本(对提示词注入的一种温和防御)。
  • 减少"它忽略了我提示词的一部分"。 每一部分都被清晰地界定。
  • 让输出更易于解析——你可以让 Claude 把答案放进 <answer> 标签里,然后可靠地提取出来。
  • 少样本组合使用——把每个示例都包进 <example>

要求带标签的输出

Put your reasoning in <thinking> tags and your final answer in <answer> tags.

然后你的代码就能只抓取 <answer> 里的内容。当你需要机器可读的结果时,它与结构化输出配合得很好。

小贴士

  • 保持一致——每个标签都要开有合、闭有应;重复使用相同的名称。
  • 有意义地命名标签(用 <contract>,而不是 <x>)。
  • 不要在琐碎的提示词上过度加标签——当确实存在多个明显不同的部分时再用这种方法。

下一步