ChatGPT是由旧金山OpenAI公司研发的人工智能驱动对话机器人,可以回复用户提出的任何内容的问题。ChatGPT是使用非常大的文本库训练出来的,它能进行基于文字的对话,这也意味着用户可以改进它的回复。即使一开始的回答很奇怪,但它一般最终都能给出准确的结果,其中也包括软件代码。
研究者可以使用ChatGPT调试代码,为代码写下说明,将一种编程语言转化到另一种,或是进行制式化的重复操作,比如根据数据制图。这对一编程就头疼,或是没钱雇全职程序员的研究者来说是个好消息——对他们来说,对话机器人可是个降低门槛的工具。
但是,虽然对话机器人看起来有智能,但它们并不具有智慧。有一种说法把它们称为“随机鹦鹉”,把以前看过的东西随机讲出来而已。简言之,ChatGPT和相关工具都是基于大型语言模型的。例如微软Bing和GitHub的Copilot都是非常强大的编程辅助工具,但必须小心使用。
这里提供6个使用技巧。选择应用场景,对话机器人最适合用来处理小型独立的编程问题,例如读取数据,执行基本的数据操作,制作可视化图和网站。对话机器人在解释为什么代码有问题的时候也很好用。对话机器人甚至还能把代码从一种编程语言翻译到另一种语言。
最重要的是不要盲目接受ChatGPT给你的东西——仔细阅读,仔细测试。确认它在“边界情况”下的执行结果和预期一样。考虑安全性,对话机器人所输出的代码会反映出它的训练数据。这不总是个好事,和网上随便搜出来的代码一样,对话机器人生成的代码不太可能非常高效或是稳健。
使用对话机器人写的代码,并不是一次就行的。它更像是一次对话。如果你卡住了,试着调整一下设置。对话机器人不是人,但不妨把它当人看。拥抱变化,LLM在不断进化,也越来越强大。这对研究者来说是好消息,虽然也会让人类感到威胁。