GPT新闻 新闻 如何使用ChatGPT编写代码

如何使用ChatGPT编写代码

大卫·格维茨/ZDNET 关于ChatGPT更有趣的发现之一是它可以编写非常好的代码。我在二月份测试了这个,当时我要求它编写一个我妻子可以在她的网站上使用的 WordPress 插件。它做得很好,但这是一个非常简单的项目。  如何使用 Ch…

codegpt

大卫·格维茨/ZDNET

关于ChatGPT更有趣的发现之一是它可以编写非常好的代码。我在二月份测试了这个,当时我要求它编写一个我妻子可以在她的网站上使用的 WordPress 插件。它做得很好,但这是一个非常简单的项目。 

如何使用 ChatGPT 编写代码作为日常编码实践的一部分?这就是我们要在这里探索的内容。

ChatGPT 擅长哪些类型的编码?

关于 ChatGPT 和编码有两个重要事实。首先,它实际上可以编写有用的代码。第二是它可能会完全迷路,掉进兔子洞,追着自己的尾巴,并产生绝对无法使用的垃圾。

另外: 我正在使用 ChatGPT 来帮助我更快地修复代码,但代价是多少?

我发现这很困难。完成 WordPress 插件后,我决定看看 ChatGPT 能走多远。我为 Mac 应用程序编写了非常仔细的提示,包括用户界面元素、交互、设置中提供的内容、它们如何工作等的详细描述。然后我将其输入 ChatGPT。

ChatGPT 以大量文本和代码进行响应。然后它在代码中间停止了。当我要求它继续时,它吐出了更多的代码和文本。我在继续之后请求继续,它转储了越来越多的代码。但是……都没有。它没有确定代码应该放在哪里,如何构建项目,而且——当我仔细查看生成的代码时——它遗漏了我要求的主要操作,只留下简单的文本描述,说明“程序逻辑放在这里。 ”

另外: 好的,ChatGPT 刚刚调试了我的代码。真正的

经过一系列重复测试后,我很清楚,如果你要求 ChatGPT 提供完整的应用程序,它将会失败。这一观察的一个推论是,如果您对编码一无所知并希望 ChatGPT 为您构建一些东西,那么它就会失败。

ChatGPT 的成功之处(而且做得非常好)在于帮助已经知道如何编码的人构建特定例程并完成特定任务。不要要求在菜单栏上运行应用程序。但是,如果您要求 ChatGPT 提供一个例程,将菜单放在菜单栏上,然后将其粘贴到您的项目中,那就会很顺利。

另外: 如何使用 ChatGPT 创建应用程序

另外,请记住,虽然 ChatGPT似乎 拥有大量特定领域的知识(而且经常如此),但它缺乏智慧。因此,它可能能够编写代码,但无法编写包含需要深厚经验才能理解的非常具体或复杂问题的细微差别的代码。

使用 ChatGPT 演示技术、编写小型算法并生成子例程。您甚至可以让 ChatGPT 帮助您将更大的项目分解为多个块,然后您可以要求它帮助您对这些块进行编码。

因此,考虑到这一点,让我们看一下如何使用 ChatGPT 编写代码的一些具体步骤。

ChatGPT 如何帮助您编写代码

1. 缩小并明确您的要求

第一步是决定您要向 ChatGPT 询问什么——但还没有询问任何内容。决定您希望函数或例程执行什么操作,或者您想要了解什么并将其合并到代码中。决定要传递到代码中的参数以及想要输出的内容。然后看看你将如何描述它。

另外: 如何编写更好的 ChatGPT 提示

想象一下,您正在付钱给一名人类程序员来做这件事。您是否向该人提供了足够的信息来完成您的任务?或者你是否太含糊,而你付钱的人更有可能提出问题或提交与你想要的东西完全无关的东西?

这是一个例子。假设我希望能够总结任何网页。我想向它提供类似这篇文章的内容,并得到一个经过深思熟虑且适当的简短摘要。作为我的输入,我将指定一个网页 URL。作为我的输出,它是带有摘要的文本块。

2. 使用 ChatGPT 探索库和资源

继续上面的示例,提取网页数据的一种非常古老的方法是查找 HTML 段落标记之间的文本。

但随着AI工具的兴起,使用AI库进行智能提取和总结变得更有意义。ChatGPT 擅长的地方之一(也是您可以轻松验证以避免其权威但错误的行为模式的领域)是查找库和资源。 

另外: 如何让 ChatGPT 提供来源和引用

OpenAI(ChatGPT 的制造商)出售对 GPT-3 和GPT-4引擎的 API 访问权限,这将完全满足我们的需求。但在这个例子中,假设我们不想支付交易费用。

因此,让我们看看与 ChatGPT 的交互,以了解如何在 PHP 中运行的项目中免费使用这样的工具。

我从一个提示开始,旨在引出有关哪些库将提供我想要的功能的信息。库(对于那些不是程序员的读者来说)是程序员可以访问的代码体,它可以为特定目的完成大量繁重的工作。现代编程的一个重要部分是寻找并选择正确的库。所以这是一个很好的起点。

另外: 我使用 ChatGPT 用 12 种顶级编程语言编写了相同的例程。这是它的做法

在本例中,我正在查看其他人编写的用于总结文本的代码块。这是我的第一个提示:

描述十种不同的开源人工智能库(以及它们使用的语言),我可以使用它们生成任何网页主要核心内容的摘要,忽略任何广告或嵌入材料。

这正是我想要的,包括提及 OpenAI 的产品。我认为 OpenAI 在这里会做得很好,但对于这个假设的项目,我不想为 API 费用做预算。所以我会缩小问题范围。

这些都是免费的吗?

ChatGPT 给出的答案是两面下注。它是这样说的:“是的,所有这十个人工智能库都是开源的,可以免费使用。但是,其中一些库可能有使用限制,或者需要付费才能访问附加功能或资源。” 因此,基于此,我澄清了我的疑问。

以下哪些库没有使用限制并且不需要任何额外的付款或许可?

请注意,这在很大程度上是一次对话。我不必重新问最初的问题。我只是以同样的方式进行深入研究,就像我手头上有专家并寻求澄清一样。在本例中,ChatGPT 给了我八个库选择,但没有一个提到我计划编码的 PHP 语言。因此,这是下一个提示:

在这 8 个库中,我可以使用 PHP 中的任何一个库吗?

它返回了三个库,但我不确定每个库的作用。那么另一个问题:

Sumy、Gensim 和 NLTK 之间有什么区别?

我还是不确定,所以我明确了我的使用计划,然后问:

如果我想创建网页新闻文章的摘要,哪个库会更好?

我得到的答案是明确且有希望的:“Sumy 是专门为文本摘要而设计的,其任务是创建一个摘要,从一段文本中捕获最重要的信息。” 所以,现在是时候看看将它与 PHP 一起使用时涉及到什么了。我针对该项目的这一部分提出了最后一个问题:

您能解释一下如何在 PHP 中使用 Sumy 吗?

请随意在您的计算机上进行操作并将这些提示粘贴到您的 ChatGPT 实例中。请注意,在步骤 1 中,我决定了要获取有关哪个程序模块的帮助。然后,在这一步中,我与 ChatGPT 进行了对话,以决定使用哪个库以及如何将其集成到我的项目中。

另外: 最好的人工智能聊天机器人:ChatGPT 和其他值得尝试的有趣替代方案

这可能看起来不像编程,但我向你保证它确实是。编程不仅仅是在页面上编写代码行。编程就是弄清楚如何将所有不同的资源和系统集成在一起,以及如何与解决方案的所有不同组件进行通信。在这里,ChatGPT 帮助我进行了集成分析。

顺便说一句,我很好奇 Google 的 Bard 是否可以以同样的方式提供帮助。Bard 实际上无法编写代码,但它确实通过 ChatGPT 的响应对编程的规划方面提供了一些额外的见解。因此,请毫不犹豫地使用多种工具来三角测量您想要的答案。这是这个故事:Bard 与 ChatGPT:Bard 可以帮助您编码吗? 自从我写那篇文章以来,Google 向 Bard 添加了一些编码功能,但它们并不是那么好。您可以在这里阅读:我测试了 Google Bard 的新编​​码技能。进展并不顺利

接下来是编码。 

3.要求ChatGPT编写示例代码

好吧,我们在这里暂停一下。本文标题为《如何使用ChatGPT编写代码》。它会的!但我们确实要求 ChatGPT 编写示例代码。等待。什么?

另外: 什么是 GPT-4?这是您需要了解的一切

让我们说清楚。除非您正在编写一个非常小的函数(例如ChatGPT 为我妻子编写的行排序器/随机化器),否则 ChatGPT 将无法编写您的最终代码。首先,你必须维护它。ChatGPT 不擅长修改已经编写的代码。可怕的是,它没有做到这一点。因此,要获得新代码,您必须要求 ChatGPT 生成新代码。正如我之前发现的,即使您的提示几乎完全相同,ChatGPT 也可能会以非常意想不到的方式改变它给您的提示。

因此,底线是:ChatGPT 无法维护您的代码,甚至无法对其进行调整。

另外: 我要求 ChatGPT 写一个简短的《星际迷航》剧集。结果确实成功了

但这并不意味着示例代码毫无价值。离得很远。我们来看一下我根据之前描述的项目写的一个提示。这是第一部分:

编写一个名为summary_article 的PHP 函数。

作为输入,summary_article 将被传递到 ZDNET.com 或Reuters.com 等新闻相关网站上的文章的 URL。

我告诉 ChatGPT 它应该使用的编程语言。我还告诉它输入,但同时提供两个站点作为示例,以帮助 ChatGPT 理解文章的风格。老实说,我不确定 ChatGPT 是否忽略了这一点指导。接下来,我将告诉它如何完成大部分工作:

在summary_article 中,检索提供的URL 处的网页内容。使用 PHP 中的 Sumy 库和任何其他必要的库,提取文章的主体,忽略任何广告或嵌入材料,并将其总结为大约 50 个单词。确保摘要由完整的句子组成。如有必要,您可以超过 50 个单词来完成最后一句话。

这与我指导员工的方式非常相似。我想让那个人知道他们不仅仅局限于苏梅。如果他们需要其他工具,我希望他们使用它。 

另外: 想了解有关即时工程的更多信息吗?OpenAI 的免费课程可以提供帮助

我还指定了大概的字数来为我想要的摘要创建界限。该例程的更高版本可能会将该数字作为参数。然后我最后说出了我想要的结果:

处理完成后,对 summarize_article 进行编码,以便它以纯文本形式返回摘要。

生成的代码非常简单。ChatGPT 确实调用了另一个库 (Goose) 来检索文章内容。然后它将结果传递给 Summy(限制为 50 个字),然后返回结果。就是这样。但是,一旦编写了基础知识,只需编程即可返回并添加调整、自定义传递给两个库的内容并交付结果。

summarize-article-code

David Gewirtz/ZDNET 截图

一个有趣的注意点。ChatGPT 使用 2021 年之后(当 ChatGPT 的数据集结束时)的 URL 创建了对其编写的例程的示例调用。

本文来自网络,不代表gptnews.cn立场,转载请注明出处。https://www.gptnews.cn/1913/
返回顶部