Echo

Echo 关注TA

大家好,我是Echo!

Echo

Echo

关注TA

大家好,我是Echo!

  •  普罗旺斯
  • 自由职业
  • 写了309,679,512字

该文章投稿至Nemo社区   资讯  板块 复制链接


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

发布于 2023/04/12 18:30 187浏览 0回复 1,692

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

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

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

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

从名字就能看出来,这项目主打一个「自我愈合」。通过 GPT 识别代码中的错误,并提供修改,直至程序顺利运行。

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

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

金刚狼?金刚狼!

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

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

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

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

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

(正确的)

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

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

(错误的)

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

可以看到,「金刚狼」快速识别出了错误,并且附上了解释。

「脚本中没有定义 subtract_numbers.

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

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

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

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

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

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

不止是 Python

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

「目前的版本只是我花了几个小时搞得一个原型产品。未来还会有很多可能的延展,同时欢迎大家一起来开发。」

- 添加标志来定制使用方法,例如在运行改变的代码前要求用户确认。

- 对 GPT 的编辑格式进行进一步的迭代。目前,GPT 在缩进方面有点困难,但我确信这一点可以得到改善。

- 一套有问题的文件的例子,我们可以在上方的测试进行提示,以确保其可靠性,并衡量改进的如何。

- 多个文件 / 代码库 —— 向 GPT 发送堆栈跟踪中出现的所有文件

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

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

从上面那个简单的例子可以看出来,这个脚本还是未来可期的。

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

参考资料:

  • https://twitter.com/bio_bootloader/status/1636880208304431104

  • https://hackaday.com/2023/04/09/wolverine-gives-your-python-scripts-the-ability-to-self-heal/

本文来自微信公众号:新智元 (ID:AI_era)


本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/686/044.htm]

本文标签
 {{tag}}
点了个评