ChatGPT全方位解析:如何培养 AI 智能对话技能?

news2024/11/25 7:15:41

简介

ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。

和 ChatGPT 沟通也是同样的道理,如果想要ChatGPT 给到的信息越准确,越清晰,和它的沟通就至关重要。

如何能和 ChatGPT 建立一个良好的沟通方式呢?其实就是靠提示词 Prompt。

价值

可能很多同学疑惑的点在于,提示词还需要另外去学吗?这个看起来貌似有手就行的操作,只要会打字就能够立刻上手吧?

但是用的好是两回事。我们可以把ChatGPT想象成孙悟空的金箍棒,本身它是一个非常强大的法器,但是如果不会使用,它也不过是一根铁棍而已。提示词用的越好,ChatGPT就越强大。

而且对于有编程基础的人来说,后续如果想要基于 LLM 或大语言模型快速构建、开发一些应用软件或者功能。不掌握 prompt 的基本原理和使用技巧,是无法达到很好的效果的。

在最后的相关资料里面,也添加了由微软和OpenAI所出的,针对于开发者的提示词的教程。我们的课程同样在后面也会带来基于 prompt 的应用开发实践。

提示词的原则与技巧

而写一个好的提示词,有以下的技巧可以使用。

  1. 写清楚需求:GPT 模型无法读懂您的想法,因此在提供需求时尽可能具体是很重要的。这包括在您的查询中包含详细信息,要求模型采用角色,以及使用定界符清楚地指示输入的不同部分。

  2. 提供参考文本:如果可以,请提供与您希望模型生成的内容相似的参考文本。这将有助于模型了解您要查找的内容并生成更准确的结果。

  3. 将复杂的任务拆分为更简单的子任务:如果您试图让模型做一些复杂的事情,将任务分解为更小、更易于管理的子任务会很有帮助。这将使模型更容易理解您的要求并生成更准确的结果。

  4. 角色扮演:这个技巧的作用是告诉ChatGPT在对话中扮演一个特定的角色或人物。这对于创造更有吸引力和沉浸感的对话,或模拟真实世界的场景特别有用。

  5. 系统地测试变化: 对需求或参考文本进行更改时,重要的是系统地测试结果以了解它们如何影响模型的输出。这将帮助您确定对改进结果最有效的更改。

写清楚需求

编写有效的ChatGPT的难点之一是表达含糊不清。为了避免这个问题,有以下几个问题需要注意:

  1. 定义任何专业术语或技术术语。

  2. 避免使用模棱两可的语言。

  3. 使用清晰或简明的语言

  • 错误的案例:"你是我的哈基米吗?"

哈基米属于网络用语,而且诞生在2023年,ChatGPT是无法理解这个词的语意的。

  • 好的案例:"请帮我提供在深圳市宝安区所有的咖啡馆"

简明扼要说清楚自己的需求,无需多言,ChatGPT便很好理解了。

提供参考文本
  1. 对于文本比较短的引用,可以直接贴到提问里面即可:如果你有一段法律条款,并希望模型使用这段条款来解释某个概念,你可以这样提问:“根据以下的法律条款,什么是知识产权?”然后附上法律条款的内容。

  2. 网页链接的引用:也可以直接将网页链接里面的内容提供给 GPT 来作为引用文本。比如可以直接给它一个链接地址,让它总结文章内的内容。(注意这个功能需要使用web插件)

拆解复杂任务

作为一个厨师,在做饭的时候需要完成这些步骤:准备食材、清理食材、处理食材、开始烹饪、摆盘。

在这个过程中,其实厨师就是把一个复杂的任务,拆解成了多个简单的任务。其实在编程的过程中,也是同样的道理。也会把一个复杂需求,拆解为N个简单的子需求。

如果需要ChatGPT帮助我们完成一个复杂的任务,那么,我们需要预先帮它把任务拆分。这样做的优点是:

  1. 更好理解每一个操作步骤。

  2. 不被上下文限制影响。

  3. 方便调整。

例如我们提出了一个如下的复杂任务:

  • 提示词:作为一个测试工程师,我即将进行述职答辩,我想编写一个述职报告,述职报告需要包含我今年的成绩、我明年的目标、以及我在今年的工作过程中碰到的问题

ChatGPT 虽然给到了相应的回复,但是还有问题:

  1. 工作成绩没有清晰的数据也没有说服力,看着比较干瘪。报告内容没有图表。

  2. 内容太过简单空洞。

  3. 格式不够优雅。

如果我们把提问的方式做进一步优化,把这个复杂问题一步步进行拆解,并给ChatGPT一定的修改反馈,则产生的内容会更加符合我们的需求,比如我们可以把问题分解为:

  • 提示词:作为一个测试工程师,我即将进行述职答辩,我想编写一个述职报告。述职报告需要包含我今年的成绩,我今年带领测试团队将bug的逃逸率降低了10%的比例。并且我希望有一个通过echarts绘制的折线图。请将我的述职报告做进一步优化。

 

当然我们从这张图片中可以看出折线图无法展示,我们可以进一步给GPT提示信息,让它直接给到报表的源码。

看出折线图无法展示,我们可以进一步给GPT提示信息,让它直接给到报表的源码。

  • 提示词:echarts 折线图没有展示出来

然后GPT就会解释原因,并且给到解决方案。由此可见,将问题拆解,我们可以随时调整GPT的返回信息,让其更加贴近我们的需求。

借助外部工具

作为一个大语言生成模型,GPT4 并不擅长各种数学计算。比如下面的问题(来自官方 GPT 最佳指南中的示例问题):

  • 提示词:查找以下多项式的所有实值根:3x^5 - 5x^4 - 3x^3 - 7x - 10

如果直接提问的话,通常没法直接给出答案,如下图所示,虽然借助Python,给出了运算过程,但是其实ChatGPT无法像人类数学家一样,给出直接的推导过程:

 

所以可以将提示词改为:

  • 提示词:查找以下多项式的所有实值根:3x^5 - 5x^4 - 3x^3 - 7x - 10 ,使用Python 实现。

在后续碰到ChatGPT无法直接解决的问题时,不妨继续尝试这种曲线救国的方式。

角色扮演

角色扮演的过程就更为简单了,我们在编写提示词的时候,只需要给它加上一些角色的设定。

比如这个例子:

  • 提示词:请用鲁迅的口吻,写一篇文章,叫做我的妈妈,要求字数在800字以内。

除了扮演其他作家之外,ChatGPT甚至可以扮演领导,面试官,浏览器的console插件等各种各样我们可以想象到的角色:

    • 提示词:我希望你作为一个 javascript 控制台。我将输入命令,你回复javascript 控制台应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。我的第一个命令是 console.log("Hello World");

 

 

系统的测试变化

正如人在回复信息的时候,也无法保证所有的回复都是正确的,ChatGPT 也无法保证每次给到的信息都是“靠谱的”或者是满足需求的。

所以ChatGPT的每一次回复,在确认没有问题之后,再使用。如果有问题的话,可以进一步进行提问,ChatGPT会根据提示词不停的纠正回复。以达到一个满意的效果。

 

 

比如这个示例:

  • 提示词:请问 App 的产品在测试的过程中需要注意什么

在测试一个 App 产品的过程中,有一些重要的注意事项可以帮助确保产品质量和用户体验。以下是一些你应该注意的方面:
1. **功能性测试:** 确保所有的功能都能正常工作,包括用户界面、交互和后台操作。测试每个功能的不同用例和场景,以确保没有错误或异常情况。
2. **兼容性测试:** 测试 App 在不同设备、操作系统版本和屏幕尺寸上的兼容性。这有助于确保用户在各种环境中都能正常使用 App。
3. **性能测试:** 测试 App 的性能,包括加载速度、响应时间和资源占用等。确保 App 在各种条件下都能保持良好的性能。
...省略...
11. **更新和升级测试:** 在发布新版本或更新时,确保之前的功能仍然正常,没有引入新的问题。
12. **法律和隐私合规性:** 确保 App 遵守相关的法律法规和隐私政策,特别是涉及用户数据和隐私的方面。
总之,测试是确保你的 App 产品质量和用户满意度的关键步骤。细致的测试流程和综合的测试策略可以帮助你尽早发现和解决问题,提供优秀的用户体验。
  • 提示词:请针对兼容性测试再做一些补充。

  • 当进行兼容性测试时,你需要关注不同设备、操作系统版本、浏览器以及屏幕尺寸之间的兼容性。以下是一些针对兼容性测试的补充建议:
    1. **设备兼容性测试:** 确保你的 App 在各种不同品牌、型号和操作系统的移动设备上都能正常运行。考虑测试不同的手机和平板设备。
    2. **操作系统版本兼容性测试:** 测试 App 在不同操作系统版本上的兼容性,包括最新版本和一些较旧的版本。一些用户可能还在使用较老的操作系统。
    ...省略...
    11. **更新和升级兼容性测试:** 当你发布新版本或更新时,确保之前的功能仍然正常,没有引入新的兼容性问题。
    12. **错误处理和提示信息:** 在不兼容的设备或环境下,确保 App 能够提供适当的错误提示,引导用户解决问题。
    通过兼容性测试,你可以确保你的 App 在不同的环境中都能够提供一致的用户体验,减少用户因设备或环境不同而遇到的问题,从而提高用户满意度。

 

通过不停的测试以及纠正 ChatGPT 的回复,即可最终获得一个满意的回复。

总结

在学习 AIGC 的过程中,需要打破的往常的认知,不能再将AI作为简单的程序看待,反而要把它当作一个“人”来看待。

就像和人沟通一样,需要注意措辞、语气、沟通方式,才能够真正做到学会与AI对话,发挥它强大的作用。

后续学习的过程中,还会针对于 prompt 结合一些api的开发进行。

相关资料

  • 微软Prompt教程:https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering

  • OpenAI官方指南:https://platform.openai.com/docs/guides/gpt-best-practices

推荐学习

人工智能测试开发训练营为大家提供全方位的人工智能测试知识和技能培训行业专家授课,实战驱动,并提供人工智能答疑福利内容包含ChatGPT与私有大语言模型的多种应用,人工智能应用开发框架 LangChain,视觉与图像识别自动化测试,人工智能产品质量保障与测试,知识图谱与模型驱动测试,深度学习应用带你一站式掌握人工智能测试开发必备核心技能,快速提升核心竞争力!

 

 

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门 带你从零基础/转行/小白/就业/ 测试用例设计实战 

【霍格沃兹测试开发】最新版!Web自动化测试从入门到精通/电子商务产品实战/Selenium(上集)

【霍格沃兹测试开发】最新版!Web自动化测试从入门到精通/电子商务产品实战/Selenium(下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/自动化测试/性能测试/精准测试/测试左移/测试右移/人工智能测试

【霍格沃兹测试开发】腾讯/百度/阿里/字节测试专家技术沙龙分享合集/精准化测试/流量回放/Diff

【霍格沃兹测试开发】Pytest用例结构/编写规范 /免费分享

【霍格沃兹测试开发】JMeter实时性能监控平台/数据分析展示系统Grafana/Docker安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/测试开发能力评级/1V1模拟面试实战/冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/要评级表格的联系我

【霍格沃兹测试开发】Pytest与Allure2一键生成测试报告/测试用例断言/数据驱动/参数化

【霍格沃兹测试开发】App功能测试实战快速入门/adb常用命令/adb压力测试

【霍格沃兹测试开发】阿里/百度/腾讯/滴滴/字节/一线大厂面试真题讲解,卷完拿高薪Offer!

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman做接口测试,从入门到实战/接口抓包(最新最全教程)

【霍格沃兹测试开发】6小时轻松上手功能测试/软件测试工作流程/测试用例设计/Bug管理

【霍格沃兹测试开发】零基础小白如何使用Postman,从零到一做接口自动化测试/从零基础到进阶到实战

【霍格沃兹测试开发】建议收藏全国CCF测试开发大赛Python接口自动化测试赛前辅导 /项目实战

新手专区--7小时入门软件测试

新手专区--接口测试入门到实战精通

面试专区--软件测试如何获得高薪?

提升专区--测试开发技能图谱

新手专区 -- 软件测试精品课教程合集

【软件测试教程】软件测试面试实战之软件测试用例编写(一)

【软件测试教程】面试必问的软件测试基本理论及概念

【软件测试教程】面试必会问到的软件测试用例基本理论及方法

【软件测试教程】大厂的软件测试体系是什么样的?

【软件测试教程】名企大厂软件开发流程案例分析

【软件测试教程】做软件测试必须要懂的软件开发流程

【软件测试教程】做测试必须要了解的最常用的几种软件开发模型

【软件测试教程】软件测试如何在面试中向HR要到更高的薪资?

【软件测试教程】如何根据招聘需求选择最值得入职的软件测试岗位?

【软件测试教程】一线互联网名企软件测试岗位招聘具体流程揭秘

【软件测试教程】BAT大厂软件测试简历拆解及细节分析

【软件测试教程】撰写软件测试简历时必须要注意的5个事项

【软件测试教程】能进入BAT一线互联网大厂的优质软件测试简历必须包含的7大板块

软件测试工程师简历面试教程攻略--如何写出能进BAT大厂测开岗的优质简历?如何在面试中向HR要到更高薪资?如何拿到更高级别的offer?--持续更新!

【软件测试教程】自动化测试入门-只能二维码登录,自动化测试怎么做?

【软件测试教程】Appium自动化测试-九宫格解锁

【软件测试教程】面试现写10个linux命令,写不出来怎么办(上)

【软件测试教程】面试现写10个linux命令,写不出来怎么办(下)

【软件测试教程】自动化测试-比fiddler更好用的抓包工具,你知道吗?

【软件测试教程】使用python如何去做接口自动化测试?

【软件测试教程】自动化测试-如何使用selenium自动发邮件

【软件测试教程】软件测试入门进阶-测试新人的如何学习更容易涨薪

【软件测试教程】学会这个技巧,测试用例设计完全无压力

【软件测试教程】Allure一节课学会生成业内最优秀的自动化测试报告

【软件测试教程】自动化测试-selenium grid 搭建分布式测试平台

【软件测试教程】零基础掌握接口测试神器postman

【软件测试教程】UI自动化的高级定位,你学会了吗?

【软件测试教程】自动化测试-pytest测试框架

【软件测试教程】自动化测试框架-pytest测试框架详解

【软件测试教程】接口测试用例应该如何设计

【软件测试教程】Appium自动化测试-实现企业微信自动打卡

【软件测试教程】软件测试入门进阶-面试官常问的adb命令

【软件测试教程】Python+Excel自动化管理测试用例

【软件测试教程】自动化测试神器-charles抓包工具的使用

【软件测试教程】Appium 企业微信自动打卡

【软件测试教程】性能测试核心攻略-性能监控数据展示

【软件测试教程】软件测试入门进阶-面试中的测试用例设计思路

【软件测试教程】软件测试入门进阶-面试必考的SQL核心知识

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

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

相关文章

《QT实用小工具·二十一》鼠标十字线

1、概述 源码放在文章末尾 该项目实现了界面绘制十字线并跟随鼠标移动的过程&#xff0c;下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : public QWidg…

Flask Web框架的使用-安装Flask

Flask Web框架的使用-安装Flask 一、前言二、安装Flask 一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡&#xff0c;让我们一起来学习Flask Web框架的使用-安装Flask如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、安装Flask 大多数Python 包都是使用pip 实用工具安…

Android获取连接到手机热点上的设备信息

主题&#xff1a;在手机开启热点网络的情况下&#xff0c;想要获取是哪个设备已经连接上了当前开启的热点。 实现思路&#xff1a;Android通过读取 /proc/net/arp 文件可以得到连接当前热点的设备信息&#xff0c;包括Mac地址、IP地址等信息。 一. 方法逻辑&#xff1a; /*** …

秋招复习笔记——八股文部分:操作系统

笔试得刷算法题&#xff0c;那面试就离不开八股文&#xff0c;所以特地对着小林coding的图解八股文系列记一下笔记。 这一篇笔记是图解系统的内容。 硬件结构 CPU执行程序 计算机基本结构为 5 个部分&#xff0c;分别是运算器、控制器、存储器、输入设备、输出设备&#xf…

安全左移是什么,如何为网络安全建设及运营带来更多可能性

长久以来&#xff0c;网络安全技术产品和市场需求都聚焦于在“右侧”防护&#xff0c;即在各种系统、业务已经投入使用的网络环境外围或边界&#xff0c;检测进出的流量、行为等是不是存在风险&#xff0c;并对其进行管控或调整。 然而事实上&#xff0c;安全风险不仅是“跑”…

4套java开发的智慧系统源码 智慧校园系统源码 智慧工地系统源码 智慧城管系统源码

4套java智慧系统源码 智慧校园系统源码 智慧工地系统源码 智慧城管系统源码 3D 智能导诊系统源码 Java智慧校园系统源码 智慧学校源码 微信小程序电子班牌 智慧校园系统简介&#xff1a; 智慧校园的建设逐渐被师生、家长认可接受&#xff0c;智慧校园通过对在校师生、教务等…

tcp的全连接队列和半连接队列满时,客户端再connect发生的情况

首先简单介绍下tcp的全连接队列(accept queue)和半连接队列(syn queue)&#xff0c; 1.客户端发起syn请求时&#xff0c;服务端收到该请求&#xff0c;将其放入到syn queue&#xff0c;然后回复acksyn给客户端。 2.客户端收到acksyn&#xff0c;再发送ack给服务端。 3. 服务端从…

2_8.Linux系统引导过程及引导修复

# 1.磁盘引导 # mbr主引导记录0磁道1扇区446 作用&#xff1a; 记录grub2引导文件的位置 当mbr数据丢失系统会因为找不到启动分区而停止启动 问题模拟方式: 系统磁盘/dev/sda dd if/dev/zero of/dev/vda bs446 count1 ##清空系统/dev/sda上的mbr数据 恢复方式&#xff1a; &…

Java多线程实战-从零手搓一个简易线程池(四)线程池生命周期状态流转实现

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

【IC前端虚拟项目】spyglass lint环境组织与lint清理

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 和上个虚拟项目的lint清理环节一样&#xff0c;关于spyglass的lint清理功能与流程还是大家通过各种资料去学习下就好啦。和之前不同的事&#xff0c;这次的虚拟项目里我把流程封装为Makefile&#xff0c;…

C. MEX Game 1

本题如果我们去模拟这个算法的话会很麻烦&#xff0c;也会TLE&#xff0c;首先我们想 1&#xff0c;对于alice来说&#xff0c;先取小的&#xff0c;对于bob来说先删除alic想取的下一个小的 2&#xff0c;那如果这个数多于两个&#xff0c;那也就是说&#xff0c;alice肯定能…

Linux操作系统安装注意事项(新手简易版)

Linux操作系统安装注意事项&#xff08;新手简易版&#xff09; 目录&#xff1a; 1、字符集安装 2、磁盘分区 3、关闭KDUMP防火墙 4、时区选择 注&#xff1a;事例截图是centos8的安装&#xff0c;其他版本是一样的 1、字符集安装 ecology运行需要用到GBK和UTF8字符…

LeetCode-84. 柱状图中最大的矩形【栈 数组 单调栈】

LeetCode-84. 柱状图中最大的矩形【栈 数组 单调栈】 题目描述&#xff1a;解题思路一&#xff1a;单调栈解题思路二&#xff1a;解题思路三&#xff1a; 题目描述&#xff1a; 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且…

anaconda命令行创建虚拟环境并为其安装jupyter notebook同时指定jupyter notebook保存位置

查看有哪些虚拟环境&#xff08;一个环境一个版本的python或者其他库&#xff09; winr快捷键 输入cmd conda env list应该是进入conda的安装路径&#xff0c;但是我们已经添加环境变量 可以看到只有base默认的环境 我们现在新建虚拟环境 python版本为你需要的 conda create -…

Harmony鸿蒙南向驱动开发-GPIO

GPIO&#xff08;General-purpose input/output&#xff09;即通用型输入输出。通常&#xff0c;GPIO控制器通过分组的方式管理所有GPIO管脚&#xff0c;每组GPIO有一个或多个寄存器与之关联&#xff0c;通过读写寄存器完成对GPIO管脚的操作。 基本概念 GPIO又俗称为I/O口&am…

web安全学习笔记(8)

记一下第十二节课的内容。 一、PHP文件包含的四种方式 Include和Include_once 操作系统会读取包含的文件的内容&#xff0c;并将它插入主文件中&#xff0c;include方式的文件包含会在包含失败的情况下输出警告信息&#xff0c;而include_once方式会检查包含的文件是否已经被…

【数据结构与算法篇】单链表及相关OJ算法题

【数据结构与算法篇】单链表及相关OJ算法题 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;数据结构与算法&#x1f345; &#x1f33c;文章目录&#x1f33c; 1. 单链表的实现(近300行实现代码) 1.1 SList.h 头文件的声明 1.2 SLi…

指针 运算偏移

思维导图&#xff1a; 题目&#xff1a; 1.变量的指针&#xff0c;其含义是指该变量的 B 。 A&#xff09;值 B&#xff09;地址 C&#xff09;名 D&#xff09;一个标志 2.已有定义int k2;int *ptr1,*ptr2;且ptr1和ptr2均…

每日OJ题_两个数组dp⑥_力扣97. 交错字符串

目录 力扣97. 交错字符串 解析代码 力扣97. 交错字符串 97. 交错字符串 难度 中等 给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子…

YOLOv5标签值含义根据标签将检测框色块替换(马赛克)

以一个检测人脸的图片为例&#xff1a; 检测后生成的标签txt如下&#xff0c; 此时&#xff0c;如何根据标签值将检测到的人脸同色块替换呢&#xff1f; 关键是获取检测框的左上角坐标和右下角坐标。 img Image.open(D:/PythonWokspace/JINX/datasets_transform/dataset/im…