本指南旨在为我们的旧模型提供使用技巧,以及提供将提示从其他模型(如 OpenAI 的 GPT)迁移到我们的旧模型的技巧(有关迁移到我们的前沿模型的信息,请参阅我们的主要迁移指南)。


Anthropic 的旧模型

我们的旧模型包括 Claude Instant 1.2、Claude 2.0 和 Claude 2.1。在这些旧模型中,只有 Claude 2.1 支持系统提示(所有 Claude 3 模型都完全支持系统提示)。

这些模型没有 Claude 3 系列的视觉能力,总体上性能和智能水平较低。但是,它们仍然可以用于不需要 Claude 3 模型高级功能的某些应用程序。有关完整摘要,请参阅模型概述页面。

请注意,旧模型可能会随着时间的推移而被弃用,并且与新模型相比支持较少,因此我们建议尽可能计划迁移到 Claude 3 系列。


将提示从 OpenAI/ChatGPT 迁移到旧版 Claude 模型

如果您正在从 OpenAI 的 GPT 模型或 ChatGPT 过渡到 Claude 2 系列模型或更旧的模型,您可能需要对提示进行一些调整,以确保获得最佳性能。虽然 Claude 3 系列的可操控性要强得多,通常可以在不需要修改的情况下处理提示迁移,但旧模型可能需要额外的提示调整。(也就是说,虽然不是必需的,但这些相同的技术和其他提示工程策略仍然可能有助于将 Claude 3 模型的性能提高到基线以上。)

以下是一些帮助您转换 GPT 提示以获得更好的旧版 Claude 模型结果的技巧:

1. 添加 XML 标签

XML 标签(例如 <tag></tag>)可用于划分提示的不同子部分,允许 Claude 将提示划分为不同的部分。例如,要将文档中的文本添加到提示中,请将文档包装在 <doc></doc> 标签中:

XML
<doc>
一些文本...
</doc>

Claude 还可以识别其他结构化格式,如 JSON 和 Markdown,但由于训练期间的接触,XML 在大多数情况下往往会带来最佳性能。您可以使用任何您想要的标签名称,只要它们遵循 <></> 格式(尽管我们建议使标签名称在某种程度上合理并与它们划分的内容在语义上相关)。有关更多信息,请参阅我们关于使用 XML 标签的指南。

2. 提供清晰明确的指示

Claude 对清晰直接的指示反应良好。与其留出隐含假设的空间,不如在提示中尽可能详细地明确指示 Claude,以确保 Claude 可以根据您的规范完全执行手头的任务。例如,不要这样:

角色内容
用户使用上下文和问题来创建答案。

尝试这样:

角色内容
用户请阅读 <question> 标签内提供的用户问题。然后,仅使用上面 <context> 标签内提供的上下文信息,生成问题的答案并将其输出在 <answer> 标签内。

在为 Claude 创建提示时,请采用 Claude 对任务是新手并且除了提示中所述内容之外没有先前上下文的心态。提供详细明确的解释将有助于 Claude 生成更好的响应。有关更多信息,请参阅清晰直接

3. 预填充 Claude 的响应

您可以扩展 Claude 的提示以预填充 Assistant 轮次。Claude 将从 Assistant 消息中的最后一个标记继续对话。这有助于避免 Claude 的啰嗦倾向,并确保它提供所需的输出格式。例如:

角色内容
用户我希望你使用以下说明重写以下段落:”
{{INSTRUCTIONS}}“.

这是段落:
<text>“{{PARAGRAPH}}”</text>

请在 <rewrite></rewrite> 标签内输出你的重写。
Assistant (预填充)<rewrite>

如果您使用此方法,请确保在 API 调用中将 </rewrite> 作为停止序列传递。有关更多信息,请参阅我们关于预填充 Claude 的响应的指南。

4. 保持 Claude 的角色

有关确保 Claude 在角色扮演场景中保持角色的策略,请参阅保持 Claude 的角色。请注意,对于 Claude 2.1(以及所有 Claude 3 模型),您还可以使用系统提示来帮助 Claude 更好地保持角色。

5. 将文档放在指令之前

Claude 的长上下文窗口(根据模型的不同为 100K-200K)使其非常擅长解析和分析长文档和文本字符串。最好在指令或用户输入之前提供长文档和文本,因为 Claude 会特别注意提示底部附近的文本。请确保在提示末尾强调重要的指令。

有关更多信息,请参阅长上下文窗口技巧

6. 添加多个示例(至少 3 个)

Claude 通过如何响应以及以何种格式响应的示例来很好地学习。我们建议在提示中添加至少三个示例,但越多越好!对于需要一致可靠的结构化输出的任务,示例尤其有益。统一的示例将教会 Claude 每次都以相同的方式响应。通过访问我们的使用示例进行提示的指南了解更多信息。


旧模型功能

Claude 输出星号动作

当给出角色扮演提示或系统提示时,旧版 Claude 模型有时喜欢通过编写舞台指示(如 *微笑**挥手*)来创造性地说明他们的响应。如果不需要这样做,您可以对输出进行后处理以删除星号之间的单词。

以下是在 Python 中执行此操作的示例:

Python
import re

text = "你好。*我的名字是 Claude。*我是一个 AI 助手。"
cleaned = re.sub(r'\*.*?\*', '', text)
print(cleaned)
> 你好。我是一个 AI 助手。