如何在工作中利用Prompt高效使用ChatGPT

news2024/12/24 9:40:43

导读

AI 不是来替代你的,是来帮助你更好工作。用better prompt使用chatgpt,替换搜索引擎,让你了解如何在工作中利用Prompt高效使用ChatGPT。

01背景

现在 GPT 已经开启了人工智能狂潮,不过是IT圈,还是金融圈。

一开始,我觉的它就是一个增强版搜索引擎,在使用了一段时间之后,才发现它可能不仅仅是一个搜索引擎,它可以做更多的事情,它更加智能,搜索引擎能做的,它能做,甚至做得更好,搜索引擎不能做的,它也能做。

刚开始的时候,它的很多回答都是胡编乱造的。例如你问它一些新上映的电影,它即使不知道也会胡编乱造一通。大家又开始贬低它,觉得只不过就是一个普通的聊天机器人,但是一段时间的使用之后,你会发现,它进化了。

虽然,目前chatgpt肯定不是最完善的,当时它已经可以很好的做一些工作了,我们可以看看利用Prompt,chatgpt会给我们那些惊喜。这里我们用国内的文心一言大模型,进行测试。

02AI 可以帮助我们做什么?

2.1 知识总结

刚开始接触学习新知识的时候,难免需要去查看文档。现在的各种在线文档非常丰富。往往对于一个初学者来说,需要接触的信息太多、排版五花八门,学起来很费力。

这时候就可以借助 ChatGPT 的总结能力,例如我想学习一下 K8S 的相关知识,我发给它一个文档的地址,让它帮我总结。

​可以看到,它很好地总结了这篇中文的文档,并且对每一个关键点进行了概括,列出了文档中所有重要的知识点。

在这里你继续发一篇英文的文档给它,它也会用中文帮你总结。

prompt: 总结这篇文档https://kubernetes.io/docs/concepts/overview/components/ 。

​让它总结一下 wikipedia 里的介绍。

prompt: 总结:https://zh.wikipedia.org/zh/%E6%B5%81%E6%B5%AA%E5%9C%B0%E7%90%832

​当我们将很长的文档的内容复制进来,让 chatgpt 进行总结。但是这时候会发现,文章太长了,可能会收到报错。 这时候,就要运用自己的想象力,使用 prompt 来进行优化了。我们需要把文章进行段落拆分,每一段都符合它的标准。

这样,就能得到了一篇文档的正确总结。

2.2 拆解任务

我们从需求端获取一个需求以后,很多情况下需要我们将任务拆分清楚,平且非常准确的估计时间,这时候可以简要描述一下我们这次的需求点,让 ChatGPT 帮我们进行任务拆解。

任务整体被拆成了一个个细小的任务。它可以很快的让我们将任务转换为 task,或者是需求跟踪单。这既方便和产品经理进行沟通,也便于我们自身排期。如果仍有疑问,可以继续询问拆解。比如我们想要询问第三步应该如何进一步实现。

2.3 阅读代码/优化代码

开发者经常接手别人的代码。质量参差不齐,还会夹在很多奇怪的命名。当我们阅读整体逻辑或者修改逻辑,可能会因为自身阅读的问题造成理解偏差,进一步引发 bug。

如果将这个方法交给 AI 去阅读呢?可以看看效果。

​我们还可以让Chatgpt对每一行分别进行解释。这时候继续和它对话:

prompt: 在每一行代码上面加上注释

​我们还可以尝试让它帮我们做代码的优化和重构。

prompt:对代码进行优化和重构

​你可以对某一个部分提出更细节的要求,为它提出更好的优化方向。

prompt: 这个函数怎么重构为更加通用?

2.4 代码生成

开发者在工作中还有一种场景的工作量比较大,需要复杂的逻辑思考。但是实际上最终的代码可能只需要几行就可以搞定。你在思考过程中觉得很痛苦,想和身边的同事去沟通。也许你给他解释完这个逻辑以后,他非但不能帮你思考,反而将一人份痛苦变成两人份。

例如,我们要进行数据转换,是否也可以交给AI来做?我们发送给 GPT 这样的 prompt:

将数据结构进行转换。数据源为:[ { "candidates": null, "candidatesX": null, "description": "role---用户角色", "label": "角色", "name": "role", "optional": true, "schema": null, "type": "String" },{ "candidates": null, "candidatesX": null, "description": "Topics of the pulsar server to create---需要创建的主题", "items": { "schema": [ { "candidates": null, "candidatesX": null, "description": "topic name---主题名称", "label": "主题名称", "name": "name", "schema": null, "type": "String" }, { "candidates": null, "candidatesX": null, "default": 1, "description": "partition number---分区数", "label": "分区数", "name": "partitions", "schema": null, "type": "Integer", "validator": ">0" } ], "type": "Object" }, "label": "主题列表", "name": "topics", "optional": true, "schema": null, "type": "List" }]我想要得到的数据是 type 为 List 的数据,并且数据结构为:[{type:List, name:"topics", needValidates:[{ name:"name", type:"String"},{name:"partitions", type:"Integer"}] }]

GPT 会为我们得到正确的结果:

​我们只需要输入目标数据结构,转换后的数据结构,无需指定语言。因为它会从你的上下文里理解到你是想要问什么实现方式。

还有执行脚本,我们只需要描述清楚我们的需求,它也会帮助我们进行完善。

​上面可以看到,我们在这里使用了一次“自然语言编程”的操作流程。不论你是否会使用 python、bash 你都可以正常的描述你的需求。进行生成。

我们这里就可以打开一下思路,我们还可以进行代码转换,例如你写了一段 js 代码,你希望将这段代码转化为python。

2.5 生成单测

我们刚刚那段数据转化的代码,如果我们想要进行测试,只需要告诉 AI 帮我生成单测即可。

03Prompt 能力

3.1 Prompt 是什么?

整体来说,上述 AI 的强大之处有几点:

总结/理解能力。它能够很好的总结你发给它的内容,进行总结。这也就是一种理解能力。

强大的上下文关联能力。你不需要像使用搜索引擎一样,每一次的操作都是独立的。你可以将整个对话都变成一个巨大的搜索,通过多次对话来阐述自己想要的信息。甚至还能让它帮助你向它自己提问。

为了更好使用AI、利用这些能力,我们需要做 prompt。prompt 就是提示词,表达语言的能力。我们需要转换自己的思维,从工程师到产品经理,或者是一个 Business Analysis 的角色。我们需要将接到手的任务,进行拆解,一步步的变为提示词。

3.2 Better Prompt

开发者可以利用它的上下文能力,帮助自己纠正语法以及提供更好的 prompt 的训练。

不管你用任何一种语言,它都是利用数据模型进行分析,并不是用单一的语言进行思考。也就是说结果的生成质量不会差异很大。当然每一种语言会有所差异,目前来看英文的效果是最好的。目前国内的大厂也推出文心一言、通义千问。希望国内的大语言模型越来越好,这边文章就是使用了ai回答就是文心一言,目前来看能力还是不错的。

04总结

使用 ChatGPT 一开始进行简单的尝试,并没有觉得有什么特别的。在浏览各类教程时,才发现利用 GPT 进行代码创作来丰富自己的武器库,比如进行图标分析、软件制作等等。实际上,AI 并不是简单的问答而已,它具有一定的解决问题甚至是创造知识的能力。我们要对自己手里的任务、方法、逻辑,有更清晰的认知。让人类做人类该做的事情,让 AI 做它擅长的事情。

05分享

chatgpt prompt学习资料分享

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

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

相关文章

【线性规划、非线性规划、多目标规划】

有限的条件下,最大的收益 线性规划就是在一组线性约束条件下,求线性目标函数的最大或者最小值 线性就是指所有的变量都是一次方 整数规划、0-1规划都是默认为线性规划的特例 MATLAB自带的函数求解线性规划问题: Linprog函数 模型化为MATL…

docker+Jenkins

拉取镜像 docker pull jenkins/jenkins启动容器 8080端口映射58080 jenkins_home 映射本地/data/下方便查看 docker run -d -p 58080:8080 -p 5000:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins访问ip:5…

线性神经网路——线性回归随笔【深度学习】【PyTorch】【d2l】

文章目录 3.1、线性回归3.1.1、PyTorch 从零实现线性回归3.1.2、简单实现线性回归 3.1、线性回归 线性回归是显式解,深度学习中绝大多数遇到的都是隐式解。 3.1.1、PyTorch 从零实现线性回归 %matplotlib inline import random import torch #d2l库中的torch模块&a…

前端密码加密 —— bcrypt、MD5、SHA-256、盐

🐔 前期回顾悄悄告诉你:前端如何获取本机IP,轻松一步开启网络探秘之旅_彩色之外的博客-CSDN博客前端获取 本机 IP 教程https://blog.csdn.net/m0_57904695/article/details/131855907?spm1001.2014.3001.5501 在前端密码加密方案中&#xff…

开发一个RISC-V上的操作系统(三)—— 串口驱动程序(UART)

目录 文章传送门 一、什么是串口 二、本项目串口的FPGA实现 三、串口驱动程序的编写 四、上板测试 文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二&…

Linux-定时清除日志No space left on device

由于开发环境上一般机器资源较少,很容易导致因日志文件过大而导致系统宕机,报错No space left on device等问题,我们可以通过添加定时任务,自动删除日志从而达到节省空间的目的 操作步骤: 云服务器进入救援模式(若服…

目前主流的几个Web前端框架

启动项目时,请查看 2023 年最好的 Web 前端框架。为什么选择合适的工具很重要? 前端开发人员使用前端框架来简化工作。这些软件包通常提供可重用的代码模块、系统化的前端技术和预构建的接口块。这使团队可以更快、更轻松地创建可持续的 Web 应用程序和用户界面&am…

[linux]VI编辑器常用命令

VI编辑器常用命令 命令用法含义dd删除游标所在一整行d1G删除光标所在到第一行的所有数据dG删除光标所在到最后一行的所有数据d$删除光标所在处,到该行的最后一个字符d0那个是数字0,删除光标所在到该行的最前面的一个字符x,Xx向后删除一个字符(相当于[del]按键),X向…

深入浅出多种开发语言对接淘宝京东1688阿里巴巴等电商平台,获取实时商品详情数据API接口介绍

api接口详解大全?优秀的设计是产品变得卓越的原因设计API意味着提供有效的接口,可以帮助API使用者更好地了解、使用和集成,同时帮助人们有效地维护它每个产品都需要使用手册,API也不例外在API领域,可以将设计视为服务器和客户端之…

Oracle中varchar2、clob字段类型中特殊字符会显示为问号解决方法

项目中遇到varchar2、clob字段存储数据,内容中存在特殊字符导致显示问号,以下说明解决此问题的办法 首先我们查询下数据库编码、客户端编码、查询用户操作系统字符集 --查看oracle数据库编码 select * from nls_database_parameters where parameter NL…

MySQL数据库第十一课---------SQl语句的拔高-------水平提升

作者前言 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱们前来借鉴 ______________________________________________________ 目录 SQL提高 日期函数 length round reverse substring ifnull case when cast grouping sets 排序函数 开窗函…

从零到一,激活GPU的力量:使用TensorRT量化和CUDA并行编程

TensorRT学习笔记 前情提要:TensorRT 模型优化与推理:从零到一,激活GPU的力量:使用TensorRT优化和执行深度学习模型,你的TensorRT入门指南 本篇将会介绍TensorRT下的模型量化与CUDA并行计算编程的介绍。 TensorRT模型…

【雕爷学编程】Arduino动手做(170)---LGT8F328P 开发板

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

如何在3ds max中创建可用于真人场景的巨型机器人:第 2 部分

推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建主体 步骤 1 打开 3ds Max。选择机器人头部后,二次单击鼠标并选择隐藏未选中。机器人的其他部分 除了头部之外,将被隐藏。 打开 3ds Max 步骤 2 在人脸选择模式下&#x…

自动化测试项目实战

目录 1.熟悉项目 2.针对核心流程设计手工测试用例 3.手工测试用例转换为自动化测试用例 前置工作 测试工作 登陆界面 博客列表页数量 博客详情页检验 写博客并发布 校验标题,时间 删除博客 注销博客 针对博客系统进行自动化测试 1.熟悉项目 2.针对核…

2023年9月北京/广州/深圳CDGA/CDGP认证考试报名开启

据DAMA中国官方网站消息,2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启,相关事宜通知如下: 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

AlSD 系列智能安全配电装置是安科瑞电气有限公司专门为低压配电侧开发的一款智能安全用电产 品-安科瑞黄安南

一、应用背景 电力作为一种清洁能源,给人们带来了舒适、便捷的电气化生活。与此同时,由于使用不当,维护 不及时等原因引发的漏电触电和电气火灾事故,也给人们的生命和财产带来了巨大的威胁和损失。 为了防止低压配电系统发生漏…

数据结构和算法——表排序(算法概述、物理排序、复杂度分析,包含详细清晰图示过程)

目录 算法概述 物理排序 复杂度分析 算法概述 表排序用于 待排元素都为一个庞大的结构,而不是一个简单的数字,例如:一本书,一部电影等等。 如果这些待排元素都用之前的排序方法,元素需要频繁互换,那么…

uniapp 即时通讯开发流程详解

今天我将为您详细介绍UniApp开发中的即时通讯流程。本文将向您展示如何在UniApp中实现即时通讯功能,为您的应用程序增添交互性和实时性。 1. 准备工作 在开始开发之前,确保您已完成以下准备工作: 确保您已经安装好UniApp开发环境&#xff…

实现简单Spring基于XML的配置程序

定义一个容器,使用ConcurrentHashMap 做为单例对象的容器 先解析beans.xml得到第一个bean对象的信息,id,class,属性和属性值使用反射生成对象,并赋值将创建好的bean对象放入到singletonObjects集合中提供getBean(id)方…