让我们明确一点:
除非你编写的是一个非常简单的函数,否则 ChatGPT 并不能编写你的最终代码。
ChatGPT 并不擅长修改已经写好的代码。因此,要生成新的代码,你需要请求它生成一些新内容。正如我之前所发现的,即使你使用非常相似的提示,ChatGPT 也可能会以意想不到的方式更改它给你的内容,因此,关键在于:ChatGPT 无法维护或调整你的代码。
这种限制意味着你必须亲自动手去做修改。众所周知,第一版代码通常不是最终版本。因此,即使你希望 ChatGPT 能生成最终代码,它也只是一个起点,你需要调整、集成到项目中、测试、改进和调试。
不过,这并不意味着它写的示例代码完全没有价值——相反,示例代码非常有用。以下是我为了某个项目所编写的提示:
编写一个名为 summarize_article 的 PHP 函数。
作为输入,summarize_article 将接收指向新闻相关网站(例如 ZDNET.com 或 Reuters.com)上的文章的 URL。
我告诉 ChatGPT 使用的编程语言并提供了输入示例——两个网站,用于帮助它理解目标文章的风格。老实说,我不确定 ChatGPT 是否完全遵循了这些指导。然后,我继续详细说明要如何完成任务的大部分工作:
在 summarize_article 中,检索所提供 URL 处的网页内容。使用 PHP 的 Sumy 库以及其他必要的库,提取文章主体,忽略广告或嵌入内容,并将其总结为大约 50 个字。确保摘要由完整的句子组成。如果需要,可以超过 50 个字来完成最后一句话。
我还指定了一个大概的字数上限,以创建摘要的边界。将来,这个数字可能会作为参数传递。最后,我明确表述了我的需求:
处理完成后,编写 summarize_article 函数,以便它以纯文本形式返回摘要。
生成的代码非常简单。ChatGPT 确实调用了另一个库(Goose)来检索文章内容。随后,它将摘要传递给 Sumy,限制为 50 字,然后返回结果。不过,一旦基本内容就位,你就需要进行编程调整,自定义传递给两个库的内容并完善最终结果。

有趣的是,当我在2023年初首次进行此测试时,ChatGPT 使用了一个2021年之后的网址创建了对它所编写例程的调用。当时,即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,发现它根本不存在。
因此,切勿假设 ChatGPT 的内容一定是准确的。务必仔细检查它提供的所有信息。
好了,就这样,你仍然可以期望ChatGPT帮你编写一些功能代码。