2026年7月2日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

从 0 到 1 的Prompt 教程,来自Claude 官方,不会写 prompt的看这个足够

发布日期:2024-09-18 07:05:46 浏览次数: 4126
作者:大林不止是个程序员

微信搜一搜,关注“大林不止是个程序员”

Claude 的强大,最近得到了很多网友的验证,甚至效果上面大有超越 GPT的许多声音。

所以从优秀的 Claude 中学习,将会是一个很好的起点。

这里,Claude 的开发者们提供了一个相当详细的 Prompt Engineering 教程。

这个教程能够全面地逐步了解如何在 Claude 中设计最佳提示。

循序渐进,由浅入深,非常适合学习和收藏。

教程分为初级、中级和高级,涵盖从基本提示结构到避免幻觉和构建复杂行业用例的高级技巧,并提供了练习和示例以加深理解。

重要的是,可以自己实践体验,每部分的教程都有一个“Example Playground”,可以在这里自由地体验课程中的示例,金也可以了解更改提示后,直接看 Claude 的回答。

看完之后,能够有几个收获。

  • 掌握一个好的提示的基本结构

  • 识别常见的故障模式并学习“80/20”技术来解决它们

  • 了解 Claude 的优势和劣势

  • 为常见使用案例从头开始构建强大的 prompt

详细教程地址放在了评论区,并且包含实际案例以及练习案例

下面是几个重点,可以收藏学习。第九点给出了一个 claude prompt 的模板,适用所有的 LLM 提示词设计,直接套用即可。

1、基本的结构要掌握

基础不扎实,啥都白费,都是如此。

使用 Messages API 调用 Claude 时,至少需要以下参数,也是需要了解参数的含义。

  • model: 你打算调用的 API 模型名称。

  • max_tokens: 生成最大 token 数,Claude 在达到此最大值之前可能会停止。这个参数仅指定要生成的绝对最大 token 数,并且是一个硬性停止

  • messages: 输入消息的数组。模型经过训练,可以在用户和助手消息之间交替操作。模型会生成对话中的下一个消息。每个输入消息必须是一个具有 role 和 content 的对象。你可以指定一个用户角色的消息,或者包含多个用户和助手消息(它们必须交替出现)。第一条消息必须总是使用用户角色。

此外,还有一些可选参数

  • system: 系统提示。为什么要使用系统提示符?编写良好的系统提示可以通过多种方式提高 Claude 的表现,例如提高 Claude 遵循规则和指示的能力

  • temperature: Claude 响应的变化程度。0-1 之间。

2、清晰直接

Claude 对清晰直接的指示反应最好。

把 Claude 想象成任何其他刚接触这份工作的人。Claude 除了你从字面上告诉它之外,没有关于该做什么的背景。就像你第一次指导一个人完成一项任务一样,你越是以直截了当的方式向 Claude 解释你想要什么,Claude 的回答就会越好、越准确。

比如下面这个例子

上面是表达不清晰,下面是表达清晰。

PROMPT = "Write a haiku about robots."

上面的生成的结果已经足够好了,但可能希望 Claude 直接回答就是这首诗,而没有 “Here is a haiku” 这样的提示。

所以下面的直接在提示词上面修改。

PROMPT = "Write a haiku about robots. Skip the preamble; go straight into the poem."

3、分配角色非常重要

促使 Claude 在一个特定的角色(包括所有必要的上下文)中是很重要的,这也称为角色提示(role prompting),角色上下文越详细越好。

为 Claude 准备一个角色可以提高 Claude 在各个领域的表现,从写作到编码再到总结。这就像人类有时被告知“像__一样思考”时可以帮助。角色提示还可以改变 Claude 的回答风格、语气和方式。

4、分离数据和善用 XML 标签

通常,我们不想编写完整的 prompt,而是希望在提示模板可以在以后提交给 Claude 之前使用额外的输入数据进行修改。如果您希望 Claude 每次都执行相同的操作,这可能会派上用场,但 Claude 用于其任务的数据每次可能都不同。

想要做到这几一点,方法是将 Prompt 的固定框架与可变的用户输入分开,然后在将完整的 Prompt 发送给 Claude 之前将用户输入替换到 Prompt 中。

为什么我们要像这样分离和替换输入?提示模板简化了重复性任务。

假设您构建了一个提示结构,邀请第三方用户向提示提交内容(在本例中为他们想要生成声音的动物)。这些第三方用户不必编写,甚至不必看到完整的提示。他们所要做的就是填写变量。

比如下面这个例子

但是在替换的过程中, 有可能出现一些意外的情况,导致多输出一些无关紧要的字符。

这时候要善用 XML 标签。

XML 标记是尖括号标记,如。它们成对出现,由一个开始标签(如)组成。XML 标签用于环绕内容,如下所示:。

注意: 虽然 Claude 可以识别并使用各种分隔符和分隔符,但claude建议专门使用 XML 标记作为 Claude 的分隔符,因为 Claude 接受过专门培训,可以将 XML 标记识别为一种快速的组织机制。除了函数调用之外,没有 Claude 接受过训练的特殊 sauce XML 标记,应该使用这些标记来最大限度地提高性能。

5、格式化输出

Claude 可以通过多种方式格式化其输出

一种方法是使用 XML 标记将响应与任何其他多余的文本分开。可以要求 Claude 使用 XML 标签来使其输出更清晰、更容易被人类理解。

将输出放在 XML 标记中,允许最终用户通过编写一个简短的程序来提取 XML 标记之间的内容,从而可靠地获取诗歌,并且只获取诗歌。

还有一种方式是将第一个 XML 标记放入 assistant 轮次中

同样的方式,对 JSON 格式也适用。

看下面的两个例子。

6、Thinking Step by Step

这是一个prompt 很常用的咒语,一定要牢记。在很多场合都很受用,效果贼好

这种方式是给大模型一些思考的时间,就类似人回答问题的时候,思考后的回答,一定是准确的。

给 Claude 时间一步一步思考有时会使 Claude 更准确,尤其是对于复杂的任务。然而,只有当它大声说出来时,思考才有意义。你不能让 Claude 思考,而只输出答案 - 在这种情况下,实际上没有思考发生。

比如用第一、第二之类的阶段性动作。

让 Claude 思考可以将 Claude 的答案从错误转变为正确。在很多情况下,Claude 犯错就是这么简单!

7、Few-Shot Prompting

这种方式非常实用,是我在工作中经常用到这种方式,效果很棒,特别是格式化输出。

举例说明你希望大模型如何表现(或你希望它拒绝某些事情)对于以下方面非常有效:

  • 获得正确的答案
  • 以正确的格式获得答案

这种提示称为 “few shot prompting”。可能还会遇到短语“zero-shot”或“n-shot”或“one-shot”。“shots” 的数量是指提示中使用的示例数量

当我们提问一些问题的时候,Claude 的默认回答相当正式和机械,你可以花时间描述你想要的语气或者格式。

8、避免幻觉

幻觉问题一直都是所有大模型的最大的问题。也是最让我们头疼的问题

你可以不回答,但是别给我瞎回复,是我们在日常提问最低的原则之一。

对于 Claude 来说。

  • 一些坏消息:Claude 有时会“产生幻觉”并提出不真实或不合理的主张。
  • 好消息:可以使用一些技术来减少幻觉。

方案一:给 Claude 一个出路:告诉 Claude 它可以拒绝回答,或者只有在它确实确定知道答案的情况下才回答。

比如:PROMPT = "Who is the heaviest hippo of all time? Only answer if you know the answer with certainty."

方案二:对于一些长文本理解,先收集证据: 告诉 Claude 首先提取相关引文,然后根据这些引文得出答案。

方案三:设置温度参数(temperature) :可以通温度参数来解决。温度是衡量 0 到 1 之间的答案创造力的指标,其中 1 表示更不可预测且标准化程度较低,而 0 表示最一致。

在温度为 0 的情况下向 Claude 提问通常会在重复试验中产生一个几乎确定性的答案集(尽管不能保证完全确定性)。在温度 1(或两者之间的等级)下向 Claude 提问将产生更多可变的答案

9、独特而复杂的提示(重要)

这个很重要,结合了之前的学到的信息,总结成一套 prompt 模板,适用于大多数的 LLM 提示词设计。

一个用于复杂提示的引导式结构,并非所有提示都需要以下复杂结构的每个元素。鼓励您尝试并包含或不包含元素,看看它如何影响 Claude 的回答。通常最好先使用许多提示元素来使提示正常工作,然后再优化和精简提示。

教程中提到了很重要的一点:下面的排序对于某些元素很重要

  • 1、user角色,确保消息 API 调用始终以消息数组中的“user”角色开头。

  • 2、任务上下文,根据提示向 Claude 提供有关其应承担的角色或您希望其承担哪些目标和总体任务的背景信息。# 最好将上下文放在提示正文的早期

  • 3、语气语境,# 如果对互动很重要,请告诉应该使用什么语气,# 根据任务的不同,此元素可能不是必需的。

  • 4、详细的任务描述和规则,# 详细说明您希望 Claude 执行的具体任务,以及 Claude 可能必须遵循的任何规则。# 如果Claude没有答案或不知道,你也可以在这里给他“出局”。

  • 5、示例,提供至少一个可以模仿的理想响应示例,将其包含在 XML 标记中,一般来说,例子越多=越好。

  • 6、输入要处理的数据,如果需要处理数据,也放在 XML 标签中,非必需的元素。

  • 7、即时任务描述或请求,提醒 Claude 或准确地告诉 Claude 需要立即做什么来完成提示的任务。可以在此处添加其他变量,例如用户的问题。

  • 8、 思考,thinking step by step,对于有多个步骤的任务,最好告诉Claude 在给出答案之前一步步思考。有时,你甚至可能不得不说“在你给出答案之前......吧啦吧啦”,只是为了确保克劳德首先这样做。

  • 9、输出格式,如果希望采用特定的格式,请明确告诉 Claude 该格式是什么。根据任务的不同,此元素不是必需的。如果使用这个元素,将其放在提示的末尾比放在开头更好。

  • 10、预填 Claude 的回复, 也不是一个必须的元素,如果想预填 Claude 的回复,必须将其放在 API 调用中的“assistant”角色中。

以上就是教程的全部内容。

教程地址:https://github.com/anthropics/courses/tree/master/prompt_engineering_interactive_tutorial

最精华的部分就是第九点,按照第九点的方式写 prompt ,是能够有非常不错的效果。

End

我是大林,持续关注 AI 发展,和大家一起交流。微信(dalinvip2023),备注【公众号 AIGC】,进 AIGC 交流群一起交流。

主页:https://www.dalinaip.com/

如果文章对你有一点点 ?? 帮助,关注公众号并【星标】,可以及时收到最新 AI 信息,点赞、在看、转发给更多的朋友,后面我继续分享更多的 AI 内容。


往期推荐



又发现了一个很良心的 prompt 提示词库,简洁,有效,值得学习

总结优秀的prompt案例,学习更有效的prompt提示词工程写法,值得收藏

网上有很多的Prompt模板,这次OpenAI发布了写好Prompt的六个策略,很实用

15 种高级 RAG 技术,值得收藏!

RAG框架,都在这了!

几个常用 的 LLM Leaderboard 榜单,值得收藏

7个纯AI制作的广告视频,非常惊艳

OpenAI 直接挑战谷歌,推出 AI 搜索产品 SearchGPT,除此之外,AI 搜索产品都有哪些?

又发现了一个好用的AI浏览器插件,总结:快、准、狠

kimi 浏览器助手插件,这是首款官方插件!赶紧尝鲜

如何让大模型遵循你的结构化输出指令小技巧

公众号接入kimi,来试

几种高速下载大模型的方法 

Kimi 太慢了,200万字上下文还没开放,不等了,先用下kimi的插件

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅