No history yet

XML 结构化提示词

XML 结构化提示词

要让 Claude 发挥出最大潜力,关键在于提供结构清晰的提示词。虽然像 GPT-4 这样的模型能够很好地处理自由格式的文本,但 Claude 在处理用 XML 标签组织的指令时,表现尤为出色。这就像给它一张蓝图,而不是一堆散乱的建材。

使用标签可以将提示词的不同部分(如指令、背景信息和示例)清晰地隔离开来。这种结构化的方法能够显著降低模型混淆指令和数据的可能性,尤其是在处理复杂任务时。

Claude 模型经过微调,会特别关注 XML 标签创建的结构,并且不会像 GPT 那样遵循任何随机的指示符。

这种对结构的偏好意味着,通过掌握 XML 标签,你可以更精确地控制 Claude 的行为,从而获得更可靠、更一致的输出。

核心作用与常用标签

XML 标签的核心作用是为提示词建立一个清晰的层次结构,帮助 Claude 区分不同类型的信息。这就像给文件分门别类地贴上标签,让模型一眼就能看出哪部分是需要遵循的指令,哪部分是需要参考的背景材料。

虽然你可以自定义标签名,但遵循一套清晰、一致的命名规范是最佳实践。常用的标签包括:

  • <instructions>:存放你希望模型执行的具体指令。
  • <context><background>:提供任务所需的背景信息或数据。
  • <example>:展示输入和输出的示例,用于少样本提示 (few-shot prompting)。
  • <data>:包裹需要处理的原始数据,如文本、代码片段等。
  • <persona>:定义希望模型扮演的角色。

将指令与要处理的数据分离开来,是结构化提示词中最关键的一步。这能有效避免模型将你的指令误认为是待处理内容的一部分。

我们来看一个简单的对比。假设你希望 Claude 总结一段文字,并提取关键人物。一个自由格式的提示词可能是这样的:

请总结以下文字,并列出其中提到的人物。文字是:“爱丽丝和鲍勃是长期的合作者。他们共同创立了一家公司,后来查理也加入了他们。”

这个提示词简单明了,但当指令变得更复杂时,模型就可能出错。使用 XML 标签可以大大提高清晰度:

<instructions>
  1. 总结提供的文本,不超过 20 个字。
  2. 以无序列表的形式,列出文本中提到所有人物。
</instructions>

<text_to_analyze>
  爱丽丝和鲍勃是长期的合作者。他们共同创立了一家公司,后来查理也加入了他们。
</text_to_analyze>

通过使用 <instructions><text_to_analyze> 标签,我们明确地划分了任务的两个核心部分,让 Claude 的工作变得更简单、更不容易出错。

嵌套逻辑与多任务拆解

当任务变得更加复杂,包含多个步骤或层次时,XML 的嵌套能力就派上了用场。你可以通过将标签相互嵌套,来构建一个清晰的任务层级。这种方法对于需要模型按特定顺序执行多个子任务的场景尤其有效。

例如,你可以创建一个顶层的 <task> 标签,内部再包含 <context><steps>,甚至在 <steps> 内部再嵌套多个 <step> 标签,每个 <step> 都有自己的指令。

下面是一个利用嵌套结构处理多任务场景的例子。任务是分析一篇关于太阳能的文章,提取优缺点,并生成一封邮件草稿。

<task>
  <context>
    <document>
      太阳能是一种清洁的可再生能源。它的主要优点是环保且运营成本低。然而,其初始安装成本高,并且发电效率受天气影响较大。
    </document>
  </context>

  <instructions>
    <step_1>
      从提供的 <document> 中提取太阳能的优点和缺点。
      将结果格式化为两个独立的无序列表。
    </step_1>

    <step_2>
      根据 <step_1> 的分析结果,撰写一封邮件草稿给团队。
      邮件的目的是简要介绍太阳能的利弊,并建议进行更深入的讨论。
      邮件应包含一个清晰的主题行。
    </step_2>
  </instructions>
</task>

通过这种方式,我们将一个复杂的请求分解为两个清晰、独立的步骤。模型可以先专注于第一个任务(分析),然后再处理第二个任务(写作),每一步都有明确的指令。这种清晰的结构极大地提高了 Claude 遵循复杂指令的准确性。

好了,现在轮到你来练习了。尝试将一个复杂的任务用 XML 标签进行分解和构建,看看是否能得到更精确的回答。

Quiz Questions 1/5

为什么建议在为 Claude 设计提示词时使用 XML 标签?

Quiz Questions 2/5

当一个任务包含多个需要按顺序执行的子任务时,以下哪种方法最有效?

通过这些练习,你会发现,掌握 XML 结构化提示词是解锁 Claude 全部能力的关键一步。