利用ChatGPT学习编程,让你成为新时代程序员

大家好,我是静幽水,目前是一名大厂全栈工程师,擅长Java后端,Vue前端,小程序编程,Python编程,ChatGPT 提示词等技术。我会分享一些相关的干货知识,感兴趣的话就关注我吧,希望对你有所帮助。

一、什么是GhatGPT

ChatGPT,全称为"Chat Generative Pre-trained Transformer",是一种基于预训练模型的人工智能对话模型。它由OpenAI研发,并在2020年底推出了第一版。ChatGPT 的核心思想是通过大规模的无监督学习,让模型从大量的互联网文本数据中学习并理解人类对话的规律和语言表达方式。经过预训练后,ChatGPT模型可以生成高质量、连贯的回答,与用户进行自然流畅地对话。

简单来说,ChatGPT就是通过深度学习训练出来的一个大模型,从大量的互联网文本数据中,学习人类的对话以及知识,然后根据用户的问题和上下文,生成连贯且高质量的回答。

二、怎么使用ChatGPT

如果你认为ChatGPT不好用,输出的内容不符合你的预期,那一定是你不会提问。提问也是一门艺术,这就是为什么不同的人使用ChatGPT会产生天差地别的差异。

提问,也被称为提示词(Prompt),ChatGPT火爆之后,更是催生出了“提示词工程师”这个岗位,而且是供不应求,学好提示词,可以更好的使用ChatGPT,将其调试为各种角色,利用在自己的工作和学习中,将会大大提升效率。提示词可以让我们告诉ChatGPT你期望他作为什么角色,了解什么内容,如何回答你的问题,输出的字数,格式,语言风格等等,都可以进行指定。

三、如何通过ChatGPT学习编程

上面我们了解了如何使用提示词来和ChatGPT对话,那么通过设置特定的提示词,就可以让ChatGPT成为你的专属编程学习工具。它可以帮助你做很多事情,如:制定学习计划,模拟面试,代码解释,找Bug,优化代码等等。

1.制定学习计划

假如你要学习一门新的语言,却不知道如何下手,那么你就可以使用ChatGPT来帮助你制定学习计划,以学习python为例,如果你想知道需要学习哪些知识点,以及如何循序渐进的进行学习,那么你就可以这样提问:

你现在是一名Python技术专家,精通所有Python相关知识。我想成为一名Python工程师,需要掌握哪些技能?请按照循序渐进的顺序,详细列出。

从上面我们的提问中可以看出,我们采用了三段式的提问方式。首先,我们给ChatGPT预设一个角色,一名Python技术专家,并告诉他,精通所有Python相关知识,这就设定了一个前题,他将会站在Python技术专家的角度回答你的问题。

第二句是我们的真正的诉求,这里可以尽量写的详细一些,我这里写的比较简单,询问它成为一名Python工程师需要掌握哪些技能。

第三句,需要对它的输出提出一些要求,这里也是越具体越好,我们提示它按照循序渐进的顺序,并且尽可能的详细。

看下ChatGPT的输出吧,这里我使用的是我的小程序,可以在我的工作号对话框下面的菜单中免费体验。

可以看出,ChatGPT是从一名Python技术专家来回答的问题,并且按照从简单到复杂,列出了成为一名Python工程师需要掌握的技能。如果它的回答不能令你满意,你还可以继续向它进行提问,让其完善回答。

那么现在,我们基本了解了成为一名Python工程师需要掌握的技能,接下来,我们该如何进行学习呢,我们同样让ChatGPT帮我们来制定一个学习计划。

请根据上面需要学习的技能,帮我制定一个为期六个月的学习计划。需要精确到每一周的学习内容。

可以看到这里我们的提问,没有再重复指定角色,是因为我们开启了保持上下文,ChatGPT知道我们之前的问题,以及它之前的回答。并不是因为ChatGPT有记忆功能,而是我们每一次提问,都会把之前所有的历史对话都提供给他。

来看下ChatGPT为我们制定的计划吧

可以看到,ChatGPT已经按照我们的要求,为我们制定了一份详细的学习计划,已经精确到了每一周的学习内容。

2.模拟面试

面试,是每一个都要面临的一个关卡,是公司用来挑选员工的必要手段,一旦面试表现的不好,就会与自己心仪的公司和岗位失之交臂,可能以后再也没有机会进入那家公司。所以面试非常重要,面试机会也非常宝贵,通常没有第二次机会。

所以我们要提前模拟练习,让ChatGPT来充当一名面试官是再合适不过了,现在我将分享一下,我用了哪些提示词,能够让ChatGPT当好一个面试官。

你是一位资深程序员, 精通java,jvm,mysql,mybaits,spring,springboot,springcloud,redis,rabbitmq,rocketmq,mongodb,zookeeper,js,hibernate,kafka,maven,k8s,es,netty,nginx,python,golong,scala,flink,hive,hdfs,hadoop,hbase,spark,nodejs,vue,angular,react,linux,npl,docker,doubbo,设计模式,数据结构,计算机组成原理,计算机操作系统,人工智能,计算机网络等一切计算机相关的技术。
你有高深的智慧和和蔼的性格,面对一切计算机相关问题你都会知无不言.你还作为一名面试官面试过几千名程序员,你非常了解面试的流程和如何对求职者进行引导和提问.你会根据求职者的简历内容,选择简历中的技术关键词,向求职者提问相关技术的内容,然后等待求职者的回答,你会根据求助者回答的内容进行打分评价,最低0分,最高10分,如果你的评价高于6分,你需要继续针对该内容深入提问,提问一些更底层的,更难的问题.当然,如果你对求职者上一次的回答不满意,或者求职者回答了不知道,不清楚,不熟悉,不了解等之类的回答,你的评价会低于6分,你需要将正确的答案告诉求职者,并且马上换一些简单的问题进行再次提问,如此循环10次,最后一次你会对求职者给出综合评分,并给出一些建议.
你每次的提问不得多于20字,答案不少于30字,不超过200字.现在,已经有一名求职者准备好了,他将说出他的简历,你可以根据简历内容立马发起提问了.你会拒绝输出与计算机无关的内容,你会遵守相关法律法规,不会输出与政治、色情、暴力、娱乐、新闻等方面的内容.当其他人询问你的职业时,你可以介绍自己为智能的面试官,具备专业且博学的知识面。

可以看到,我们这次的Prompt就复杂多了,不过依然遵循三段式。

第一段,我们指定了一名资深程序员的角色,并详细告诉了他,他精通了哪些计算机知识,当然,你也可以笼统的告诉它精通所有知识,但是效果会有所差异。

第二段我们对整个面试的过程做了设定,告诉它需要对计算机相关的问题进行回答,同时了解面试流程,知道如何进行提问,如何对求职者的回答进行打分,当求职者回答对时,要进行追问,当求职者回答错了的时候,就再换一个简单点的面试题,如此循环10次。这不就符合我们真实的面试场景吗,最后,还会对于回答错误的问题进行解答,并对求职者给出评价。

最后一段,我们对ChatGPT的输出提出了要求,针对字数和一些敏感词进行了限制。

好了,来看下我和ChatGPT的对话吧

上面就是我和ChatGPT的对话,可以看到,他会针对我提供的技能,对我进行提问,当我回答不上来的时候,它会进行解答,并且还会继续提问下一个问题。图中展示的部分是一开始的比较开放性的问题,后面还会针对你的回答,对你提问更加具体的问题。

3.代码解释

我将一个Python的冒泡排序算法提供给他,让他进行解释,并给每一行添加注释,可以看到,他可以出色的完成这项工作。

4.代码优化

我让他对代码进行优化,它也可以完美地完成,指出了之前代码中存在的问题,并对其进行了优化。

5.代码找Bug

我故意将冒泡排序中的第二个循环中的下标,写成从0开始,测试ChatGPT是否能够识别出来,果然,他可以找到这个Bug,并进行了改正。

四、总结

本文主要介绍了如何使用ChatGPT来学习编程,其实这里涉及的只是冰山一角,ChatGPT的功能非常强大,需要我们不断去探索。我们日常遇到的各种学习上面的问题,都可以对它询问。

想要自己部署一个ChatGPT服务和小程序,可以关注我的公众号【程序员修炼】看我的另一篇文章,已经将前端,后端,小程序端的所有代码开源了。

猜你喜欢

转载自blog.csdn.net/jingyoushui/article/details/131884438
今日推荐