您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

这样用ChatGPT写代码,省时省力又高效!

时间:2023-10-10 15:19:29  来源:51CTO  作者:

译者 | 李睿

审校 | 重楼

生成代码是ChatGPT和其他遵循指令运行的大型语言模型(LLM)一个功能强大的应用。如果得到正确的提示,大型语言模型(LLM)可以生成程序员可能需要数小时才能编写的代码。

这样用ChatGPT写代码,省时省力又高效!

 

然而,大型语言模型(LLM)并不能完成程序员的所有工作。他们无法分解复杂的问题,思考逻辑和结构,也无法创建多层次的解决方案。它们一次处理一个指令,预测可能遵循用户提示和输出的下一段代码。

以下是可以帮助用户充分利用ChatGPT强大的编码能力以及避免进入陷阱的四个技巧。

如果无法验证,就不要信任ChatGPT

像ChatGPT这样的大型语言模型(LLM)的一个突出特征是它们的权威声音。它们总是充满信心地回答,即使他们的答案毫无意义。不可避免,有时ChatGPT采用令人信服但错误的答案回答了一些问题。

本文作者表示,他使用ChatGPT的经验法则是,只在他完全理解并可以验证的主题中使用它。例如不会用它来写量子物理的解释,因为他对这个主题了解不够。但是ChatGPT可以帮助他撰写一篇关于机器学习基础知识的有趣文章,因为可以完全检查和纠正它的输出。

同样,当使用ChatGPT生成代码时,只让它完成可以完全验证的任务。ChatGPT可能编写无效或更糟的代码,这些代码虽然有效但不安全。因为ChatGPT是一个自动化工具,可以完成那些需要花费很长时间编写或需要多次访问文档页面或在线论坛(如StackOverflow)的繁重工作。例如,可以要求它编写排序算法,采用Python/ target=_blank class=infotextkey>Python启动Web服务器的代码,从数据库模式中执行SQL查询,或者在Matplotlib中执行数据可视化命令。

一次迭代一个代码块

大型语言模型(LLM) 往往难以处理需要推理和逐步规划的任务。因此,不要指望ChatGPT能够成功地编写完整的程序或复杂的代码块。但是,这并不意味着ChatGPT不能帮助人们完成复杂的编程任务。如果给它提供一个简单的任务(例如上面提到的任务),就有可能完成。

用户可以将任务分解成更小的步骤,并一次一步地提示ChatGPT。一个成功的方法是从给ChatGPT一个你想要编写的程序的逻辑的逐步大纲开始。

这有助于大型语言模型(LLM)为更复杂的任务做好准备,然后逐步提示大型语言模型(LLM)。简而言之,用户进行推理,ChatGPT完成工作。顺便说一句,这种从大纲开始并逐步完成的方法在完成其他任务时也很成功,例如撰写某些类型的文章。

如果对循序渐进的过程没有清晰的愿景,用户可以从ChatGPT本身获得帮助。通过提示大型语言模型(LLM)生成完成任务的步骤列表来启动编码会话。然后根据需要修改大纲,并开始提示它生成第一步的代码。

向ChatGPT提供反馈

不能指望ChatGPT每一步都提供干净、安全、有效的代码。当查看其代码并将其输入集成开发环境(IDE)时,可以进行更正和调整。当这样做时,最好的做法是将更正后的代码作为反馈提供给ChatGPT,并在适用的情况下提供解释。

需要注意的一点是,ChatGPT对场景非常敏感,它的行为可以根据聊天历史改变。用户可以利用这一点,这就是为什么提供反馈和纠正代码片段非常有帮助的原因。

例如,用户可以说:“这就是我更改你提供的代码的方式:[在这里插入修改后的代码]。试着(插入行为更正)继续这样做。”这可以帮助引导ChatGPT朝着正确的方向前进,避免在回答以后的提示时重复犯错。(同样,本文作者在ChatGPT的其他任务中也成功地使用了这种反馈方法,包括撰写文章)。

有时可以使用ChatGPT来获得关于其自身代码的反馈。尝试打开一个单独的聊天会话,在其中向ChatGPT提供它生成的代码,并要求它对其进行改进或更正。有时,它会产生有趣的结果和新的探索方向。

清理ChatGPT的场景

如果用户正在处理一个特别大的任务,聊天记录可能会变得很长,特别是如果使用ChatGPT进行了大量的重复操作。根据用户使用的模型,大型语言模型(LLM)可能会耗尽ChatGPT场景的内存。ChatGPT的免费版本有4000个令牌的内存。(对于语言任务,100个令牌覆盖大约75个单词。对于编程来说,它通常要少得多。)

一个成功的技巧是偶尔清理一下ChatGPT的场景。为此,可以采用一个提示启动一个新的聊天会话,在这个提示中,可以向ChatGPT提供任务的大纲、到目前为止完成的步骤、到目前为止生成的代码,以及希望它遵循的一些通用指导原则。然后告诉它继续下一步。通过消除以前与大型语言模型(LLM)交互中的混乱,可以提供更清晰的场景,并提高了ChatGPT生成代码的准确性。

大型语言模型(LLM)正在改变编程方式

大型语言模型(LLM)辅助编程领域正在迅速发展。例如,ChatGPT Plus现在有几个插件可以帮助程序员预测代码。其他基于大型语言模型(LLM)的编码工具(例如Github Copilot和Amazon CodeWhisperer)正在帮助程序员显著提高他们的速度和生产力。检索增强技术可以使程序员将大型语言模型(LLM)的行为定制为他们自己的专有代码库或库,这些代码库没有包含在训练数据集中。人们仍在探索大型语言模型(LLM)能为程序员做些什么。

原文标题:How to write better code with ChatGPT,作者:Ben Dickson



Tags:ChatGPT   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
ChatGPT官宣免注册,全球互联网变天!OpenAI将取代谷歌搜索?
新智元报道编辑:编辑部【新智元导读】OpenAI这份愚人节礼物,实在是太大了:今天起,ChatGPT不用注册,可以直接使用。用户狂欢,竞品颤抖,我们仿佛已经听到,谷歌搜索引擎这位巨人轰然倒...【详细内容】
2024-04-02  Search: ChatGPT  点击:(8)  评论:(0)  加入收藏
无需注册!OpenAI宣布放开ChatGPT使用限制
工智能初创公司OpenAI宣布,即日起用户无须注册即可开始使用ChatGPT的功能。OpenAI在最新公告中写道:“让ChatGPT等工具广泛可用,让人们能够体验到人工智能的好处,这是我们使命的...【详细内容】
2024-04-02  Search: ChatGPT  点击:(6)  评论:(0)  加入收藏
ChatGPT 突然放开了账户限制,面向所有人开放
大门终于打开。奥特曼 OpenAI 的旗舰产品 ChatGPT 突然宣布:将面向所有人开放,无论你有没有注册账户。从今天开始,访问 Chat.openai.com 将不再要求用户登录,用户将直接进入与 C...【详细内容】
2024-04-02  Search: ChatGPT  点击:(3)  评论:(0)  加入收藏
今天起,ChatGPT无需注册就能用了!
 来源:量子位    金磊 克雷西 发自 凹非寺  就在刚刚,OpenAI狠狠地open了一把:从今天起,ChatGPT打开即用,无需再注册帐号和登录了!  像这样,直接登录网站,然后就可以开启对...【详细内容】
2024-04-02  Search: ChatGPT  点击:(7)  评论:(0)  加入收藏
ChatGPT之父Altman两小时对谈,首聊GPT-5何时发布、llya去哪里了、Q*究竟是什么
Altman做客油管博主Lex Fridman科技博客 ,被追问了一个又一个辛辣的问题。长达两个小时的对谈,奥特曼从OpenAI宫斗、马斯克诉讼、Sora,一直聊到AGI与外星文明!本文重点梳理了长...【详细内容】
2024-03-20  Search: ChatGPT  点击:(8)  评论:(0)  加入收藏
ChatGPT主管最新访谈:未来AI和人类如何共处?
Peter Deng在最新访谈中表示:AI不会取代生产力,人类和AI只有合作才能释放真正潜力,ChatGPT比已知的更强大、最大的挑战在于理解用户需求。当地时间3月13日,OpenAI 消费产品副总...【详细内容】
2024-03-19  Search: ChatGPT  点击:(11)  评论:(0)  加入收藏
ChatGPT日耗电超50万度,大模型或带来“电荒”
未来两年内将由“缺硅”变为“缺电”,马斯克的预言可能正在变成现实。据《纽约客》杂志报道,OpenAI的热门聊天机器人ChatGPT每天可能要消耗超过50万千瓦时的电力,以响应用户的...【详细内容】
2024-03-11  Search: ChatGPT  点击:(31)  评论:(0)  加入收藏
OpenAI新功能:ChatGPT可调用自定义机器人,对话更高效!
近日,知名科技公司OpenAI推出了一项新的功能——“对话中调用(@)自定义聊天机器人”,让用户在对话中无缝切换不同领域的机器人。这一功能的出现,为用户带来了极大的便...【详细内容】
2024-02-02  Search: ChatGPT  点击:(53)  评论:(0)  加入收藏
ChatGPT元年之后,AI重塑世界,人类如何与其“智慧共生”?
过去一年,人工智能(AI)凭借大语言模型的爆火迅速进入大众视野。它比以往任何时候都更强大,也更具亲和力。这不仅给未来生活带来了新希望,也在人们心中蒙上了一层担忧—&mdas...【详细内容】
2024-01-26  Search: ChatGPT  点击:(77)  评论:(0)  加入收藏
年度最热AI应用TOP 50,除了ChatGPT还有这么多宝藏
量子位 | 公众号 QbitAI百模齐发、AI工具乱杀的一年里,谁是真正赢家?ChatGPT访问量遥遥领先位居第一,但单次使用时长没超过平均线。Midjourney访问量年度第四,但下滑量位居第二...【详细内容】
2024-01-02  Search: ChatGPT  点击:(51)  评论:(0)  加入收藏
▌简易百科推荐
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(5)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(12)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(8)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(10)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(8)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
Kubernetes 究竟有没有 LTS?
从一个有趣的问题引出很多人都在关注的 Kubernetes LTS 的问题。有趣的问题2019 年,一个名为 apiserver LoopbackClient Server cert expired after 1 year[1] 的 issue 中提...【详细内容】
2024-03-15  云原生散修  微信公众号  Tags:Kubernetes   点击:(6)  评论:(0)  加入收藏
站内最新
站内热门
站内头条