修改:拉燕

【新智元导读】继 GPT-4 超强进化后,现在还能自我修复。国外网友开发一个「金刚狼」项目,能够主动修复 Python 中的 bug,并运转代码。

要问程序员,一天中最烦的时候是什么?

那一定是给写好的程序 Debug 了。而现在,这种局面要得到改进了!

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

国外一名叫 BioBootloader 的开发者根据 GPT-4 搞了一个叫「金刚狼」的项目,能够自我修复 Python 脚本

从名字就能看出来,这项目主打一个「自我愈合」。通过 GPT 辨认代码中的过错,并供给修正,直至程序顺利运转。

不过,「金刚狼」目前只能用在 Python 上。

这项目已经在 GitHub 上收揽了 1.2k 星,108 个 Fork。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

金刚狼?金刚狼!

BioBootloader 表示,用「金刚狼」运转你的程序,只要一崩溃,GPT-4 就会主动修改,然后给出出错的原因。

哪怕码农写了一大堆 Bug,也没事。「金刚狼」会反复运转,直到全部 Bug 都被 De 掉。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

GPT-4 想必咱们都不陌生。这是由 OpenAI 开发的多模态人工智能言语模型。

BioBootloader 在推特上的演示视频中,展示了「金刚狼」的具体运用方法。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

视频中,开发者先写了个简单的四则运算代码,然后故意把其中一些部分写错。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

(正确的)

比方说,把结束的 return result 随便改成 return res,而 res 没有界说,于是就出错了。

小哥还把减法部分的代码删掉了,便是上方的 substract_numbers。这样一来,下面 calculate 那里就一定会报错。由于 subtract 没有界说了。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

(过错的)

之后直接运转「金刚狼」即可,GPT 生成的部分会出现在右侧。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

能够看到,「金刚狼」快速辨认出了过错,而且附上了解说。

「脚本中没有界说 subtract_numbers.

res 这个变量没有界说,应该用 result 替代。」

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

不光给了主张,「金刚狼」还直接把改好的代码附上了。红色是应该删掉的部分,绿色是增加的部分。

实际上,「金刚狼」是一个封装器,它负责运转程序,捕捉过错信息,再把这些过错发送给 GPT-4,询问 GPT 代码出了什么问题。

像 GPT-4 这种 LLM(即大型言语模型),是用自然言语「编程」的,而这些指令被视为 prompts。

「金刚狼」所实现的功用很大一部分要归功于精心编写的提示,阅读这些提示就能够更好的理解整个过程。

目前该项目已经发布在了 GitHub 上。小哥也是贴心的给出了设置上的要求。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

不止是 Python

在 GitHub 上,BioBootloader 发布了自己未来的计划,「金刚狼」的功用会越来越全面、强壮。

GPT-4自我修复!国外小哥开发神级「金刚狼」,无限自我Debug

「目前的版别仅仅我花了几个小时搞得一个原型产品。未来还会有很多或许的延展,同时欢迎咱们一起来开发。」

  • 增加标志来定制运用方法,例如在运转改动的代码前要求用户确认。

  • 对 GPT 的修改格局进行进一步的迭代。目前,GPT 在缩进方面有点困难,但我坚信这一点能够得到改进。

  • 一套有问题的文件的比如,咱们能够在上方的测试进行提示,以保证其可靠性,并衡量改进的如何。

  • 多个文件 / 代码库——向 GPT 发送堆栈盯梢中出现的一切文件

  • 对大文件更好地处理,即咱们是否应该只向 GPT 发送相关的类 / 函数?

  • 扩展到 Python 以外的编程言语

从上面那个简单的比如能够看出来,这个脚本还是未来可期的。

究竟,总不能让用其他言语工作的码农们看着智能 Debug Python 的「金刚狼」眼红呀。

参考资料:

twitter.com/bio_bootloa…

hackaday.com/2023/04/09/…