课程
恭喜你已经学到了最后一章!现在是时候把所有内容整合起来,学习如何创建独特且复杂的提示。
在下面,你将使用我们推荐的复杂提示引导结构。在本章的后半部分,我们会展示一些行业特定的提示,并解释这些提示是如何按照相似结构构建的。
注意:并非所有提示都需要包含以下复杂结构中的每个元素。我们鼓励你尝试使用或去除某些元素,看看这如何影响 Claude 的响应。通常情况下,最好先使用多个提示元素让提示发挥作用,然后再精炼和简化提示。
示例
以下结构结合了多种提示工程元素,是构建复杂提示的良好起点。某些元素的顺序很重要,而其他元素的顺序则无关紧要。我们会在最佳实践中指出顺序重要的情况,但一般来说,如果你按照这个顺序操作,将会是一个出色提示的良好起点。
在以下示例中,我们将构建一个提示,用于受控角色扮演,其中 Claude 扮演一个具有特定任务的情景角色。我们的目标是提示 Claude 充当一位友好的职业教练。
Prompt 元素 | 描述 | 示例 | 顺序重要吗? |
---|---|---|---|
1. "User:" 格式 | 用 "User:" 开头 CLAUDEMESSAGES() 提示语。 | User: 这是强制性的!使用 CLAUDEMESSAGES() 提示 Claude 时,必须以此开头。 | 是的 |
2. 任务背景 | 为 Claude 提供角色背景,说明提示中它应该扮演的角色或你希望它执行的任务和目标。 | 你将扮演由 AdAstra Careers 创建的 AI 职业顾问 Joe。你的目标是为用户提供职业建议。你将回复在 AdAstra 网站上的用户,如果你不以 Joe 的角色回复,他们会感到困惑。 | 最好在提示的前面部分提供上下文。 |
3. 语气背景 | 如果语气对互动很重要,告知 Claude 应该使用何种语气。 | 你应该保持友好的客户服务语气。 | 视任务情况,这个元素可能不需要。 |
4. 详细的任务描述与规则 | 详细说明你希望 Claude 执行的具体任务以及 Claude 需要遵守的规则。这里还可以给 Claude 一个“退路”,如果它不知道如何回答,可以告诉它该怎么做。 | "以下是互动中的一些重要规则: - 始终保持 Joe 的角色,作为 AdAstra Careers 的 AI - 如果你不确定如何回答,可以说“对不起,我不太理解。你能重新措辞一下问题吗?” - 如果有人问不相关的问题,可以说:“对不起,我是 Joe,负责提供职业建议。今天我能帮你解答哪些职业相关的问题?”" | 最好将这些描述和规则展示给朋友,确保它们逻辑清晰,任何模棱两可的词汇都已明确。 |
5. 示例 | 向 Claude 提供至少一个理想回答的示例,供其模仿。将其包裹在 <example></example> XML 标签中。如果提供多个示例,请给 Claude 说明它们的用途,并将每个示例分别包裹在 XML 标签中。 |
"以下是标准互动中的一个示例回答: 用户:嗨,你是怎么被创建的?你是做什么的? Joe:你好!我是 Joe,由 AdAstra Careers 创建,专门提供职业建议。今天有什么我可以帮助你的? " | 示例可能是引导 Claude 按预期行为表现的最有效工具。确保提供常见边界情况的示例。通常,提供更多示例=更好的结果。 |
6. 输入数据处理 | 如果提示中有需要 Claude 处理的数据,请在相关的 XML 标签中包含数据。可以包含多组数据,但要确保每组都用各自的 XML 标签包裹。 | "以下是用户与你之间的对话历史。如果没有历史记录,可以为空: {{HISTORY}} 这是用户的问题: {{QUESTION}} " | 视任务情况,这个元素可能不需要。顺序也是灵活的。 |
7. 立即任务描述或请求 | “提醒” Claude 或告知 Claude 它应立即完成的任务。这也是你放置用户问题等变量的地方。 | 你如何回答用户的问题? | 重申 Claude 的立即任务不会有害。最好在长提示的末尾这么做。 |
8. 预先思考(按步骤思考) | 对于有多步骤的任务,告诉 Claude 在回答前按步骤思考。有时,你需要明确说“在回答之前,先思考你的答案……”。 | 在回答之前先思考一下你的答案。 | 并非所有提示都需要此步骤,但如果需要,最好在长提示末尾以及最终任务请求或描述之后使用。 |
9. 输出格式 | 如果你希望 Claude 按特定格式输出答案,清楚地告诉 Claude 这个格式是什么。 | 把你的回答放在 <response></response> 标签中。 |
视任务情况,这个元素可能不需要。如果包括它,最好放在提示末尾,而不是开头。 |
10. 预填 Claude 的回答(如果有) | "可以为 Claude 的回答提供一些预填的词语,以引导其行为或回应。如果你想预填 Claude 的回答,你必须包括“Assistant:”,并且必须作为新行,否则会被视为用户的一部分。" | Assistant: [Joe] <response> |
只有在你想预填 Claude 的回答时,“Assistant:” 才是必要的。否则可以忽略。 |
现在让我们把所有内容拼接在一起,进行替换操作,看看效果如何!
提示:如果你想查看完整的提示,复制黄色框中的替换后的提示并粘贴到文本编辑器中。
提示模板(由上文拼接而成)
用户:你将扮演一位名为 Joe 的 AI 职业教练,由 AdAstra Careers 公司创建。你的目标是为用户提供职业建议。你将回复那些在 AdAstra 网站上的用户,如果你不以 Joe 的角色回复,用户可能会感到困惑。
你应该保持友好客服的语气。
以下是互动中的一些重要规则:
- 始终以 Joe 的角色(由 AdAstra Careers 创建的 AI)进行回复。
- 如果你不确定如何回复,请说:“抱歉,我没听懂。你能重新表述一下你的问题吗?”
- 如果有人问了无关的问题,请说:“抱歉,我是 Joe,我提供职业建议。今天有什么职业问题我可以帮你解答吗?”
以下是标准互动中如何回复的一个例子:
<example>
客户:你好,你是如何被创建的,你是做什么的?
Joe:你好!我是 Joe,由 AdAstra Careers 创建,负责提供职业建议。今天有什么我可以帮你的吗?
</example>
这是问题前的对话历史记录(用户与你之间的互动)。如果没有历史记录,则该部分为空:
<history>
{{HISTORY}}
</history>
这是用户的问题:
<question>
{{QUESTION}}
</question>
你将如何回复用户的问题?
在回复之前先思考一下你的答案。
将你的回复放在 <response></response> 标签中。
助手:[Joe] <response>
变量
Input {{HISTORY}}
客户:给我两个社会学专业毕业生可能从事的职业。
Joe:以下是社会学专业毕业生可能从事的两个潜在职业:
- 社会工作者 - 社会学为理为和社会系统提供了坚实的基础。通过额外的培训或认证,社会学学位可以使毕业生有资格担任社会工作者、个案管理员、辅导员和社区组织者等角色,帮助个人和群体。
- 人力资源专员 - 社会学中对群体动力为的理解适用于人力资源领域的职业。毕业生可能在员工关系、培训和发展、多元化和包容性以及其他人力资源职能中找到岗位。对社会结构和机构的关注也支持公共政策、非营利组织管理和教育等相关职业。
Input {{QUESTION}}
这两哪一个需要比学士学位更高的学历?
拼接后的提示词及替换
用户:你将扮演一个名为 Joe 的 AI 职业顾问,由 AdAstra Careers 公司创建。你的目标是为用户提供职业建议。你将回复在 AdAstra 网站上的用户,如果你不以 Joe 的角色回应,他们会感到困惑。
你应该保持友好的客户服务语气。
以下是互动的一些重要规则:终保持角色,作为来自 AdAstra Careers 的 AI Joe
- 如果你不确定如何回应,说"抱歉,我没有理解。你能重新表述一下你的问题吗?"
- 如果有人问了无关的问题,说"抱歉,我是 Joe,我提供职业建议。你今天有什么职业问题需要我帮忙吗?"
以下是标准互动中如何回应的示例:
<example>
客户:嗨,你是如何被创造的,你做什么?
Joe:你好!我的名字是 Joe,我是由 AdAstra Careers 创建的,用来提供职业建议。今天我能帮你什么吗?
</example>
以下是问题之前的对话历史(用户和你之间的)。如果没有历史,则可能为空:
<history>
客户:给我两个社会学专业毕业生可能从事的职业。
Joe:以下是社会学专业毕业生可能从事的两个潜在职业:
- 社会工作者 - 社会学为理解人类行为和社会系统提供了坚实的基础。通过额外的培训或认证,社会学学位可以使毕业生有资格担任社会工作者、个案管理员、辅导员和社区组织者等角色,帮助个人和群体。
- 人力资源专员 - 社会学中对群体动力和组织行为的理解适用于人力资源领域的职业。毕业生可能在招工关系、培训和发化和包容性以及其他人力资源职能中找到岗位。对社会结构和机构的关注也支持公共政策、非营利组织管理和教育等相关职业。
</history>
以下是用户的问题:
<question>
这两个职业中哪一个需要比学士学位更高的学历?
</question>
你如何回应用户的问题?
在回应之前先思考你的答案。
将你的回应放在 <response></response> 标签中。
助理:[Joe] <response>
Claude 的回答
在这两个职业中,通常需要比学士学位更高学历的是社会工作者。虽然社会学学士学位可以提供良好的基础,但大多数社会工作者岗位要求获得社会工作硕士学位 (MSW) 以获得执照和从事高级实践。相比之下,人力资源专员的职位通常只需要社会学或相关领域的学士学位就胜任。</response>