当您构建包含大量内容的提示时,Claude 有时会难以理解哪些文本片段属于一起,或者不同的部分分别代表什么。XML 标签提供了一种简单的方法,为您的提示添加结构和清晰度,尤其是在您插入大量数据时。
为什么结构很重要
设想一个需要分析 20 页销售记录的提示。如果没有清晰的边界,Claude 可能难以区分您的指令和您想要分析的实际数据。

上面的示例展示了不清晰的边界会如何使 Claude 难以解析您的意图。通过将销售记录包裹在 XML 标签中,您可以在提示的不同部分之间创建清晰的分隔。
使用 XML 标签提升清晰度
XML 标签充当分隔符,帮助 Claude 理解您提示的结构。您可以创建描述其所包含内容的自定义标签名称:
<sales_records>
{sales_records}
</sales_records>标签名称不需要遵循任何官方的 XML 规范——您可以自由创建描述性的名称,例如 sales_records、data 或 records。通常,更具体的名称比通用名称效果更好。
一个实际示例
这里有一个清晰的示例,说明了为什么 XML 标签会产生差异。在"不太好"的版本中,不清楚哪些内容代表有问题的代码,哪些代表文档:

改进后的版本使用 XML 标签清晰地分隔了不同类型的内容:
<my_code>
from datavortex import Pipeline, DataSource
def process_data(input_file, output_file):
pipeline = Pipeline()
source = DataSource.from_csv(input_file)
</my_code>
<docs>
# Creating a data source from data vortex
csv_source = DataSource.from_csv("data.csv")
</docs>现在 Claude 可以轻松区分需要调试的代码和应该指导调试过程的文档。
将结构应用于您的提示
即使您插入的内容并不庞大,XML 标签仍然可以提升清晰度。例如,在生成膳食计划时,您可以将运动员信息归类在一起:
<athlete_information>
- Height: {prompt_inputs["height"]}
- Weight: {prompt_inputs["weight"]}
- Goal: {prompt_inputs["goal"]}
- Dietary restrictions: {prompt_inputs["restrictions"]}
</athlete_information>这使得 Claude 能够非常清楚地知道,这个区块包含了关于运动员的外部输入信息,应该用于指导膳食计划的生成。
何时使用 XML 标签
XML 标签在以下情况下最为有用:
- 您正在包含大量的上下文或数据
- 您的提示包含多种不同类型的内容
- 您希望让不同部分之间的边界变得明显
- 您正在插入可能与您的指令混淆的内容
虽然在简单的提示中您可能不会看到显著的改善,但 XML 标签作为分隔符,有助于 Claude 更好地理解您的意图,从而带来更一致、更准确的响应。