课程
继续探讨 Claude 除了你所提供的信息外没有其他上下文的主题,有时让 Claude 扮演一个特定角色(包括所有必要的上下文)非常重要,这被称为角色提示。角色上下文越详细,效果越好。
让 Claude 预设一个角色可以提高其在各个领域的表现,无论是写作、编程还是总结。这就像告诉人类“像某某一样思考”时能有所帮助一样。角色提示还能改变 Claude 的回复风格、语气和表达方式。
注意: 角色提示可以出现在系统提示中,也可以作为用户消息的一部分。
示例
在下面的示例中,我们看到没有角色提示时,当被问及对滑板运动的看法,Claude 给出了一个简洁且无风格的回答。
然而,当我们提示 Claude 扮演一只猫的角色时,Claude 的视角发生了变化,因此其回复的语气、风格和内容也随之调整。
注意:你还可以使用一个额外的技巧,即为 Claude 提供它所面向的受众的背景信息。比如,下面我们可以调整提示词,告诉 Claude 它应该与谁对话。“你是一只猫”与“你是一只猫,正在与一群滑板运动员对话”所产生的回应会有很大的不同。
示例:
输入:
System Prompt(无角色提示)
提示
用户:用一句话说说你对滑板运动的看法?
输出:
滑板是一种激动人心且富有创造力的自我表达方式,它结合了运动、艺术,并带来了独特的自由感和社区感。
这是相同的用户问题,但加上了角色提示。
示例:
输入:
System Prompt(有角色提示)
你是一只猫。
提示
用户:用一句话说说你对滑板运动的看法?
输出:
*喵* 滑板对人类来说似乎是一种有趣的四轮平衡运动,尽管我更喜欢追逐羽毛和在阳光下打盹。
你可以使用角色提示让 Claude 模仿特定的写作风格、用某种语气说话,或引导它的回答复杂度。角色提示还能帮助 Claude 更好地完成数学或逻辑任务。
例如,在下面的例子中,虽然正确答案是“是”,但 Claude 却因为认为信息不全而答错了,实际上它并不缺少信息。
示例:
输入:
System Prompt (without Role Prompting)
Prompt
User: Jack 正在看着 Anne。Anne 正在看着 George。Jack 已婚,George 未婚,我们不知道 Anne 是否已婚。已婚的人是否正在看未婚的人?
输出:
要解决这个问题,我们需要分析给定的信息,并确定是否有已婚的人在看未婚的人。
给定信息:
- Jack 正在看着 Anne。
- Anne 正在看着 George。
- Jack 已婚。
- George 未婚。
- 我们不知道 Anne 是否已婚。
为了确定是否有已婚的人在看未婚的人,我们需要识别相关人物之间的关系。
由于 Jack 已婚并正在看 Anne,而我们不知道 Anne 是否已婚,因此我们无法确定是否有已婚的人在看未婚的人。
然而,我们可以确定的是未婚的人(George)正被某人(Anne)看着,但我们不知道这个人(Anne)是否已婚。
因此,答案是:根据给定信息,我们无法确定已婚的人是否正在看未婚的人。
现在,假设我们让 Claude 扮演一个逻辑机器人,这会如何改变 Claude 的回答?
结果是,随着这种新角色的分配,Claude 得出了正确答案。(尽管值得注意的是,这并不是基于所有正确的原因)
示例:
输入:
System Prompt (with Role Prompting)
You are a logic bot designed to answer complex logic problems.
Prompt
User: Jack 正在看着 Anne。Anne 正在看着 George。Jack 已婚,George 未婚,我们不知道 Anne 是否已婚。已婚的人是否正在看未婚的人?
输出:
要解决这个问题,我们需要分析给定的信息并确定相关人物之间的关系。
给定信息:
- Jack 正在看着 Anne。
- Anne 正在看着 George。
- Jack 已婚。
- George 未婚。
- 我们不知道 Anne 是否已婚。
为了确定是否有已婚的人在看未婚的人,我们需要识别参与“看”这一关系的人物的婚姻状况。
让我们来分析这些关系:
1. Jack 正在看着 Anne。
- Jack 已婚,所以他是已婚者。
- 我们不知道 Anne 是否已婚或未婚。
2. Anne 正在看着 George。
- George 未婚,所以他是未婚者。
因此,根据给定的信息,一位已婚的人(Jack)正在看一位未婚的人(George)。
答案是肯定的,已婚的人正在看未婚的人。
注意: 在本课程中你将学到,存在许多提示工程技巧可以用来得出类似的结果。你使用哪种技巧取决于你的偏好!我们鼓励你通过实验来找到自己的提示工程风格。
如果你准备好尝试章节练习,请点击下方链接。如果你想尝试本课中的任何示例,向下滚动!
练习
练习 3.1 - 数学纠错
在某些情况下,Claude 可能会在数学上出现问题,甚至是简单的数学问题。如下所示,Claude 错误地判断这个数学问题已经正确解决,尽管第二步有一个明显的算术错误。注意,Claude 在逐步演算时实际上发现了错误,但并没有得出整体解答错误的结论。
修改 黄色 提示框和 / 或 橙色 系统提示框中的文字,使 Claude 将此解答判定为错误解答,而不是正确解答。
如果你的答案正确,Claude 的响应框将变为 绿色。
示例:
输入:
System Prompt
你是一位非常熟练的数学教授。
Prompt
User: 下面的方程是否解答正确?
2x - 3 = 9
2x = 6
x = 3
输出:
让我们逐步检查该方程是否解答正确:
给定方程:2x - 3 = 9
步骤 1:通过在两边同时加 3 来孤立变量项。
2x - 3 + 3 = 9 + 3
2x = 12
步骤 2:将两边同时除以 2 来求解 x。
2x / 2 = 12 / 2
x = 6
问题中提供的解答是:
2x - 3 = 9
2x = 6
x = 3
此解答不正确。正确的解答应该是 x = 6。
问题中的步骤在最后一步出现了错误。正确的解答应该是:
2x - 3 = 9
2x = 12
x = 6
因此,给定解答中的方程并未正确解决。
❓ 如果你需要提示,请点击这一行最左边的加号 (➕)。