直连Colab,支持20种编程语言:谷歌版ChatGPT代码水平反杀了?

2023-04-30 11:09 364 阅读 ID:1011
机器学习算法与自然语言处理
机器学习算法与自然语言处理

虽然过去十几年里一直引领全球 AI 进步,谷歌在过去的几个月却只能努力追赶微软和 OpenAI 的步伐,为此这个星期甚至还把谷歌大脑和 DeepMind 合并到了一起。

去年底,ChatGPT 引发了科技行业的剧变,今年 2 月,谷歌发布 ChatGPT 竞品 Bard,人们对其使用体验褒贬不一。Bard 有这样那样的限制,很多人对开发人员提出的需求就是「什么时候它才能写代码?」

本周五,Bard 写代码的能力终于上线了。

谷歌表示,Bard 现在能使用 20 种编程语言,包括 C++、Go、Java、Javascript、Python 和 Typescript 等等,还能帮助用户 debug 和解释代码、优化代码。只需要简单的 prompt,例如「能让该代码更快吗?」,Bard 就能理解人类意图,自动让代码变得更高效。

我们知道,很多人会使用 Google Colab 跑机器学习模型,它还自带免费的云 GPU 算力。现在人们也可以轻松地将 Bard 生成的 Python 代码导出到 Google Colab 上 —— 甚至无需复制粘贴。Bard 还能够协助 Google Sheets 编写函数。

此前,谷歌已宣布面向美国和英国的用户开放 Bard,这部分用户已经可以直接使用 Bard 的所有新功能了。

谷歌演示了 Bard 写代码的效果。和 ChatGPT 一样,现在 Bard 可以根据你的需求生成完成相应任务的代码:

解释代码的功能对于编程初学者来说特别有用:

除了生成、解释代码,Bard 还可以帮助用户调试(debug)代码,包括 Bard 自己生成的代码。如果 Bard 生成的代码未按预期运行,只需告诉 Bard:「this code didn’t work, please fix it(此代码无效,请修复)」,Bard 就可以帮助用户进行调试。

应用生成式 AI 来加速软件开发并帮助人们解决复杂的工程挑战,这是 Bard 推出代码生成功能的美好愿景。但目前 Bard 的能力还有待提升。

谷歌表示,Bard 仍处于早期实验阶段,有时可能会提供不准确、误导或虚假的信息,也可能会生成无法产生预期输出的代码,或者生成不是最优的 / 不完整的代码。用户需要在采用 Bard 生成的代码之前,仔细检查代码,测试和审查代码中的 error 和 bug。

对于一款正在大规模测试的语言大模型来说,新上线的功能必然会遇到用户各式各样的调戏,Bard 的代码能力也一样。

首先 Bard 在给出答案时会自带引用的代码链接,对于一个面向实用化的产品来说,这很重要,也受到了好评。

                                                   你们经常吐槽 AI 是在抄代码,它不是乱抄的

问 Bard「你能帮我实现一个基本的 RNN 并在虚拟文本数据上测试它吗?」然后直接把生成的代码导出到 Google Colab 上。代码的一部分不起作用。找到错误再次询问 AI,Bard 修改了代码,看起来一切似乎都运行完美。现在我们只需要检查实现是否正确,手动检查,有必要的时候做一些单元测试就行了。

                                                   拥有 Google Colab 导出功能真的很有用。

最后,有人尝试用 Bard 生成上古编程语言 COBOL 的代码,结果居然是令人满意的:

人们一直在担心,等现在这波 COBOL 程序员退休,很多关键岗位会后继无人。看起来,AI 可以帮我们解决这个大问题了。

不过也有部分网友表示,Bard 的能力似乎仍然不及 GPT-4。

使用 AI 辅助编程,能否最终改变我们的工作方式?这还有待我们继续探索。

参考内容:

https://www.reuters.com/technology/google-bard-can-now-help-write-software-code-2023-04-21/

https://blog.google/technology/ai/code-with-bard/

https://twitter.com/JackK/status/1649403850703650816

https://techcrunch.com/2023/04/21/googles-bard-ai-chatbot-can-now-generate-and-debug-code/

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn