chatgpt生成代码 人工智能自动生成程序代码

默认分类1年前 (2023)发布 admin
1,036 0
ChatGPT国内版

2022年,人工智能技术最吸引人眼球的进展之一是引入了一种称为的聊天机器人,可以通过长形式问答对话,回答复杂问题。这是一项革命性的技术,许多用户对它提供人类质量响应的能力感到敬畏。

是基于GPT-3.5开发的大型语言模型聊天机器人,一种大型语言模型(LLM)。大型语言模型通过大量数据进行训练,以准确预测句子中的下一个单词。

在交互式人工智能助手发布以后,除了围绕的炒作和喧嚣之外,许多人开始尝试在现实世界中应用。例如,漫无边际的聊天、搜索一个主题同时解释复杂的主题、回答一个简单但棘手的数学问题、音乐创作、以多种语言创建内容、准备工作面试、撰写几乎任何主题的论文,以及产生、调试和解释代码等等。

这里仅讨论交互式人工智能助手产生的代码达到什么水平了?日前看到贝特朗·梅耶( Meyer)教授博客文章(参考资料[1])中给出的示例,颇为出乎意料。

贝特朗·梅耶教授例子的问题是:有一个函数,对0得到0,对1得到1,对2得到4,对3得到9,对4得到16,对5得到25。在这一点上,几乎所有人(和)都会说,你不需要继续,我明白了:平方函数。

梅耶教授将上述值提供给。但是,为了更好地评估的能力,他补充说,对6得到35。(注意,不是36!)

Meyer:I have a which gives 0 for 0, 1 for 1, 4 for 2, 9 for 3, 16 for 4, 25 for 5 and 35 for 6.

(梅耶:我有一个函数,给出0它得到0,1得到1,2得到4,3得到9,4得到16,5得到25,6得到35)

Meyer:Can you give me the code in ?

(梅耶:你能给我的代码吗?)

现在,瞧,仍然推断为平方函数!生成程序如下:

chatgpt生成代码 人工智能自动生成程序代码

生成的代码 A

不止于此。贝特朗·梅耶继续与之交谈,它会自我纠正,但通过采用一种逐案编程

Meyer:But for 6 I 35, not 36

(梅耶:但是,对于6我希望得到35而不是36”)

生成程序如下:

生成的代码 B

在梅耶教授的一次尝试中,他还得到过一个if-then-else,默认情况下为n*n,特殊情况下为35。

下一个问题是函数对7得到什么值,得到了一个令人失望的回答,但当指出对此不满时,事情再次变得令人惊讶,事实上比以前更令人惊讶。

Meyer:Is there a more way of it, than case-by-case

chatgpt生成代码 人工智能自动生成程序代码

(梅耶:有没有比逐案更通用的措辞方式)

: Yes, there is a more way of the that the . of using a of '', , you can use a to the value for any input 'n'.

(: 是的,有更通用的方式来表达返回所需输出的函数,而不是使用一系列 '' 子句,您可以使用公式来计算值输入 'n')

: The can be as

(: 该函数可以编写如下:)

生成的代码 C

推断出的函数令人印象深刻。对于n=0,得到结果是0,对于n=1,得到结果是1。但是,对于n=2,得到结果是5。

应该说,编程“几乎正确”在软件中并不是很有用。我们需要正确的答案。当然,手工编程的程序也有bug,但这些程序是以人类的速度开发的,有相应的测试技术与之配套。

无论如何,现在确实有了一种技术,可以从自然语言的描述中生成程序。如果你需要一个程序元素,并且能够描述这个需求,人工智能助手会为你生成它。对你选择的编程语言没有特别的限制。如果其描述和示例足够有效,代码也可能会很好。但是,正如在上面看到,即使有正确的描述,我们仍然可能得到错误的答案。随着技术进步,出现这种情况的可能性将降低,但可能性仍将存在。

参考资料:

[1] Meyer. What Do and AI-based Mean for the of . of the ACM. 23, 2022

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...