文章主题:编程, 对话机器人, 编程问题, 数据操作

666AI工具大全,助力做AI时代先行者!

本文来自微信公众号:Nature Portfolio (ID:nature-portfolio),作者:Jeffrey M. Perkel,原文标题:《使用ChatGPT写代码的6个注意事项 | 〈自然〉技术特写》,题图来自:视觉中国

除非你一直住在山洞里,否则一定听过ChatGPT了。ChatGPT是由旧金山OpenAI公司研发的人工智能(AI)驱动对话机器人,可以回复用户提出的任何内容的问题(即“提示”),而且它的回答和人类的回答出奇地相似。ChatGPT是使用非常大的文本库训练出来的,它能进行基于文字的对话,这也意味着用户可以改进它的回复。即使一开始的回答很奇怪,但它一般最终都能给出准确的结果,其中也包括软件代码。

研究者可以使用ChatGPT调试代码,为代码写下说明,将一种编程语言转化到另一种,或是进行制式化的重复操作,比如根据数据制图。3月发布的一篇预印本论文中提到,ChatGPT尝试一次就可以在一门生物信息学入门课程的184项任务中完成76%的任务,如处理表格等;而尝试7次后的成功率能达到97%[1]

对于那些一遇到编程就感到棘手,或者没有足够的资金雇佣全职程序员的研究者而言,这个消息是一个令人欣喜的突破。因为对于他们来说,对话机器人提供了一个降低技术门槛的解决方案。

但是,虽然对话机器人看起来有智能,但它们并不具有智慧。有一种说法把它们称为“随机鹦鹉”,把以前看过的东西随机讲出来而已。华盛顿大学的计算机科学家Amy Ko引述了美国一个播放了多年的问答节目来形容这项工具的局限性,并写在了社交媒体网站Mastodon上:“ChatGPT就像是一个焦虑的前Jeopardy参赛者,从2021年开始就不再关注流行文化但特别想参加比赛,同时还是一个没有自我意识、执行力、道德观、体化认知和内心感情的机器人。”(用来训练ChatGPT的数据只到2021年为止。)

简言之,ChatGPT和相关工具都是基于大型语言模型(LLM)的。例如微软Bing和GitHub的Copilot都是非常强大的编程辅助工具,但必须小心使用。这里提供6个使用技巧。

选择应用场景

对话机器人是一种卓越的工具,适用于处理诸如读取数据、执行基本数据操作、创建可视化图表和构建网站等小型独立编程问题。然而,与软件工程相比,其应用范围却有所局限。对此,维多利亚大学的计算机科学家Neil Ernst明确表示,这种局限性并不代表对话机器人的能力有限,而是在于其适用场景的不同。换言之,尽管对话机器人可以在某些方面展现出高效能,但它并不适合处理那些复杂度较高或需要深入逻辑分析的问题。

“软件工程可远不止解编程题”,Ernst解释说,“它需要思考测试架构,写出可维护的代码,理解构建系统时的利弊权衡”——例如速度和可读性之间的权衡。“我不觉得现在的工具能解决这些问题。”

这之外还是有很多它们能做的任务,例如记住用Matplotlib绘制数据图的语法——这是Python编程语言里的一个图形库。从这个意义上说,对话机器人就像是Stack Overflow(一个程序员在线问答论坛)的可对话界面。“这可不是大家特别喜欢写的东西”,Ernst说,“而且在回答麻烦的数据分析问题时也能帮我们省下时间。”

对话机器人在解释为什么代码有问题的时候也很好用。马萨诸塞大学阿默斯特分校的计算机科学家Emery Berger利用这种能力构建了很多有用的工具。其中一款叫做cwhy,使用ChatGPT来解释编程语言C、C 和Rust中出现的编译错误。另外一款,ChatDBG,提供了一个调试用的对话界面。第三款工具Scalene使用AI来建议有哪些代码优化可以改进效率。

作为一款具备高度智能的人工智能助手,对话机器人的功能远不止于此。事实上,它还可以实现编程语言之间的转换,这一过程对于许多科学家和工程师来说,无疑是一项极具价值的突破。例如,法国居里研究所的生物物理学家Mathieu Coppey,他运用ChatGPT这款工具,成功地将他在MATLAB中熟练使用的编程语言,转换为了Python。在过去,他需要花费大量的时间和精力去学习和适应Python的语法和规则,而现在,这一切都可以在短短的一小时内完成。这无疑极大地提高了他的工作效率,使得他能够更快地完成科研任务,推动科学进步。

信任,但要确认

对话机器人不是每次都懂自己在说什么,但它们总是说得像它们懂了一样。有些情况下,这个AI并没有理解问题;还有些情况下会给出错误的回答。当代码无法执行的时候,这种错误就显而易见了。但有时候代码会执行出错误的结果。

根据加州大学戴维斯分校的语言学家Emily Morgan等人署名的一份研究[2],对话机器人——和训练它们所使用的人类写的代码一样——经常会出一些用她的话讲是“简单愚蠢的bug”。这些单行的错误修正起来很简单,比如在条件语句里使用

AI时代,拥有个人微信机器人AI助手!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!

Leave a Reply

Your email address will not be published. Required fields are marked *