软件测试/测试开发丨学会与 AI 对话,高效提升学习效率
点此获取更多相关资料
简介
ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达越清晰,给到的信息越多,那么沟通就越顺畅。
和 ChatGPT 沟通也是同样的道理,如果想要ChatGPT给到的信息越准确,越清晰,和它的沟通就至关重要。
如何和 ChatGPT 建立一个良好的沟通方式呢?其实就是靠提示词 Prompt 。
价值
可能很多同学疑惑的点在于,提示词还需要另外去学吗?这个看起来貌似有手就行的操作,只要会打字就能够立刻上手吧?
但是会和用得好是两回事。我们可以把ChatGPT想象成孙悟空的金箍棒,本身它是一个非常强大的法器,但是如果不会使用,它也不过是一根铁棍而已。提示词用得越好,ChatGPT就越强大。
而且对于有编程基础的人来说,后续如果想要基于 LLM 或大语言模型快速构建、开发一些应用软件或者功能。不掌握 Prompt 的基本原理和使用技巧,是无法达到很好的效果的。
提示词的原则与技巧
而写一个好的提示词,有以下的技巧可以使用。
1.写清楚需求:GPT 模型无法读懂你的想法,因此在提供需求时尽可能具体是很重要的。这包括在你的查询中包含详细信息,要求模型采用角色,以及使用定界符清楚地指示输入的不同部分。
2.提供参考文本:如果可以,请提供与你希望模型生成的内容相似的参考文本。这将有助于模型了解你要查找的内容并生成更准确的结果。
3.将复杂的任务拆分为更简单的子任务:如果你试图让模型做一些复杂的事情,将任务分解为更小、更易于管理的子任务会很有帮助。这将使模型更容易理解你的要求并生成更准确的结果。
4.角色扮演:这个技巧的作用是告诉ChatGPT在对话中扮演一个特定的角色或人物。这对于创造更有吸引力和沉浸感的对话,或模拟真实世界的场景特别有用。
5.系统的测试变化: 对需求或参考文本进行更改时,重要的是系统的测试结果以了解它们如何影响模型的输出。这将帮助你确定对改进结果最有效的更改。
写清楚需求
编写有效的ChatGPT的难点之一是表达含糊不清。为了避免这个问题,有以下几个问题需要注意:
- 定义任何专业术语或技术术语。
- 避免使用模棱两可的语言。
- 使用清晰或简明的语言
- 错误的案例:“你是我的哈基米吗?”
哈基米属于网络用语,而且诞生在2023年,ChatGPT是无法理解这个词的语意的。
- 好的案例:“请帮我提供在深圳市宝安区所有的咖啡馆”
简明扼要说清楚自己的需求,无需多言,ChatGPT便很好理解了。
提供参考文本
- 对于文本比较短的引用,可以直接贴到提问里面即可:如果你有一段法律条款,并希望使用这段条款来解释某个概念,你可以这样提问:“根据以下的法律条款,什么是知识产权?”然后附上法律条款的内容。
- 网页链接的引用:也可以直接将网页链接里面的内容提供给 GPT 来作为引用文本。比如可以直接给它一个链接地址,让它总结文章内的内容。(注意这个功能需要使用web插件)
拆解复杂任务
作为一个厨师,在做饭的时候需要完成这些步骤:准备食材、清理食材、处理食材、开始烹饪、摆盘。
在这个过程中,其实厨师就是把一个复杂的任务,拆解成了多个简单的任务。其实在编程的过程中,也是同样的道理。也会把一个复杂需求,拆解为N个简单的子需求。
如果需要ChatGPT帮助我们完成一个复杂的任务,那么,我们需要预先帮它把任务拆分。这样做的优点是:
- 更好理解每一个操作步骤。
- 不被上下文限制影响。
- 方便调整。
例如我们提出了一个如下的复杂任务:
- 提示词:作为一个测试工程师,我即将进行述职答辩,我想编写一个述职报告,述职报告需要包含我今年的成绩、我明年的目标、以及我在今年的工作过程中碰到的问题
ChatGPT 虽然给到了相应的回复,但是还有问题:
- 工作成绩没有清晰的数据也没有说服力,看着比较干瘪。报告内容没有图表。
- 内容太过简单空洞。
- 格式不够优雅。
如果我们把提问的方式做进一步优化,把这个复杂问题一步步进行拆解,并给ChatGPT一定的修改反馈,则产生的内容会更加符合我们的需求,比如我们可以把问题分解为:
- 提示词:作为一个测试工程师,我即将进行述职答辩,我想编写一个述职报告。述职报告需要包含我今年的成绩,我今年带领测试团队将bug的逃逸率降低了10%的比例。并且我希望有一个通过echarts绘制的折线图。请将我的述职报告做进一步优化。
当然我们从这张图片中可以看出折线图无法展示,我们可以进一步给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对话,发挥它强大的作用。
相关文章:
软件测试/测试开发丨学会与 AI 对话,高效提升学习效率
点此获取更多相关资料 简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理&…...
CEF内核和高级爬虫知识
(转)关于MFC中如何使用CEF内核(CEF初解析) Python GUI: cefpython3的简单分析和应用 cefpython3:一款强大的Python库 开始大多数抓取尝试可以从几乎一行代码开始: fun main() PulsarContexts.createSession().scrapeOutPages(&q…...
视频集中存储/云存储/磁盘阵列EasyCVR平台分组批量绑定/取消设备功能详解
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台视频能力丰富灵活,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频汇聚融合管理平台EasyCVR既具备传…...
科技成果鉴定测试报告一般包含哪些测试内容?
软件测评报告 一、科技成果评价是需要做第三方软件测评报告,一般是证明技术指标点是否完善,覆盖主要申报内容,应用软件项目科技成果鉴定测试内容: (一)是否完成合同或计划任务书要求的指标; …...
IDEA中的“Deployment“ 将项目直接部署到服务器上
ntelliJ IDEA中的"Deployment"工具栏是一个方便的工具,用于将你的项目直接部署到服务器上。这个工具栏提供了三种部署的方式: 1.Web Server在本地电脑上,并且服务器运行目录也在项目目录下。 2.Web Server在本地电脑上,…...
密室逃脱小游戏
欢迎来到程序小院 密室逃脱 玩法: 判断可生存的空间,鼠标点击屏幕进行人物左右移动,躲避闸道进行生存,每进行一次关卡都会有分数统计,赶紧去闯关吧^^。开始游戏https://www.ormcc.com/play/gameStart/176 html <c…...
【MyBatis】MyBatis项目结构的搭建
Mybatis项目的搭建 依赖 将打包方式添加为jar包 <groupId>com.qinghe.mybatis</groupId><artifactId>Mybatis_demo3</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging>添加如下依赖 <depen…...
Vant组件库入门知识
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…...
Java字符串查找
目录 1.查找字符 (1)以索引查找字符 (2)以字符查找索引 2.查找字符串 在给定的字符串中查找需要的字符或字符串是常见的操作,以下是String类中常用的查找方法。 1.查找字符 查找字符分为两种情况:一种…...
2023年7月京东投影仪行业品牌销售排行榜(京东大数据)
鲸参谋监测的京东平台7月份投影仪行业销售数据已出炉! 7月份,投影仪市场呈现增长趋势。根据鲸参谋平台的数据可知,7月京东平台投影仪的销量将近20万,同比增长约16%;销售额将近3.8亿,同比增长约4%。 *数据…...
设计模式-01简单工厂模式详解 详细代码对比
目录 ChatGpt问答原生代码简单工厂模式代码 简单工厂模式(Simple Factory Pattern)新增boat 对比两种方法原生代码为什么使用强制转换?简单工厂模式 简单工厂方法总结与原生代码的区别:优点:缺点: 参考 本文将介绍什么…...
IPD-PDT-POP角色的名称、定位和职责说明书
在IPD推进中,有一个不是很关键但却离不开的角色叫做POP,POP这个角色通常是设置在PDT团队中。 那么IPD的PDT团队中的POP这个角色到底是什么意思呢?POP如何开展工作,以及POP的主要岗位职责有哪些呢?华研荟今天给大家分享…...
在MySQL中查看数据库和表的数据大小
在MySQL中查看数据库和表的数据大小 在管理和维护MySQL数据库时,了解数据库和表的数据大小是非常重要的。这可以帮助您监控数据库的增长、优化性能以及规划存储需求。本博客将介绍如何使用SQL查询来查看MySQL数据库和表的数据大小。 查看MySQL数据库的总数据大小 …...
Android前端音视频数据接入GB28181平台意义
技术背景 在华脉智联研发Android平台GB28181前端音视频接入模块之前,业内听到最多的是,如何用Android端在没有国标摄像头设备的前提下,模拟GB28181的信令和媒体流交互流程,实现GB28181整体方案的测试。 Android端真的没有必要做…...
Ubuntu 20.04上docker安装Redis
要在Ubuntu 20.04上使用Docker安装Redis,您可以按照以下步骤进行操作: 1.更新系统包列表:sudo apt update2.安装Docker:sudo apt install docker.io3.启动Docker服务并设置其开机自启动:sudo systemctl start docker …...
linux 压缩webfile文件夹 webfile.tar.gz和webfile.tar的区别
linux 压缩webfile文件夹 在Linux中,你可以使用tar命令来压缩文件夹。以下是将文件夹压缩为名为"webfile.tar"的示例命令: cd到webfile所在的文件夹,然后执行 tar -cvf webfile.tar webfile/上述命令中,-c选项表示创建…...
基于SSM的农产品推广应用网站
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
人大金仓分析型数据库身份鉴别
目录 前言 数据库总参数 口令尝试次数 口令更换周期 明文密码替换 用户登录信息显示 前言 身份鉴别功能包含口令尝试次数限制、口令更换周期管理、明文密码替换和用户登录信息显示等几部分。 数据库总参数 identity_auth.enable 是否使用身份鉴别功能,布尔值…...
基于SpringBoot的在线教育平台系统
基于SpringBootVue的线教育平台系统,前后端分离 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:管理员、学生、老师 …...
基于大规模测量和多任务深度学习的电子鼻系统目标识别、浓度预测和状态判断
Target discrimination, concentration prediction, and status judgment of electronic nose system based on large-scale measurement and multi-task deep learning 摘要 为了实现响应特征的自动提取,简化模型的训练和应用过程,设计了一种双块知识…...
Unity游戏客户端进阶路线(只针对本人)
一、初级Unity游戏开发工程师需要掌握以下内容: 1.掌握编程语言,一般都会学C#,需要掌握C#编程语言的基础内容以及Unity3D的引擎配置。 2.掌握Unity引擎,对使用的引擎有深入的了解,掌握它的特性以及局限性。 3.熟悉游戏…...
【C++】封装map和set(红黑树实现)
前言: 前面,我们学习了set和map的用法,这两个容器可以完成查找,排序等操作,后来我们在学习过二叉搜索树的基础上又学习了两种特殊的二叉搜索树——AVL树和红黑树,他们俩可以是效率进一步提高,其…...
【补】代码随想录算法训练营day38|动态规划 |509. 斐波那契数|70. 爬楼梯|746. 使用最小花费爬楼梯
动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推…...
C语言sizeof()计算空间大小为8的问题
在练习数据结构过程中,定义指针p,并且申请了10个char类型空间,但在计算p所指空间大小时候,发现了一些奇怪的现象。 #include <stdio.h> #include <stdlib.h>int main(){char s[12];printf("the size of memory …...
时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化
时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化 目录 时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 LMD局部均值分解 直接替换Excel即可运行包含频谱图相关系数图 Matlab语言 1.算法新颖…...
景区AR虚拟三维场景沉浸式体验成为新兴的营销手段
科技的迅速崛起正在改变我们的世界,旅游业也在这股浪潮中掀起了一场全新的变革。增强现实(AR)技术正成为旅行中的一股强大力量,通过增添趣味和交互性,为旅程注入了前所未有的活力。本文将带您深入了解AR如何为旅游带来全新的体验,…...
【深度学习】 Python 和 NumPy 系列教程(五):Python容器:3、集合Set详解(初始化、访问元素、常用操作、常用函数)
目录 一、前言 二、实验环境 三、Python容器(Containers) 0、容器介绍 1、列表(List) 2、元组(Tuple) 3、集合(Set) 1. 初始化 2. 访问集合元素 3. 常用操作 a. 添加单个…...
单片机C语言实例:6、定时器的应用
一、定时器0控制LED闪烁 实例程序1: #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbit LED P1^2; //定义LED端口/*------------------------------------------------定时器初始化子程序 …...
ChatGPT Prompting开发实战(五)
一、如何编写有效的prompt 对于大语言模型来说,编写出有效的prompt能够帮助模型更好地理解用户的意图(intents),生成针对用户提问来说是有效的答案,避免用户与模型之间来来回回对话多次但是用户不能从LLM那里得到有意义的反馈。本文通过具体…...
MySQL——DQL union合并、limit限制与DDL建表和删表
一、Union 合并 union:是实现两个查询结果的合并。 例如:当我们查询员工名字为manager 和 salesman的员工名字和 工作? select e.ename,e.job from emp e where e.jobmanager or e.job salesman; select e.ename,e.job from emp e where e.job in(man…...
网站建设的目的及功能定位/网站软文代写
云端漫步 微软私有云技术征文大赛奖品...
怎么买网站域名/网络营销渠道有哪几种
算法描述 K-means算法是一种被广泛使用的基于划分的聚类算法,目的是将n个对象会分成k个簇。算法的具体描述如下: 随机选取k个对象作为簇中心;Do计算所有对象到这k个簇中心的距离,将距离最近的归入相应的簇;重新计算每个…...
域名建议网站/电话投放小网站
由于MySQL的社区版是不支持审计系统的,因此通过第三方的插件实现审计功能。此次采用MariaDB的server_audit插件来实现MySQL的审计功能。 安装server_audit插件 1、下载server_audit插件 下载地址:http://mirrors.neusoft.edu.cn/mariadb//mariadb-5.5.62…...
table布局网站/app下载量推广
语义 意义语义元素 有意义的元素什么是语义元素?一个语义元素能够清楚的描述其意义给浏览器和开发者。无语义 元素实例: 和 – 无需考虑内容.语义元素实例: , 浏览器支持Internet Explorer 9, Firefox, Chrome, Safari 和 Opera 支持语义元素。注意: Internet Explorer 8 及更…...
做js题目的网站/网络公关公司收费
第1步 - 从一段文字和一张图片开始 对于本练习,我们希望将图像强制到右侧以允许内容与其一起流动。我们还想在图像的左侧和底侧添加边距以推送内容。最后,我们想在图像周围添加边框。我们从一段文本中的图像开始。 代码如下所示: <!DOC…...
四平网站建设联系方式/太原全网推广
我让我的saveScreenShot线程内存溢出错误,即使是BlockingQueue的空内存溢出使用ImageIO.write在我的主要存在时,下列变量存储图像public static BlockingQueue imageQueue1 new LinkedBlockingQueue();public static BlockingQueue imageQueue2 new Li…...