chatgpt检测脚本语法 程序员的未来属于伪代码!Nature:ChatGPT三种姿势加速科研编程

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

非常擅长生成模板代码,在特定指令下提供一份包含少量函数的短脚本代码。

比如下面的例子中,研究人员要求将四个常用函数的输入和输出串一起。并提供一个将此函数用于模拟数据的示例代码。

可以看到生成的结果几乎是完美的,调试代码只花了几分钟,不过需要在提示中非常具体地说明query,包括提供命名和用到的函数。

研究人员发现,成功的关键在于:

1、将复杂任务分解成多个子任务,每个子任务最好只需要少数几个步骤即可完成,毕竟生成的代码是基于概率文本预测模型的结果。

2、在使用已经存在的函数时表现最佳,因为这时只涉及内插而非外推。

例如,使用正则表达式(regex)从文本中提取信息的代码对于许多开发人员来说是非常困难的,不过因为已经有正则网站提供了大量在线示例,并可能出现在示例中,所以写正则的性能还是不错的。

3、学术界对最大的批评之一是其信息来源缺乏透明度。

对于代码生成任务,通过指定「命名空间」(),即在使用函数时显式调用包名可以实现一定程度的透明性。

chatgpt检测脚本语法 程序员的未来属于伪代码!Nature:ChatGPT三种姿势加速科研编程

不过可能会直接复制个人的公开代码而没有引用出来,并且研究人员仍然有责任验证正确的代码归属人。

同时,如果要求生成更长的脚本会暴露出一些的缺陷,例如伪造函数名或参数等,这也是禁用生成代码的原因。

但如果用户提供了一组明确的执行步骤,仍然可以生成一个有用的工作流模板,定义步骤之间的输入和输出之间的连接,这可能是用GPT-3外推生成新代码的最有用的途径。

目前还不能将伪代码(用简单语言描述的算法步骤) 转换为完美的计算机可执行代码,但这可能离现实并不遥远。

对于初学者、不熟悉的编程语言来说特别有帮助,因为初学者只会写一些较短的脚本,调试更方便。

更擅长非创造性任务

最擅长解决的是耗时的公式化任务,可用于调试、检测和解释代码中的错误。

编写函数文档时也非常有效,例如使用 2的内联文档语法,在标识出所有参数及类上非常高效,不过却很少解释如何使用函数。

一个关键的限制是的生成被限制在大约500个单词,只能专注于较小代码块的生成,同时还可以生成单元测试以自动化确认代码功能。

给出的大多数建议在定义测试的结构和检查预期的对象类方面是很有帮助的。

chatgpt检测脚本语法 程序员的未来属于伪代码!Nature:ChatGPT三种姿势加速科研编程

最后,在对代码进行重新格式化以遵循标准化(例如)代码样式方面非常有效。

未来属于伪代码

和其他人工智能驱动的自然语言处理工具已经准备好将开发人员的简单任务进行自动化,例如编写短函数,语法调试,注释和格式化,而扩展复杂性取决于用户的调试意愿(以及他们的熟练程度)。

研究人员总结了在代码生成上的功能,可以简化科学领域的代码编写过程,不过人工检查仍然是必要的,可运行的代码并不一定意味着代码能够执行预期的任务,因此单元测试或非正式的交互式测试仍然至关重要。

在解决方案可能由人类开发,并由简单复制生成的情况下,确保正确的代码归属人至关重要。

目前已经有聊天机器人开始自动提供指向其来源的链接(例如,微软的必应),尽管这一步还处于起步阶段。

与传统方法相比,提供了一种学习编码技能的替代方法,通过将伪代码直接转换为代码,可以缓解编写初始任务的障碍。

研究人员怀疑未来的进展将使用这样的工具来自动调试编写的代码,根据遇到的错误迭代地生成、运行和提出新代码,在实验过程中,研究人员发现纠正代码的能力有限,只有在非常具体的指令针对小代码块时才会偶尔成功,调试过程的效率远低于人工调试。

研究人员猜想,随着技术的进步(比如最近发布的GPT-4模型 ,据称比GPT-3模型大10倍),自动化调试将会得到改进。

未来即将到来,现在是开发人员学习提示工程技能以利用新兴AI工具的时候了,研究人员预计,使用人工智能生成的代码将成为软件开发各个方面越来越有价值的技能,这些技能是科学发现和理解的基础。

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...