Anthropic提示工程课程——第1章:基本提示结构

课程

本节课程需要在代码环境执行,主要练习如何构造正确的消息接口格式,可跳过。

The Claude for Sheets 扩展程序提供了 几个功能,您可以使用这些功能来调用 Claude。其中一个功能是 CLAUDEMESSAGES(),它被构建来反映 消息 API 结构。

CLAUDEMESSAGES() 可以接受多个参数,顺序如下:

  1. 您的提示,用引号括起来
  2. 模型版本,用引号标注
  3. 任何可选附加参数,例如温度、系统提示、最大标记数等。

注意: 温度(Temperature)与克劳德的答案变异性相关。在这些练习中,我们将“温度”设置为 0。在第 8 章中,我们将更深入地探讨温度。

在任何位置使用 CLAUDEMESSAGES()公式调用 Claude。基本公式结构如下:=CLAUDEMESSAGES("{PROMPT}", "{MODEL_VERSION}", "system", "{SYSTEM_PROMPT}")

例如,要调用位于单元格A1中的提示调用 Claude 3 Haiku,您将编写:=CLAUDEMESSAGES(A1, "claude-3-haiku-20240307", "system", "仅以世界语回应")

如何将 CLAUDEMESSAGES() 结构与 Messages API 结构相关联?让我们看看一些发送给 CLAUDEMESSAGES() 的提示示例以及其底层公式。

参数说明

Anthropic 提供两个 API,分别是传统的文本补全 API和当前的消息 API。在本教程中,我们将仅使用消息 API。

至少,使用 Messages API 调用 Claude 需要以下参数:

  • model:你打算调用的模型的API 模型名称
  • max_tokens:在停止之前生成的最大标记数。请注意,Claude 可能在达到这个最大值之前停止。此参数仅指定生成标记的绝对最大数。此外,这是一个硬停止,意味着它可能导致 Claude 在单词或句子中间停止生成。
  • messages:输入消息数组。我们的模型被训练在交替的userassistant对话轮次上运行。当创建一个新的Message时,您使用 messages 参数指定先前的对话轮次,然后模型生成对话中的下一个Message
    • 每个输入消息必须是一个包含 角色 和 内容 的对象。您可以指定一个单独的 用户-角色消息,或者可以包含多个 用户 和 助手 消息(如果有的话,它们必须交替)。第一条消息必须始终使用用户 角色

也存在一些可选参数,例如:

  • system:系统提示 - 下面会详细介绍。
  • temperature:Claude 响应的变化程度。对于这些课程和练习,我们将温度设置为 0。

为了获取所有 API 参数的完整列表,请访问我们的API 文档

下载《Anthropic提示工程课程》.PDF

https://www.aisharenet.com/anthropictishiba-3/

示例

让我们看看 Claude 如何回应一些格式正确的提示。不用担心答案是如何生成的。

示例1

输入:
用户:嗨,克劳德,你好吗?

输出:
我很好,谢谢关心!作为人工智能助手,我没有人类那样的情感,但我运行正常,随时准备回答您的问题或帮助您完成任何任务。今天我能帮您什么忙?

示例2

输入:
用户:你能告诉我海洋的颜色吗?

输出:
海洋的颜色会因几个因素而有所不同:  

- 深度 - 海洋在较深的水域中呈现蓝色,这是因为阳光与水分子相互作用的方式。较浅的水域可能呈现更绿色、青绿色,甚至棕色,这取决于海底。  
 
- 悬浮颗粒 - 水中的浮游生物、沉积物或藻类等物质会影响海洋的颜色,使其看起来更绿、更棕甚至呈红色。  

- 天气状况 - 天空的颜色可以反射在海洋表面,使它在阴天时看起来更灰、更白,甚至更黑。  

- 地理位置——不同海域可以根据纬度、洋流和当地海洋生物等因素呈现出略微不同的色调。  
 
总体来说,开阔海洋的占主导地位的颜色是深邃、丰富的蓝色。这是由于阳光与水的相互作用以及海洋深处缺乏悬浮颗粒。但海洋的颜色确实会根据具体条件而有所不同。

示例3

输入:
用户:Celine Dion 是哪一年出生的?

输出:
迪奥娜·塞琳出生于 1968 年 3 月 30 日。

现在让我们看看一些格式不正确的提示。对于这些格式错误的提示,CLAUDEMESSAGES()函数会返回错误。这里有一个缺少“用户:”开头的提示。

错误示例1

输入:
Celine Dion 是哪一年出生的?

输出:
⚠️=CLAUDEMESSAGES prompt should be in ""User: ... Assistant: ..."" format, with ""User: ..."" first. For newlines, press Ctrl/Cmd+Enter⚠️

这里是一个未能交替用户和助手角色的提示。

错误示例2

输入:
用户:Celine Dion 是哪一年出生的?
用户:还有,你能告诉我一些关于她的其他事实吗?

输出:
#ERROR!

这里有一个开头有太多换行的提示。

错误示例3

输入:
用户:Celine Dion 是哪一年出生的?

输出:
⚠️=CLAUDEMESSAGES prompt should be in "User: ... Assistant: ..." format, with "User: ..." first. For newlines, press Ctrl/Cmd+Enter⚠️

"用户"和"助手"消息必须交替,并且消息必须以"用户:"开头。

当使用 CLAUDEMESSAGES()时,务必通过在每个消息之间插入换行符来区分消息(一个消息是一个单独的用户或助手回合)。如果您不这样做,Claude 不会返回错误,但 Claude会将所有未通过换行符分隔的内容视为一个单一的消息。

你可以在一个提示中包含多组"用户:"/"助手:"对话(就像模拟一个多轮对话)。你还可以在最后一个"助手:"消息中放入一些词语,让Claude从你停止的地方继续(关于这一点,我们将在后面的章节中详细讨论)。

您可以使用系统提示来给 Claude 提供指令和指南。系统提示是在向 Claude 提出问题或任务之前,以“用户”回合的方式提供上下文、指令和指南的一种方式。

结构上,系统提示与用户和助手消息列表分开存在,因此在使用 CLAUDEMESSAGES() 时属于一个单独的“系统提示”参数。为了使您在本教程中更容易操作,我们提供了系统提示输入框,这些输入框用于输入一个完整的 CLAUDEMESSAGES() 公式,用于调用 Claude。

示例1

输入:
	System Prompt
	你的回答应始终是一系列推动对话深入的批判性思考问题(不要为这些问题提供答案)。请勿直接回答用户的问题。

	Prompt
	用户:为什么天空是蓝色的?


输出:
以下是一些用于进一步探讨为什么天空是蓝色的批判性思维问题:
- 为什么天空呈现蓝色?
- 地球大气成分如何导致天空呈现蓝色?
- 可见光的波长在使天空呈现蓝色中扮演什么角色?
- 不同波长的光散射特性如何影响天空的颜色?
- 其他哪些因素,如一天中的时间或天气状况,会影响天空的外观?
- 科学家们历史上是如何解释和研究蓝天现象的?
- 有哪些替代观点或理论被提出来说明天空为什么是蓝色的?
通过探索这些类型的问题,我们可以更深入地了解导致天空熟悉蓝色调的科学原理和机制。

为什么要使用系统提示?一个精心设计的系统提示可以从多个方面提升 Claude 的表现,例如增强 Claude 遵循规则和指令的能力。

欲了解更多信息,请访问我们关于如何使用系统提示与 Claude 配合使用的文档。

如果您已准备好尝试本章的练习,请点击下方链接。如果您想要尝试本课程中的任何示例,请向下滚动!

练习

练习 1.1 - 数到三

使用正确的用户/助手格式,在下面的黄色单元格中写一个提示,要求 Claude 数到三。

记住,如果你的答案正确(意味着格式和提示都正确),Claude 的回复单元格会变成绿色。

示例:

输入:
User: 数到 3。

输出:
1, 2, 3.

❓ 如果你需要提示,请点击本行最左边的加号(➕)。

练习 1.2 - 系统提示

修改橙色单元格中的系统提示,让 Claude 像一个 3 岁的孩子一样回应。

注意: Claude 的回复可能比显示的要长得多。要查看完整的回复,选择回复单元格,然后将其复制并粘贴到文本编辑器中。

示例:

输入:
	System Prompt
	像 3 岁的孩子一样写作。
	
	Prompt
	User: 天空有多大?

输出:
天空好大哦!它在那儿,好高好高哦!你都看不到它的尽头呢!它是蓝蓝的,里面有好多好多云朵。我好想跳起来摸摸天空,但我够不到。它太高了!天空又大又漂亮,我想一直盯着它看!

❓ 如果你需要提示,请点击本行最左边的加号(➕)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值