企业文化

  • 首页
  • 企业文化
  • 提示工程技术与最佳实践:通过在 Amazon Bedrock 上使用 Anthropic 的 Cla

提示工程技术与最佳实践:通过在 Amazon Bedrock 上使用 Anthropic 的 Cla

2026-01-27 14:18:33

提升生成式人工智能的提示工程技巧与最佳实践

关键要点

本篇文章将探讨如何利用Anthropic的Claude 3和Amazon Bedrock中的有效提示工程技巧,帮助用户设计优质的提示以获取期望的AI输出。我们将演示实际应用和最佳实践,以提高生成式AI模型的表现和效率。

你可能已经使用过生成式人工智能AI工具如虚拟助手和聊天机器人应用,并发现你并不总是能得到所需的答案。而要达到这个目的有时并不简单。大型语言模型LLMs是生成式AI革命背后的核心技术,它们通过一种称为提示的自然语言文本,接受指令来完成特定任务并设置预期响应。提示的编写方式对LLM生成的结果有着深远的影响。写得不好的提示往往会导致幻觉、次优结果和整体低质量的生成响应,而高质量的提示则能有效引导LLM生成我们期望的输出。

在本篇文章中,我们将展示如何为您的应用程序构建高效的提示。我们借助Amazon Bedrock的简单性和前沿的Anthropic的Claude 3模型来演示如何通过简单的技巧构建高效的提示。

提示工程技术与最佳实践:通过在 Amazon Bedrock 上使用 Anthropic 的 Cla

提示工程

提示工程是精心设计给生成式AI模型的提示或指令,以产生所需输出的过程。提示充当指导,提供上下文并设定AI的期望结果。通过良好的提示设计,开发者可以充分利用LLM生成高质量和相关的输出。例如,我们使用以下提示来生成Amazon Titan图像生成模型的图像:

“一个人正在与一台机器人交谈。这位人士显得非常困惑,因为他无法指示机器人完成他想要的事情。”

我们得到以下生成的图像。

让我们看一个例子。所有例子均在Claude 3 Haiku的Amazon Bedrock playground中运行。虽然可以在任何LLM上运行这些提示,但我们讨论的是Claude 3模型家族的最佳实践。要获取Claude 3 Haiku LLM的访问权限,请参考模型访问。

我们使用以下提示:

10加10等于多少?

Claude 3 Haiku的回答如下:

10 10是20

这个请求的提示实际上是非常模糊的。10 10可能有多个有效的答案;在这种情况下,Claude 3 Haiku根据自身的知识判断10 10的答案是20。让我们更改提示,以便为同一问题获得不同的答案:

1 1是加法1 1是减法1 1是乘法1 / 1是除法

10加10等于多少?

Claude 3 Haiku的回答:

10 10是加法。答案是20。

生成的回答随之改变,因为指定了10 10是加法。此外,虽然我们并没有要求,但模型也提供了该操作的结果。让我们通过一种非常简单的提示技术获得一个更加简洁的结果:

1 1是加法1 1是减法1 1是乘法1 / 1是除法

10加10等于多少?

仅以提供的示例为准进行回答,并且不提供额外信息。

Claude 3 Haiku的回应:

10 10是加法。

设计良好的提示可以改善用户体验,使AI的响应更加连贯、准确和有用,从而提高生成式AI应用的效率和效果。

Claude 3模型家族

Claude 3家族是一组由Anthropic开发的LLM模型。这些模型建立在最新的自然语言处理NLP和机器学习ML进展之上,使其能够流利且连贯地理解和生成类似人类的文本。该家族包含三个模型:Haiku、Sonnet和Opus。

Haiku是市场上速度最快和成本最低的模型。它是一个快速、紧凑的模型,能够实现接近实时的响应。对于绝大多数工作负载,Sonnet的速度是Claude 2和Claude 21的两倍,具有更高的智能水平,并在智能与速度之间找到理想平衡,尤其对企业用例至关重要。Opus是最先进、能力最强的基础模型FM,具备深度推理、高级数学和编码能力,在复杂任务上表现突出。

模型家族的关键特性包括:

特性描述视觉能力Claude 3模型经过训练,不仅能够理解文本,还能理解图像、图表、图示等。一流基准Claude 3在诸如数学问题、编程练习和科学推理等标准评估中超越现有模型。具体而言,Opus在大多数通用评估基准中表现优于其同行,包括本科级专家知识MMLU、研究生级专家推理GPQA、基础数学GSM8K等。高水平的理解和流畅性使其在复杂任务中引领通用智能的前沿。减少幻觉Claude 3模型通过宪法AI技术减轻幻觉,提供模型推理的透明度以及提高精确度。Claude 3 Opus在难度较大的开放性问题上,其准确性相比Claude 21预计提高了两倍,减少了错误响应的可能性。长上下文窗口Claude 3模型擅长处理实际检索任务,提供200000个令牌的上下文窗口,相当于500页的信息。

要了解更多关于Claude 3家族的信息,请查看解锁创新:AWS与Anthropic共同推动生成式AI的边界、Anthropic的Claude 3 Sonnet基础模型现已在Amazon Bedrock中提供以及Anthropic的Claude 3 Haiku模型现已在Amazon Bedrock中提供。

提示的构成

当提示变得更加复杂时,识别其各个部分尤为重要。在本节中,我们将介绍提示的组成部分以及它们应出现的推荐顺序:

任务上下文:赋予LLM一个角色或身份,并大致定义其预期执行的任务。语气上下文:在本节中为对话设定语气。背景数据文档和图像:也称为上下文。使用此部分提供LLM完成任务所需的所有信息。详细任务描述和规则:提供LLM与用户互动的详细规则。范例:提供任务解决的示例,以供LLM学习。对话历史:提供用户与LLM之间之前的任何互动记录若有。即时任务描述或请求:描述LLM分配的角色和任务中具体要完成的任务。逐步思考:如有必要,请求LLM花些时间逐步思考。输出格式设置:提供关于输出格式的详细信息。预填充响应:如有必要,预填LLM的响应以使其更加简洁。

以下是一个示例提示,包含上述所有元素:

人类:你是一位在Amazon Web ServicesAWS工作的解决方案架构师,名叫约翰多。

你的目标是回答客户关于AWS最佳架构实践和原则的问题。客户可能会困惑,如果你不以约翰的角色回应。

梯子npv

你应该保持友好的客户服务语气。

使用以下提供的信息回答客户的问题

{{上下文}}

这是关于互动的一些重要规则:

始终保持在角色中,作为一名在AWS工作的解决方案架构师约翰。 如果你不确定如何回答,请说:“抱歉,我没能理解。可以重复问题吗?” 如果有人问一些无关的问题,请说:“抱歉,我是约翰,我给AWS架构建议。今天有什么AWS架构问题我可以帮助你解决吗?”这是标准互动中的响应示例:用户:嗨,你的工作是什么?约翰:你好!我叫约翰,我可以回答你关于AWS最佳架构实践的问题。今天有什么我可以帮助你的吗?

这是用户与您之间在提问前的对话历史如果没有历史记录,可以为空:{{历史}}

这是用户的问题:{{问题}}你如何回应用户的问题?

在回答之前先思考你的答案。

将你的回答放在中。

助理:

Claude 3的最佳提示实践

在接下来的章节中,我们深入探讨Claude 3的提示工程最佳实践。

仅文本提示

对于仅涉及文本的提示,请遵循以下最佳实践以实现更好的结果:

使用XML标签标记提示的各个部分:Claude经过调整,以特别关注XML标签。您可以利用这一特性,清楚地分隔提示的部分指令、上下文、示例等。您可以为这些标签选择任何您喜欢的名称;核心思想是清晰地界定提示的内容。请确保包括ltgt和来标记标签。始终提供良好的任务描述:Claude对清晰、直接且详细的指令反应良好。当您给出的指令可能有多种解释时,请确保向Claude解释您确切的意思。通过示例帮助Claude学习:增强Claude表现的一种方式是提供示例。示例作为演示,让Claude学习模式并概括恰当的行为,类似人类通过观察和模仿学习。精心设计的示例能够显著提高准确性,明确期望的内容,提供一致性并为复杂或细微的任务设定模板。为了获得最佳效果,示例应是相关的、多样化的、清晰的,并且提供足够的数量从三到五个示例开始,并依据您的用例进行实验。确保响应与所需格式一致:要让Claude输出您想要的格式,请给出清晰的指示,明确告诉它使用何种格式如JSON、XML或markdown。预填充Claude的响应:Claude在回答中往往聊天过多,尽管提示中的指令要求其以特定格式回答,但它可能会在回答的开头添加一些额外的句子。为改善这种行为,您可以使用助手消息提供输出的开头。明确设定身份以设置响应的语气:Claude给出的响应可能会大不相同,具体取决于为模型提供的身份。设定身份有助于Claude设置将用于回应用户的适当语气和词汇。身份指导着模型的沟通和响应方式,使对话更加真实且符合特定的个性。当使用Claude作为聊天界面的AI时,这一点非常重要。给Claude思考的时间:根据Anthropic研究团队的建议,给予Claude思考碰一时间的机会可以提升最终表现。鼓励这一点的最简单方式是在提示中包含“逐步思考”一词。您还可以通过指示Claude在标签内“逐步思考”的方式来捕捉Claude的逐步思考过程。将复杂任务分解为子任务:当处理复杂任务时,分解任务并使用LLMs如Claude的提示链是个好主意。提示链涉及将一个提示的输出作为下一个提示的输入,使Claude依次处理一系列较小且更易管理的任务。这提高了每一步的准确性和一致性,使问题更易于排查,并确保Claude能够专注于每次一个子任务。要实施提示链,请识别复杂过程中的不同步骤或子任务,为每个创建单独的提示,并将一个提示的输出输入到下一个。利用长上下文窗口:处理长文档和大量文本可能会具有挑战性,但Claude的超过200000个令牌的扩展上下文窗口使得处理需要处理大规模信息的复杂任务变得可行。这一功能对于Claude Haiku特别有用,因为它能够以高质量的响应为基础,实现高效的模型。为了充分利用这一能力,合理构建您的提示非常重要。允许Claude说“我不知道”:通过明确允许Claude承认不确定或缺乏充分信息,它不太可能生成不准确的响应。您可以通过向提示添加前缀来实现,例如,“如果您不确定或没有足够的信息提供可信的答案,请简单地说‘我不知道’或‘我不确定’”。

图片提示

Claude 3家族提供视觉能力,可以处理图像并返回文本输出。它能够分析并理解图表、图形、技术图示、报告等视觉资产。在使用Claude 3处理图像时的最佳实践包括:

图像的位置和大小至关重要:在使用Claude 3的视觉能力时,最佳的图像位置是将图像放在提示的最开始。Anthropic还建议在上传前调整图像大小,并取得图像清晰度与图像大小之间的平衡。有关更多信息,请参阅Anthropic关于图像大小的指南。应用传统技巧:在处理图像时,您可以应用在文本提示中的相同技巧例如,给Claude思考的时间或定义角色来帮助Claude提高响应质量。

考虑以下示例,这是一幅名为“美好的聚会”的图片作者:Ian Kirck,图片来源。

我们要求Claude 3计算图像中的鸟的数量:

你是一位鸟类专家,具备完美的视力并非常注重细节。 图中有多少只鸟?在提供数量之前,请在ltthinkinggt标签中花时间从左到右分析图片的每个部分。

Claude 3 Haiku的回答如下:

好的,让我仔细检查这幅图像,作为一位拥有敏锐视觉的鸟类专家。 从左侧开始,我看到三只羽毛呈褐色和白色斑驳的鸟,它们似乎是某种海鸟,如沙丘或杓鹬。 接下来有四只具有相似羽毛斑驳的鸟组成小组。在中间有一只引人注目的黑头鸥或燕鸥,身体是白色的。 在鸥的右侧,我可以看到同样带有黑色帽子和白色身体的另一只鸟。 最后,在最右边,我能看到另一只小鸟的轮廓。

9只鸟

在此示例中,我们要求Claude花时间进行思考,并将推理放在XML标签中,最终答案放在另一个标签中。此外,我们给了Claude思考的时间并清晰地指示它关注细节,这帮助它提供了正确的响应。

利用视觉提示的优势:使用图像的能力还使得您能够在图像本身内部添加提示,而不是提供单独的提示。

我们来看以下图像的示例:

在这种情况下,图像本身就是提示。Claude 3 Haiku的回应:

要计算缺失边长X,我们可以使用勾股定理。 勾股定理指出,在直角三角形中,斜边最长边长度的平方等于其他两边长度平方的和。

给定 一边是12厘米。 另一边为10厘米。

设缺失边长度为X。

应用勾股定理: