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

news2024/11/15 13:44:27

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 的回答风格、语气和方式。

图片当我们让 Claude 扮演一只猫的角色时,Claude 的视角发生了变化,因此 Claude 的回应语气、风格、内容都适应了新的角色。

图片一个逻辑推理的对比,从上下对比来看,通过新的角色分配,让 Claude 充当逻辑机器人, Claude 做对了

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

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

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

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

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

比如下面这个例子

图片

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

这时候要善用 XML 标签。

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

注意: 虽然 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 ,是能够有非常不错的效果。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2084738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

USB3.2 摘录(13)

系列文章目录 USB3.2 摘录(一) USB3.2 摘录(二) USB3.2 摘录(三) USB3.2 摘录(四) USB3.2 摘录(五) USB3.2 摘录(六) USB3.2 摘录&…

SpringBoot JPA 语法大全

Keyword:为关键词 Sample:为直接用在方法名上的例子 JPQLsnipper:为JPQL,Query的写法的例子

redhat7.9安装zsh以及常用插件

1 安装zsh并更改默认终端 #1.安装软件包 yum -y install zsh git#2.更改默认终端 chsh -s /bin/zsh然后再退出下终端,重新登录用echo $SHELL 查看环境是否是/bin/zsh 2 配置oh-my-zsh #1.从git仓库中拉取oh-my-zsh git clone https://gitee.com/mirrors/oh-my-z…

【私有云场景案例分享②】批量装包与冒烟测试的自动化实现

一、前言 在软件开发和测试过程中,批量装包和冒烟测试是两个关键环节。随着项目规模的扩大和测试需求的增加,传统的手动操作方式已经无法满足效率和质量的要求。通过AirtestIDE企业版与DeviceKeeper结合的批量装包和冒烟测试解决方案,可以提…

【科研新手】如何判断自己找到的创新点是否已被发表呢?

很多人在自己的实验结果出来后再开始写论文,才发现自己的论文创新点已经被他人抢先发表了,因此我们需要做好预防措施,那么如何判断自己所找到的创新点是否已被发表了呢。 1、在纬度学术检索最新的文献并下载 2、将文献投喂到Kimi智能助手&am…

IOS逆向助手-无需越狱就能逆向IOS软件的强大工具

前言 晓杰自己就是JAVA开发程序员,工作之余也会学习下逆向,研究一下各个软件的漏洞用于提交漏洞赚取微薄的漏洞奖励来补贴家用,下面晓杰就将自用的IOS逆向助手分享给大家! 软件简介 IOS逆向助手支持越狱和未越狱设备安装&#…

储能电池仓电池热失控监测系统技术分析

在当今能源转型的大背景下,储能技术的发展至关重要。而储能电池仓作为储能系统的核心组成部分,其安全性问题备受关注。电池热失控是储能电池仓面临的重大风险之一,一旦电池发生热失控,可能引发火灾、爆炸等严重后果。为了有效防范…

2024洗衣机选择(个人笔录)

总结 比较 说明:素材引自小红书博主郎朗Waves

【ceph学习】S3权限认证部分

认证过程简介 认证的过程是一个对用户信息进行解析并且判断前后得到的秘钥是否一致的过程。 auth_regitry的创建 在rgw_main.cc:main()中进行初始化auth_registry对象 /*rgw_main.cc*/ /* Initialize the registry of auth strategies which will coordinate * the dynamic…

哪款伴奏提取免费软件比较好?音乐制作利器快速分离人声与伴奏

无论是在健身房挥汗如雨,还是在家中享受宁静的夜晚,一首美妙的旋律总能让人心旷神怡。但大家是否想过,那些动人心弦的伴奏是如何从混音中被抽离出来的呢? 作为一个音乐爱好者,我发现了5款“伴奏提取器在线”神奇工具&…

室内蓝牙导航定位技术应用优势

在错综复杂的室内环境中,精准导航一直是用户与管理者共同面临的难题。随着科技的进步,室内蓝牙导航定位技术应运而生,以其独特的优势正逐步改变这一现状。本文就由沧穹给大家具体介绍一下室内蓝牙导航定位技术应用优势。 首先,蓝牙…

[VG] TransVG++

1. BaseInfo TitleTransVG: End-to-End Visual Grounding with Language Conditioned Vision TransformerAdresshttps://arxiv.org/pdf/2206.06619Journal/Time202206 IEEE TPAMIAuthor中科大Codehttps://github.com/djiajunustc/TransVGRead20240717/ 0829TableVisonLanguage…

Linux3-Linux用户和权限

简介:个人学习分享,如有错误,欢迎批评指正。 一、root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root&#…

基于微信小程序的足球赛事系统设计与实现---附源码94364

摘要 本文介绍了一种基于微信小程序的足球赛事系统的设计与实现方法,该系统利用Spring Boot框架作为后端支持。该系统旨在提供一个便捷、高效且用户友好的平台,使足球爱好者能够轻松浏览赛事信息、参与赛事讨论并享受个性化的赛事推荐。 在设计方面&…

RX 8000系显卡规格曝光,全系GDDR6纯过渡产品

原文转载修改自(更多互联网新闻/搞机小知识): RX 8000系显卡规格首曝,GDDR6显存就很骨感 前天,我们刚刚聊过有过新一代RTX 50系消息,虽然是按部就班地升级,但好在也是在升级。50系换核心升级显…

Ascend C算子开发(入门)—— 算子开发环境搭建

文章目录 Ascend C算子开发(入门)—— 算子开发环境搭建在CPU上部署开发环境准备工作步骤配置环境变量配置pip源pip安装依赖包安装开发套件包 Ascend C算子开发(入门)—— 算子开发环境搭建 安装包解读 Ascend-cann-功能-版本-平台…

忘掉 Siri 吧:苹果可能会推出拥有自己AI“个性”的机器人设备|TodayAI

近日,知名科技记者 Mark Gurman 报道称,苹果公司(Apple)正计划进军机器人领域,推出旨在解决“第一世界问题”的新产品。据 Gurman 透露,苹果还可能利用生成式 AI 技术,为其机器人设备打造一个全…

设计模式创建型模式之原型模式

设计模式之原型模式 一、背景1、解决性能问题2、对象的创建需要运行时信息3、对象的创建过程复杂4、对象的创建与使用分离 二、介绍1、定义2、组成 三、代码实现1、实现Cloneable接口2、代码实现分析3、注意事项 四、总结1、实现Cloneable接口2、原型模式的优点包括&#xff1a…

QString 初始化

QString不用初始化,创建变量的时候默认就初始化了 默认构造函数:QString 的默认构造函数会初始化一个空的 QString 对象。具体来说,这是一个“空字符串”(empty string),而不是指针为 nullptr 的情况。空字…

医疗知识图谱工程研究记录

医疗诊断知识图谱 本项目是基于知识图谱的知识问答项目。过程为对问句进行解析,形成若干三元组及相关的操作条件,转换为查询语句,查询数据库返回结果。 KBQA方式的问答包括意图分析、标签(实体、操作符)识别、条件体…