加载中

当您构建包含大量内容的提示时,Claude 有时会难以理解哪些文本片段属于一起,或者不同的部分应该代表什么。XML 标签提供了一种简单的方法,为您的提示添加结构和清晰度,尤其是在您插入大量数据时。

为什么结构很重要

假设有一个提示,您需要分析 20 页的销售记录。如果没有清晰的边界,Claude 可能难以区分您的指令和您想要分析的实际数据。

上面的示例展示了不清晰的边界如何使 Claude 难以解析您的意图。通过将不同的内容部分包裹在 XML 标签中,您创建了清晰的分隔符,帮助 Claude 理解提示的结构。

使用 XML 标签提升清晰度

XML 标签充当容器,将提示中不同的部分分隔开来。您可以创建描述其所包含内容的自定义标签名称:

在这种情况下,将销售数据包裹在 <sales_records> 标签中,可以立即清楚地表明该内容代表什么。标签名称本身就提供了关于数据类型的上下文。

一个实际示例

这里有一个更具说服力的示例,展示了为什么结构很重要。左侧是一个混合了代码和文档的调试请求:

如果没有清晰的边界,Claude 必须猜测哪些部分是有问题的代码,哪些部分是文档。右侧的改进版本使用 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 解析不同的内容类型
  • 提升 Claude 理解提示中不同部分之间关系的能力
  • 使您的提示更易于维护和调试

当您处理混合了指令、数据、示例和其他内容类型的复杂提示时,XML 标签尤其有价值。您能使结构越清晰,Claude 就能越好地理解并响应您的具体需求。