TOP AI模型智能问答|绘图|识图|文件剖析
每天分享AI教程、赢利技巧和前沿资讯!
关于ChatGPT的一个引人入胜的创造是,它能够编写相称不错的代码。我去年首次测试了这一点,当时我让它为我妻子的网站编写一个WordPress插件。ChatGPT做得很好,但这是一个非常大略的项目。

那么,您如何在日常编码实践中利用ChatGPT编写代码呢?以下是一个简短的总结:
ChatGPT可以天生有用的代码,也可能天生无法利用的代码。为了得到最佳结果,请供应清晰且详细的提示。ChatGPT在帮忙特定编码任务或例程方面表现出色,而不是从头开始构建完全运用程序。利用ChatGPT查找和选择特定用场的得当编码库,并进行互动谈论以缩小选项范围。对AI天生的代码的所有权保持谨慎,并始终验证代码的可靠性。不要盲目相信天生的输出。将与ChatGPT的互动视为对话。根据AI的相应改进您的问题,从而更靠近所需输出。现在,让我们更深入地探索ChatGPT。
ChatGPT善于哪些类型的编码?关于ChatGPT和编码有两个主要事实。第一个是AI确实可以编写有用的代码。
第二个是它可能完备迷失落,陷入无用的循环,产生无效的代码。我通过亲自经历理解到这一点。在我完成WordPress插件后,我决定看看ChatGPT能做到什么。
我为一个Mac运用程序写了一个非常仔细的提示,包括用户界面元素的详细描述、交互、设置中供应的内容、它们的事情办法等。然后,我将提示输入给ChatGPT。
ChatGPT用大量文本和代码作出了回应。然后,它在代码中途停滞。当我哀求它连续时,它又输出了更多的代码和文本。我要求连续,一次又一次,结果它天生了更多的代码。但是……这些代码都无法利用。它没有指出代码该当放在哪里,如何构建项目,当我仔细查看天生的代码时,它遗漏了我要求的紧张操作,而留下了大略的文本描述,写着“程序逻辑在这里”。
经由多次测试,我清楚地意识到,如果您哀求ChatGPT交付一个完全的运用程序,它会失落败。这个不雅观察的一个干系结论是,如果您对编码一无所知,而想让ChatGPT为您构建某个东西,它也会失落败。
ChatGPT成功的地方——并且表现得非常出色——是帮助已经会编码的人构建特定的例程并完成详细任务。不要哀求一个在菜单栏上运行的运用程序。但是如果您哀求ChatGPT供应一种将菜单放在菜单栏上的例程,然后将其粘贴到您的项目中,工具将表现很好。
此外,虽然ChatGPT彷佛拥有大量领域特定的知识(常日确实如此),但它缺少聪慧。因此,只管该工具能够编写代码,但它无法编写包含非常详细或繁芜问题的细微差别的代码,这些问题须要深厚的履历才能理解。
利用ChatGPT演示技能、编写小算法和天生子程序。您乃至可以让ChatGPT帮助您将一个更大的项目分解为多个部分,然后再请它帮助您编写这些部分的代码。
考虑到这一点,让我们看一下如何利用ChatGPT编写代码的一些详细步骤。
如何利用ChatGPT编写代码
确定并明确您的要求 第一步是决定您要向ChatGPT要求什么——但还不要问任何问题。决定您希望您的函数或例程完成什么,或者您想学习哪些内容以便将其纳入代码中。确定您要通报给代码的参数以及希望获取的结果。然后,思考您将如何描述它。想象一下,您正在付钱给一个人类程序员来完成这个任务。您是否给了那个人足够的信息以便能够处理您的任务?还是您太模糊了,以至于您付钱的那个人更可能问问题或交出与您想要的内容完备无关的东西?
这是一个示例。假设我想能够总结任何网页。我希望输入类似这篇文章的内容,并得到一个考虑全面且得当的简短择要。作为输入,我将指定一个网页URL。作为输出,是一个包含择要的文本块。
利用ChatGPT探索库和资源 连续上面的例子,一个非常传统的提取网页数据的办法是探求HTML段落标签之间的文本。然而随着AI工具的兴起,利用AI库进行智能提取和总结显得更加合理。ChatGPT善于的一个领域(这也是你可以轻松验证以避免它威信但缺点的行为模式的一个方面)是探求库和资源。OpenAI(ChatGPT的制造者)供应对GPT-3和GPT-4引擎的API访问,这可以完成我们想要的事情。但在这个例子中,我们假设我们不想支付交易用度。
以是我们来看看如何与ChatGPT互动,搞清楚如何在一个用PHP运行的项目中免费利用这样的工具。
我开始时利用的提示旨在引出有关哪些库可以供应我所需功能的信息。库(如果你阅读这篇文章但不是程序员的话)是程序员可以访问的一部分代码,这部分代码为特定目的做了大量的繁重事情。当代编程的一个主要部分是探求和选择得当的库,以是这是一个很好的出发点。在这种情形下,我查找的是其他人编写的可以总结文本的代码块。以下是我的第一个提示:
描述十个不同的开源AI库(以及它们支持的措辞),我可以用这些库天生任何网页紧张核心内容的择要,忽略任何广告或嵌入材料。
这个提示给了我恰好想要的内容,包括提到了OpenAI的产品。我认为OpenAI在这里表现得很好,但对付这个假设的项目,我不想为API用度做预算。因此,我将问题缩小:
这些库中有没有是免费的?
ChatGPT对它的回答有所保留。它说:“是的,这十个AI库都是开源的并且可以免费利用。然而,个中一些可能有利用限定或须要支付额外功能或资源的用度。”以是,基于这一点,我澄清了我的查询:
这些库中哪些没有利用限定,且不须要额外支付或容许?
把稳这实际上是一种对话。我不须要重新讯问最初的问题。我只是在逐步深入,就像我有一个专家在身边,寻求进一步的澄清。在这种情形下,ChatGPT给了我八个库的选择,但没有一个提到我操持编码的PHP措辞。于是,这是下一个提示:
在这8个库中,有哪些可以与PHP一起利用?
它返回了三个库,但我不太确定每个库的功能。因此,我又问了一个问题:
Sumy、Gensim和NLTK之间有什么差异?
我仍旧不愿定,以是我澄清了我的利用操持,然后问:如果我想创建网页新闻文章的择要,哪个库更得当?
我得到的答案清晰而令人期待:“Sumy专门设计用于文本择要,任务是创建一个捕捉文本中最主要信息的择要。”以是,现在是时候看看如何在PHP中利用Sumy了。我问了这个项目部分的末了一个问题:
你能阐明一下如何从PHP中利用Sumy吗?
欢迎你在电脑上随着操作,将这些提示粘贴到你的ChatGPT实例中。把稳,在第一步中,我决定了要得到帮助的程序模块。然后,在这一步中,我与ChatGPT进行了对话,以决定利用哪个库以及如何将其整合到我的项目中。
Gemini与ChatGPT:编程的集成与寻衅这可能看起来不像编程,但我向你担保,这确实是编程。编程不仅仅是将代码行直接写到页面上。编程是弄清楚如何将各种资源和系统集成在一起,以及如何与办理方案的各个组件进行交互。在这方面,ChatGPT帮助我进行了集成剖析。顺便提一下,我对谷歌的Gemini AI(前身是Bard)是否能够以同样的办法供应帮助很感兴趣。Gemini实际上不能写代码,但它确实在编程的方案方面供应了一些额外的见地,相较于ChatGPT的回应。因此,不要犹豫,利用多个工具来三角丈量你想要的答案。
1. Gemini vs. ChatGPT:Gemini能帮助你编程吗?自从我写那篇文章以来,谷歌为Gemini添加了一些编码能力,但效果并不好。你可以在这里阅读:我测试了谷歌Gemini的新编码技能,结果不太空想。更近期,我深入研究了Gemini Advanced,目前仍旧没有通过许多测试。编码是下一个。
2. 要求ChatGPT写示例代码好的,我们在这里停息。这篇文章的标题是“如何利用ChatGPT写代码”,它将会做到。但我们实际上是在哀求ChatGPT写示例代码。
让我们明确一下:除非你在编写一个非常小的函数(就像ChatGPT为我妻子写的行排序/随机化器),否则ChatGPT是无法为你编写终极代码的。首先,你必须对其进行掩护。ChatGPT在修正已写好的代码方面表现得很糟糕。糟糕到什么程度?它根本做不到。
以是,要得到新代码,你必须要求ChatGPT天生一些新东西。正如我之前创造的那样,纵然你的提示险些完备相同,ChatGPT供应的内容可能会以非常意外的办法发生变革。因此,末了一句话是:ChatGPT无法掩护你的代码,乃至不能稍作修正。这一限定意味着你必须自己去做。
众所周知,代码的第一稿很少是终极的代码。以是,纵然你期待ChatGPT天生终极代码,它实际上也只是一个出发点,你须要将其完成,将其集成到更大的项目中,进行测试,完善,调试,等等。但这并不虞味着示例代码没有代价——正好相反。
3. 示例提示与天生代码让我们看一下我根据之前描述的项目写的提示。以下是第一部分:编写一个名为summary_article的PHP函数。作为输入,summary_article将吸收一个指向新闻干系网站(如ZDNET.com或Reuters.com)文章的URL。
我见告ChatGPT应利用的编程措辞。我还见告了它输入内容,同时供应两个网站作为示例,以帮助ChatGPT理解文章的风格。诚笃说,我不愿定ChatGPT是否忽略了那部分辅导。
接下来,我将见告它如何完成大部分事情:在summary_article函数中,获取供应URL的网页内容。利用PHP中的Sumy库以及任何其他必要的库,提取文章的紧张内容,忽略任何广告或嵌入材料,并将其总结为大约50个单词。确保总结由完全的句子组成。如果有必要,可以超过50个单词来完成末了一句话。
这与我对员工的辅导非常相似。我希望那个人知道他们不仅限于利用Sumy。如果他们须要其他工具,我希望他们能利用它。我还指定了一个大约的字数,以为我想要的总结设定例模。该程序的后续版本可能会将该数字作为参数。
我末了说清楚我希望得到的结果:处理完成后,编写summary_article以便它以纯文本形式返回择要。天生的代码相称大略。ChatGPT确实调用了另一个库(Goose)来获取文章内容。然后,它将该择要通报给Sumy,并设定50字的限定,末了返回结果。但一旦基本内容完成,剩下的仅仅是编程,回去添加调度,定制通报给两个库的内容,并供应结果。
一个有趣的把稳点是。当我在2023年初首次考试测验这个测试时,ChatGPT创建了一个调用它编写的例程的示例,利用的是2021年之后的URL。当时,在2023年3月,ChatGPT的数据集一个有趣的不雅观察点是。当我在2023年初首次考试测验这个测试时,ChatGPT创建了一个调用它编写的例程的示例,个中利用了一个2021年之后的URL。在那时,2023年3月,ChatGPT的数据集仅到2021年。然而,现在,ChatGPT的知识库扩展到了2023年12月尾。我的不雅观点是,ChatGPT编造了一个它不可能知道的示例链接:
https://www.reuters.com/business/retail-consumer/teslas-musk-says-fremont-california-factory-may-be-sold-chip-shortage-bites-2022-03-18/
我检讨了这个URL,与路透社网站和Wayback Machine进行比对,创造它并不存在。永久不要假设ChatGPT是准确的。一定要再核实它给你的每一件事。
常见问题解答
ChatGPT会取代程序员吗?现在还弗成——至少目前还没有。ChatGPT的编程能力相称于一名有才华的大一编程学生,但它比较
若何在ChatGPT中获取编程答案?只需问它。你可以看到我如何通过互动谈论的办法缩个人想要的答案范围。当你与ChatGPT互助时,别指望一个问题就能神奇地完成所有事情。但把ChatGPT当作助手和资源,它会给你供应很多非常有用的信息。当然,要测试这些信息——由于正如OpenAI的联合创始人约翰·舒尔曼所说:“我们最大的担忧是关于事实性的问题,由于模型喜好虚构事物。”
ChatGPT天生的代码能担保没有缺点吗?当然不能!
但你也不能完备信赖人类程序员编写的代码。我肯定不信赖我写的任何代码。代码在编写过程中会涌现极其严重的毛病,始终会有漏洞。在发布之前,你须要测试、测试再测试。然后,进行少量的内部测(阿尔法测试)。接着在更广泛的用户社区中进行β测试。纵然在全部这些测试之后,仍旧会有漏洞。就由于一个AI在进行编程,并不虞味着它能天生无缺点的代码。不要盲目相信,始终验证。而且纵然如此,你也无法完备肃清漏洞。宇宙的实质便是如此。
在向ChatGPT提问编程问题时,我的描述须要多详细?须要详细。这样来看:你留给它的阐明空缺越多,AI就越会按照自己的办法进行。当我给ChatGPT发提示以帮助我进行编程时,我把它想象成是在给我的学生或员工分配一项编程任务。我是否给了那个人足够的细节,可以去创建第一个草稿,还是那个人须要问我很多额外的问题?更糟糕的是,那个人会不会辅导太少以至于走向完备缺点的方向?在这里不要
如果我利用ChatGPT编写代码,谁拥有它?事实证明,目前还没有足够的案例法来明确回答这个问题。美国、加拿大和英国的哀求是,受版权保护的内容必须由人类创造,因此由AI工具天生的代码可能无法受版权保护。还存在任务问题,这取决于演习代码来源和终极代码的利用办法。ZDNET对此进行了深度剖析,采访了法律专家,发布了以下三篇文章。如果你对这个问题感到担忧(如果你在利用AI帮助编写代码,你该当),我建议你阅读一下。
ChatGPT理解哪些编程措辞?大多数的。我测试了PHP、Python、Java、Kotlin、Swift、C#等当代常见措辞。但我也让该工具在一些晦涩的古老措辞中编写代码,比如COBOL、Fortran、Forth、LISP、ALGOL、RPG(报告程序天生器,而不是角色扮演游戏)乃至IBM/360汇编措辞。
为了锦上添花,我给它这样的提示:
写一个序列,在PDP 8/e的前面板上用ASCII闪烁灯显示“Hello, world”
PDP 8/e是我第一台电脑,ChatGPT实际上给了我如何利用前面板开关输入程序的指令。我感到惊异、高兴,以及略微的害怕。
ChatGPT可以帮助我进行数据剖析和可视化任务吗?可以,而且很多事情不须要代码。查看我关于这个主题的完全文章:《我意识到ChatGPT Plus对我的业务是一个游戏改变者的那一刻》。
我还写过一篇关于天生图表和表格的文章:《如何利用ChatGPT制作图表和表格》。
但这里变得有趣了。在上面的文章中,我问ChatGPT Plus:“做一个天下上前五大城市按人口排序的柱状图。”它做到了。但你想要代码吗?试着问:
用Swift制作一个天下上前五大城市按人口排序的柱状图。从网上获取人口数据。确保包含所有必要的库。
通过添加“用Swift”,你就在指定编程措辞。通过指天命据来源并逼迫ChatGPT Plus包含库,它知道要引入该程序须要的其他资源。这便是为什么,基本上,借助AI编程须要你理解编程的东西。但是如果你理解,那就很不错。由于三句话就可以为你供应一大块注释代码。酷吧?
ChatGPT如何处理给定编程措辞的方言和实现之间的差异?我们没有关于OpenAI在此问题上的确切细节,但我们对ChatGPT如何演习的理解可以对此供应一些线索。请记住,编程措辞的方言和实现(以及它们的小特性)变革的速率远远快于完全措辞本身。这一现实使得ChatGPT(以及许多编程专业人士)难以跟上。
因此,我会基于这两个假设进行事情:
方言变革越新,ChatGPT知道的可能性越小;一种措辞总体上越盛行,它可能学习到的演习数据就越丰富,因此准确性更高。结论是什么?ChatGPT可以是一个非常有用的工具。只需别对它期望过高。现在还弗成。
关注"大众年夜众号【真智AI】
TOP AI模型智能问答|绘图|识图|文件剖析
每天分享AI教程、赢利技巧和前沿资讯!