即刻App年轻人的同好社区
下载
App内打开
歸藏
2年前
前几天我发了一个Claude的提示工程师给出的五个提示词的书写建议的视频,他最后提议去看 Claude 的文档。
我去看了一下文档里面还有很多更详细的技巧也比较成体系,所以这里就翻译整理了一下。通过翻译和学习这个文档 我对之前不太理解的一些提示词概念也有了更深的理解。

整个文档包括两个部分第一部分是“提示设计”包括什么是提示(Prompt)和提示设计,提示是如何起作用的以及如何设计提示。第二部分是一些有用的提示词书写技巧。

这里是第一部分提示设计,详细的内容可以去这里看:mp.weixin.qq.com
这里阅读体验不太好所以精简了一些内容。

什么是提示(Prompt)?
给 Claude 的文本旨在引出或“提示”相关输出。提示通常采用问题或说明的形式。Claude 响应的文本称为“输出”。(图 1)

这是第一部分第一小节构建提示的内容:

很好地描述任务
在描述任务时,最好为 Claude 提供尽可能多的背景和细节,以及正确完成任务的任何规则。比如下面这个示例,我们将要求 Claude 帮助我们从给定文本中删除任何个人身份信息。(图 2)
如果我们需要 Claude 以特定格式进行响应,并通过各种输入一遍又一遍地正确执行任务,那么我们应该在提示中添加更多详细信息,比如(图 3):
在这个修订版的提示中,我们:
提供了上下文(例如为什么我们希望完成任务)
定义术语(PII = 姓名、电话号码、地址)
给出有关 Claude 应如何完成任务的具体细节(将 PII 替换为 XXX)

标记提示的不同部分
XML 标签,如<tag>这些</tag>有助于划分提示中的一些重要部分,比如规则、示例或处理的输入文本。Claude 经过微调,特别关注由 XML 标签创建的结构。
我们还可以要求 Claude 在其响应中使用 XML 标签。这样做可以轻松地在自动处理输出的设置中提取关键信息。 Claude 天生就很健谈,因此请求这些输出 XML 标记有助于将响应本身与 Claude 对响应的评论分开。
比如下面两个例子(图 4):

示例(可选)
通过在提示中添加一些示例,可以让 Claude 更好地了解如何正确执行任务。可以大大提高准确性和一致性。如果你确实添加了示例,最好使用 <example></example> 标签清楚地标记它们,以便将它们与你希望 Claude 处理的文本区分开来。
提供示例的一种方法是以先前对话的形式。在给 Claude 时使用不同的对话定界符,例如“ H: ”而不是“ Human: ”和“ A: ”而不是“ Assistant: ”使用此方法的示例。这有助于防止示例与对话中的其他对话混淆。下面是例子(图 5):

疑难病例(可选)
如果你可以预见 Claude 在您的输入中可能遇到的困难或不寻常的情况,请在提示中描述它们,并告诉 Claude 遇到它们时该怎么做。
如果你在Claude的回答中发现偶尔但持续的失败,则此信息可能有助于添加到你的提示中。例如(图 6):

接下来是第一部分的第二小结,优化你的提示
一旦你有了满意的提示模板,就可以开始测试它了。然后(如果需要)你可以根据 Claude 在测试中的表现来改进您的提示。

收集一组不同的示例输入
最好使用代表你将要求 Claude 处理的真实数据的输入集来测试你的提示。请务必包含 Claude 可能遇到的任何困难输入或边缘情况。
通过使用这些输入测试你的提示,可以估计Claude在实际操作中的表现。这也可以帮助你看到Claude遇到了哪些困难。
在开发提示模板时,尽可能多地获取输入是很好的,我们建议至少20个或更多,具体取决于任务。

预留(“保留”)一组测试输入
当提出测试输入时,我们建议使用单独的“提示开发数据”和“测试数据”集。两个(或更多)组应该代表真实的输入。
使用你的提示开发数据来评估Claude的表现如何。 迭代你的提示,直到Claude在此数据上始终获得良好表现。

(可选)生成综合数据
如果你想要更多的输入数据,但是又没有很多,你可以启动另一个Claude实例来为你生成额外的输入文本进行测试。如果你解释一下什么是好的输入数据,然后给几个例子,你可以从Claude获得更多这样的例子。

实验和迭代
优化一个提示就像进行一系列实验一样。你运行测试,解释结果,然后根据结果调整一个变量。
当Claude未通过测试时,尝试找出失败的原因。调整你的提示以解决该故障点。
调整提示可能涉及:
1、更明确地编写规则或添加新规则。
2、通过将类似的示例和规范输出添加到提示中,向 Claude 展示如何在提示本身中正确处理示例。
在提示中添加规则和示例,直到你在代表性输入集上获得良好的性能。我们建议还执行“保留测试”。

奖励:请Claude评估其输出
可以使用 Claude 来“自我评估”它之前给出的答案。比如:
1、如果你认为模型可能犯了错误,请让模型检查其工作
2、添加一个额外的尽职调查步骤到一个任务
3、根据你的指示,将响应分类为好或坏,或者说出它更喜欢两个初始响应中的哪一个以及原因(例如,以便你可以决定使用哪一个)
比如下面的例子(图 7):
如果 Claude 在第一次尝试中未能识别出一些错误,你可以尝试添加第二遍(图 8):
你可以通过下面会说到的“提示链接”自动执行这样的“额外注意”步骤。

到这里第一部分提示设计的内容就结束了,整理不易,感谢支持。
326

来自圈子

圈子图片

AI探索站

101255人已经加入