导读

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

01背景

现在 GPT 已经开启了人工智能狂潮,不过是IT圈,还是金融圈。
一开始,我觉的它就是一个增强版搜索引擎,在使用了一段时间之后,才发现它可能不仅仅是一个搜索引擎,它可以做更多的事情,它更加智能,搜索引擎能做的,它能做,甚至做得更好,搜索引擎不能做的,它也能做。
刚开始的时候,它的很多回答都是胡编乱造的。例如你问它一些新上映的电影,它即使不知道也会胡编乱造一通。大家又开始贬低它,觉得只不过就是一个普通的聊天机器人,但是一段时间的使用之后,你会发现,它进化了。
虽然,目前chatgpt肯定不是最完善的,当时它已经可以很好的做一些工作了,我们可以看看利用Prompt,chatgpt会给我们那些惊喜。这里我们用国内的文心一言大模型,进行测试。

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

2.1 知识总结

刚开始接触学习新知识的时候,难免需要去查看文档。现在的各种在线文档非常丰富。往往对于一个初学者来说,需要接触的信息太多、排版五花八门,学起来很费力。
这时候就可以借助 ChatGPT 的总结能力,例如我想学习一下 K8S 的相关知识,我发给它一个文档的地址,让它帮我总结。

编辑切换为居中
 
添加图片注释,不超过 140 字(可选)
 
可以看到,它很好地总结了这篇中文的文档,并且对每一个关键点进行了概括,列出了文档中所有重要的知识点。
在这里你继续发一篇英文的文档给它,它也会用中文帮你总结。
prompt: 总结这篇文档https://kubernetes.io/docs/concepts/overview/components/ 。

编辑切换为居中
 
添加图片注释,不超过 140 字(可选)
 
让它总结一下 wikipedia 里的介绍。
prompt: 总结:https://zh.wikipedia.org/zh/%E6%B5%81%E6%B5%AA%E5%9C%B0%E7%90%832

编辑
 
添加图片注释,不超过 140 字(可选)
 
当我们将很长的文档的内容复制进来,让 chatgpt 进行总结。但是这时候会发现,文章太长了,可能会收到报错。 这时候,就要运用自己的想象力,使用 prompt 来进行优化了。我们需要把文章进行段落拆分,每一段都符合它的标准。

编辑
 
添加图片注释,不超过 140 字(可选)
 

编辑
 
添加图片注释,不超过 140 字(可选)
 
这样,就能得到了一篇文档的正确总结。

2.2 拆解任务

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

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

编辑切换为居中
 
添加图片注释,不超过 140 字(可选)
 

2.3 阅读代码/优化代码

开发者经常接手别人的代码。质量参差不齐,还会夹在很多奇怪的命名。当我们阅读整体逻辑或者修改逻辑,可能会因为自身阅读的问题造成理解偏差,进一步引发 bug。
如果将这个方法交给 AI 去阅读呢?可以看看效果。

编辑
 
添加图片注释,不超过 140 字(可选)
 
我们还可以让Chatgpt对每一行分别进行解释。这时候继续和它对话:
prompt: 在每一行代码上面加上注释

编辑
 
添加图片注释,不超过 140 字(可选)
 
我们还可以尝试让它帮我们做代码的优化和重构。
prompt:对代码进行优化和重构

编辑
 
添加图片注释,不超过 140 字(可选)
 
你可以对某一个部分提出更细节的要求,为它提出更好的优化方向。
prompt: 这个函数怎么重构为更加通用?

编辑
 
添加图片注释,不超过 140 字(可选)
 

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 会为我们得到正确的结果:

编辑切换为居中
 
添加图片注释,不超过 140 字(可选)
 
我们只需要输入目标数据结构,转换后的数据结构,无需指定语言。因为它会从你的上下文里理解到你是想要问什么实现方式。
还有执行脚本,我们只需要描述清楚我们的需求,它也会帮助我们进行完善。

编辑切换为居中
 
添加图片注释,不超过 140 字(可选)
 
上面可以看到,我们在这里使用了一次“自然语言编程”的操作流程。不论你是否会使用 python、bash 你都可以正常的描述你的需求。进行生成。
我们这里就可以打开一下思路,我们还可以进行代码转换,例如你写了一段 js 代码,你希望将这段代码转化为python。

2.5 生成单测

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

编辑
 
添加图片注释,不超过 140 字(可选)
 

编辑
 
添加图片注释,不超过 140 字(可选)
 

03Prompt 能力

3.1 Prompt 是什么?

整体来说,上述 AI 的强大之处有几点:
总结/理解能力。它能够很好的总结你发给它的内容,进行总结。这也就是一种理解能力。
强大的上下文关联能力。你不需要像使用搜索引擎一样,每一次的操作都是独立的。你可以将整个对话都变成一个巨大的搜索,通过多次对话来阐述自己想要的信息。甚至还能让它帮助你向它自己提问。
为了更好使用AI、利用这些能力,我们需要做 prompt。prompt 就是提示词,表达语言的能力。我们需要转换自己的思维,从工程师到产品经理,或者是一个 Business Analysis 的角色。我们需要将接到手的任务,进行拆解,一步步的变为提示词。

3.2 Better Prompt

开发者可以利用它的上下文能力,帮助自己纠正语法以及提供更好的 prompt 的训练。
不管你用任何一种语言,它都是利用数据模型进行分析,并不是用单一的语言进行思考。也就是说结果的生成质量不会差异很大。当然每一种语言会有所差异,目前来看英文的效果是最好的。目前国内的大厂也推出文心一言、通义千问。希望国内的大语言模型越来越好,这边文章就是使用了ai回答就是文心一言,目前来看能力还是不错的。

04总结

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

05分享

 

如何在工作中利用Prompt高效使用ChatGPT?的更多相关文章

  1. (数据科学学习手札145)在Python中利用yarl轻松操作url

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,在诸如网络爬虫.web应用开发 ...

  2. 运维工作中sed常规操作命令梳理

    sed是一个流编辑器(stream editor),一个非交互式的行编辑器.它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间",接着用sed命令处理缓冲 ...

  3. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

  4. 简洁优雅的Python教你如何在工作中“偷懒”

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: A字头 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  5. 教你如何在工作中“偷懒”,python优雅的帮你解决

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取htt ...

  6. Git-【技术干货】工作中Git的使用实践

    Git-[技术干货]工作中Git的使用实践 置顶 2019-09-17 21:02:16 web洋仔 阅读数 11444更多 分类专栏: Git   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  7. CANN算子:利用迭代器高效实现Tensor数据切割分块处理

    摘要:本文以Diagonal算子为例,介绍并详细讲解如何利用迭代器对n维Tensor进行基于位置坐标的大批量数据读取工作. 本文分享自华为云社区<CANN算子:利用迭代器高效实现Tensor数据 ...

  8. 「Python实用秘技11」在Python中利用ItsDangerous快捷实现数据加密

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第11 ...

  9. [工作中的设计模式]享元模式模式FlyWeight

    一.模式解析 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意.享元模式是对象的结构模式.享元模式以共享的方式高效地支持 ...

  10. 转://工作中 Oracle 常用数据字典集锦

    DBA工作中数据字典就等同于我们本和笔,时时刻刻也分不开的,不管是看状态,还是监控,都需要数据字典的支持,本文整理出来常用的数据字典系列,帮助大家来记住和汇总以便查询利用 ALL_CATALOG Al ...

随机推荐

  1. 2022-09-09:给定一个正整数 n,返回 连续正整数满足所有数字之和为 n 的组数 。 示例 1: 输入: n = 5 输出: 2 解释: 5 = 2 + 3,共有两组连续整数([5],[2,

    2022-09-09:给定一个正整数 n,返回 连续正整数满足所有数字之和为 n 的组数 . 示例 1: 输入: n = 5 输出: 2 解释: 5 = 2 + 3,共有两组连续整数([5],[2,3 ...

  2. 2022-09-07:给你一个由正整数组成的数组 nums 。 数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数。 例如,序列 [4,6,16] 的最大公约数是 2 。 数组的一个

    2022-09-07:给你一个由正整数组成的数组 nums . 数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数. 例如,序列 [4,6,16] 的最大公约数是 2 . 数组的一个 ...

  3. windows-重启打印服务

    @echo off color a net stop spooler net start spooler ping -n 4 localhost >nul

  4. vue全家桶进阶之路24:Mock

    Mock 是一个 JavaScript 库,用于生成随机数据或模拟 HTTP 请求响应,用于前端开发中的单元测试.功能测试.集成测试等场景. Mock 可以生成各种类型的数据,包括字符串.数字.布尔值 ...

  5. json和字典dict的区别

    json和字典dict的区别? 银河有希子关注 2021.07.03 11:13:00字数 987阅读 173 作者:Gakki json和字典dict的区别? 字典写法:dict1 = {'Alic ...

  6. Vue全局公共服务类mixin

    首先,简单介绍下mixin: Mixin是面向对象程序设计语言中的类,提供了方法的实现.其他类可以访问mixin类的方法而不必成为其子类 Mixin类通常作为功能模块使用,在需要该功能时"混 ...

  7. 【汇编】masm文件夹整理

    整理masm文件夹 前言 不好意思,我又来了,今天上汇编课,发现汇编masm文件夹实在是太乱了,像这样: 着实太乱了!程序一多就会很乱很让人心烦!(虽然我现在没有认真上汇编课吧,就这几个文件) 开始折 ...

  8. 用Linux命令操作mysql数据库

    操作mysql数据库,相信大家最熟悉的应该是用navicat工具来新建数据库,建表,查询数据,查看表结构等. 但是如果数据库与本操作机器不在同一个局域网内,并且对方环境也不支持vpn的情况下,如何查询 ...

  9. 安装Visio 2013与原本的office冲突的最终解决方案

    一. 下载office visio 2013 这个直接去网上下载一个安装包解压即可 或者直接云盘下载 https://pan.baidu.com/s/1jWGFoHAjegBBvyrL1rq4DQ 提 ...

  10. Kubernetes 证书详解

    K8S 证书介绍 在 Kube-apiserver 中提供了很多认证方式,其中最常用的就是 TLS 认证,当然也有 BootstrapToken,BasicAuth 认证等,只要有一个认证通过,那么 ...