本文首发:[应用 chatGPT 高效学习的套路]()
最近这段时间 chatGPT 掀起了一阵 AI 热潮,目前来看网上大部分内容都是在调戏 AI,很少有人写如何用 chatGPT 做正事儿。
我作为一个大部分常识都是从搜索引擎和 GitHub 学来的程序员,第一次和 chatGPT 促膝长谈后,根本认定了一个事实:chatGPT 肯定能大幅减少程序员学习新技术的效率 。
目前我曾经深度应用 chatGPT 一个月了,越来越能感触到这个工具的颠覆性。所以这篇文章不探讨 chatGPT 的沙雕玩法,单从工作和学习的视角,分享下 chatGPT 的牛逼之处以及我应用 chatGPT 的一些教训技巧。
为什么 chatGPT 有助于学习新技术
通过这些年对于各类常识的学习,我先论述一个集体的总结: 学习一个新常识 / 新技术,其实就是在脑海中构建这个技术的「常识模型」。所谓小白和专家的区别,其实就是脑海中这个常识模型精密水平的区别。
举个简略的例子,就比方计算机网络吧,如果电脑上不了网了,怎么办?
普通用户能做的,可能就是重启下电脑和路由器,确认一下是否是宽带欠费了;那作为程序员,多少理解一些根本的网络常识,就能够应用一些常用命令查看一下网关、DNS 之类的,或者抓个包看看到底是哪里出了问题;对于业余的网络工程师,那必定有更多定位和解决问题的方法,这里我也不懂,编不来。
同是计算机网络,以上几个角色的基本区别在于对网络这个货色的了解深度不同,或者说他们脑子里对于「计算机网络」这个常识模型的精度不同。
普通用户脑子中对网络的认知,恐怕就是一个 WiFi 图标,一般程序员脑子中对网络的认知模型,能够细化到几层协定栈和一个个数据包,网络工程师脑子中对网络的认知模型,兴许能够进一步细化到每个数据包中的每一个比特位。
那么当初我想对一个新技术建设常识模型,我应该怎么做呢?
就比方 k8s 这一套技术吧,我作为初学者最开始接触 k8s 的时候会被外面的很多名词绕晕,比方 CRD, CR, controller, operator 这些都是什么鬼?它们之间是如何作用的?既然 k8s 外面的资源都是 API Object,那 k8s 更像是个数据库,和容器编排和调度又是怎么扯上关系的?
我猜 k8s 的初学者可能也有相似的问题,但去搜索引擎上个别是搜不到让人称心的答案的。
因为搜索引擎的特点是:你必须明确地晓得本人要什么,这样能力给出精确的搜寻关键词,搜索引擎能力帮你找到你须要的信息 。
类比前文说的「常识模型」的概念,搜索引擎善于的,是给出这个模型的一个切面的所有信息。比方你遇到了一个 bug,把报错信息贴上去搜一下,大概率能够找到这个 bug 的成因以及解决办法。
但当初的问题是我作为初学者,对 k8s 外面的很多概念了解都不精确,依照我已知的信息进行推理,k8s 应该是一个数据库才对,但事实与我的推理并不相符,那么我哪里了解错了?正确的了解形式是什么?
对于我的这些问题,搜索引擎无法回答,毕竟搜索引擎能做的只是索引已有的数据,即使以前有人也问过相似的问题,但往往没有官网文档和技术社区的权重高,很可能被吞没在互联网的陆地中,难以被找到。
这就是传统搜索引擎的一大痛点:无奈间接答复相似「对不对」「哪里出错了」这类问题 。
所以在过来,我学习新技术的过程其实就是借助搜索引擎收集常识碎片,而后在脑海里整顿这些碎片造成一个残缺的常识模型,并一直在实践中欠缺和修改这个模型。
当然,一个最高效的方法就是抱大腿,找一个这方面比拟有教训的大佬,把我本人想不通的中央分明地表述进去,那么对方可能顺手画个图外加三两句话就能把整个逻辑理分明,让我恍然大悟。
不过万一找不到大佬怎么办呢?换做以前,恐怕只能持续硬着头皮找材料看代码,效率比拟低。 而当初,chatGPT 就能够表演一个技术巨佬的角色,7×24 小时提供问答服务 。
chatGPT 能够了解聊天上下文,所以我常常会对 chatGPT 的解答中的一部分细节发动质疑,进行更深刻的探讨,它齐全能了解我的意思,简直都能给出精确的答案解决我的纳闷。
那么通过这么长时间的深度体验,我能够说 chatGPT 是传统搜索引擎的强力外援,怪不得微软 bing 整合 chatGPT 会让各个搜寻大厂那么缓和呢。不过神仙们打架咱也不配掺和,接下来分享一些我应用 chatGPT 的一些技巧。
chatGPT 应用技巧
如果想让搜索引擎返回精确的后果,须要肯定的技巧来构建关键词。如果想最大化施展 chatGPT 的能力作为搜索引擎的补充,也须要一些小技巧。
1️⃣ 尽量应用英文和 chatGPT 交换 。
咱们这篇文章次要是探讨利用 chatGPT 学习新技术嘛,那么不可否认一手的技术文档还是英文居多,所以 chatGPT 学习的相干数据必定也绝对较多,更有利于失去精确详尽的答案。
另外,中文的文本生成相比英文的文本生成要简单,所以中文交换的响应速度会显著慢于英文交换。
2️⃣ 多用反诘的形式和 chatGPT 交换 。
比如说多用「我认为 xxx,你看我了解的对吗」这类句式发问,少问诸如「xxx 是什么」这样的问题。
不是说 chatGPT 不能答复「xxx 是什么」这类问题,而是说传统的搜索引擎更适宜干这个,还能给你更丰盛的信息,那何必问 chatGPT 呢?
还是用我初学 k8s 举例,我会把本人的了解整顿成一系列观点讲给 chatGPT 听,让它指出我了解谬误的中央:
这种学习体验真的是传统搜索引擎给不了的,像极了一个学渣缠着学霸求带带的场景,哈哈😂
3️⃣ 一条音讯只蕴含一个问题,且尽可能多地提供问题的上下文 。
说到底,这就考验把问题形容分明的能力了,其实能够有很多办法。
比方前文举的我初学 k8s 时的问题,我能够这样问 chatGPT,先来一个疏导式的发问:在 k8s 外面,所有资源都是 API Object,对吗?
失去 chatGPT 必定的回复,而后我开始挖坑:那么 k8s 其实就是一个存储 API Object 的数据库,对吗?
chatGPT 就会通知我,我这样想是不对滴,API Object 并不是简略的静态数据,巴拉巴拉。而后我再依据它的回复一直诘问并提出本人的认识求指教,最终把整个常识框架梳理分明。
4️⃣ 放开思路去发问,比方让 chatGPT 通过类比、举例的形式解说问题 。
chatGPT 的能力比咱们之前用过的人工智障强太多了,咱们能够尝试向它提出一些难度更大的问题。
比方,很多时候代码的解释性比文字更强,那么我能够间接要求 chatGPT 写一段 demo code 进去,反正看不懂的话还能够诘问:
在这段对话中,通过我的一步步发问,chatGPT 的确写出了一个残缺的 operator 的 demo。尽管它写的代码偶然出问题,但个别都是相似包导入这种比拟显著的谬误,整体上我认为还是十分弱小的。
再比方,chatGPT 给我解说了 CRD, CR, Controller 这些 k8s 中的概念之后,我请它类比编程语言里的类和实例再给我讲讲:
它类比 CRD 是类定义,CR 是类的实例对象,Controller 是操作示例的代码逻辑,说实话感觉它这个类比还挺贴切的呢 👍
其余的还有很多,比方发给它一段代码让它逐行解释,让它表演一个 Linux shell,表演一个 yaml/json 转换器等等,这些事件 chatGPT 都能做,的确能够在某些场景大幅提高咱们的效率。
目前我认为最有价值的几个技巧就说完了,上面说下 chatGPT 目前的一些不足之处吧。
目前 chatGPT 的有余
1️⃣ 时效性问题 。
因为 chatGPT 只把握了 2021 年之前的数据,所以一些最新的信息会缺失,一些旧的信息也可能曾经过期。比方我让 chatGPT 帮我找一些链接,有些链接就曾经 404 了。
据说微软 new bing 整合的 chatGPT 解决了这个问题,不过我当初还没有 new bing 的试用资格,所以先用 chatGPT 了,反正就技术学习来说时效性差一点也不妨。
2️⃣ 多数状况下,chatGPT 会不苟言笑的胡言乱语 。
我看了一些其他人的应用体验,这个问题的确是存在的。chatGPT 素来都是有求必应,哪怕它不晓得,也会不苟言笑地给你生成一个看起来有模有样的答案。
依据我遇到的状况猜想一波,chatGPT 会对没有牢靠答案的问题进行推理 ,依据相似的问题答案推理进去一个可能的答案。
比如说我让 chatGPT 写一个用 websocket 连贯 Apache Pulsar 的 code example,它二话不说就给我写了个错的。起初我发现,它是把 Kafka 的 websocket 用法有模有样地套用到了 Pulsar 上。
实际上目前网上都没有太多用 websocket 连贯 Pulsar 的案例,所以 chatGPT 没有足够的数据进行训练,写不出正确的 code example 也情有可原。
还有一次,我问 chatGPT 如何把 MySQL 的 id
字段转化成 varchar
字符串类型。它通知我用 Cast(id as VARCHAR(255))
,后果报错,它也解释不清为啥报错。
起初我一搜,原来要用 Cast(id as CHAR(255))
的形式。看来 chatGPT 目前还有一些不精确的中央,有待晋升。
最初总结
总结一下,我感觉 chatGPT 是一个新型搜索引擎,在某些场景下可能提供比传统搜索引擎更弱小更高效的搜寻效率 。
齐全依附 chatGPT 去做一些略微简单的工作,目前来看还是不事实的。
比方让 chatGPT 写代码,目前它的程度只能写一写简略的 demo,而且常常须要手工修复一些细节谬误。
然而让它作为搜索引擎的补充帮忙咱们学习新技术,还是比拟靠谱的。问答式的体验在很多场景下都要优于传统搜索引擎。
另外,GitHub 上也涌现出很多对于 chatGPT 的我的项目,有些还是蛮有意思的,大家能够自行摸索。
本文就到这里吧,我集体置信,像 chatGPT 这样的 AI 技术会和搜索引擎表演等同重要的角色,那么如何更好地了解并使用 AI,是将来须要一直学习摸索的课题。
更多高质量干货文章,请关注我的微信公众号 labuladong 和算法博客 labuladong 的算法秘籍 。