GPT-4 让 Python 程序实现自修复 Bug,国外小哥将工具命名为“金刚狼”,并开源!...

54a1349764f79a1a77bd5409322120d9.gif

整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

继开发者用 GPT-4 制造了一款“贾维斯”代码助手之后,另一位程序员小哥 BioBootloader 再次整活,他利用 Python 和 GPT-4 创建了一个名为 wolverine(金刚狼)的应用程序,它可以让代码程序自己不断 Debug,为 Python 程序提供“再生治疗能力”。

简单来看,这里的 wolverine 程序可让代码脚本就像漫威旗下的英雄人物金刚狼一样,可自愈,保证正常运行。

当前,wolverine 代码已在 GitHub 上开源:https://github.com/biobootloader/wolverine,且短短时间便收获了 2.1k 个 Star。

25b1680b66fff35625cc8a7bbc52bd26.png

53981dfb97891b82a6a6ce7af7a78279.png

Python 代码神器——「金刚狼」

BioBootloader 在 Twitter 上分享了一条 demo 视频,并写道,“用它运行你的脚本,当它们有问题时,GPT-4 会自动编辑程序并解释出了什么问题。即使程序有很多错误,它也会反复重新运行,直到一切都修复了。”

在「金刚狼」的演示视频中,BioBootloader 展示了一个并排的窗口,左侧是 Python 代码,右侧是终端中的「金刚狼」运行结果。

正如视频中呈现的那样,BioBootloader 加载了一个自定义计算器脚本,然后他故意埋了一些 Bug 在代码中,然后让「金刚狼」程序去运行。

ac6773232ff85acb5a0e6d7dad770b8a.png

为了直观地看到区别,我们先分享一下正确的代码片段:

9dc63415cc55a0842bf6ff9da5e97926.png

随后,BioBootloader 故意将返回值“result”改为“res”,并删除了“subtract_numbers(a, b)”这个函数。

53dc6730dbfc9b11d1a8159334896722.png

毋庸置疑,单独运行这个脚本肯定会报错,当用 Wolverine 会有什么样的结果?

Wolverine 是一个封装器,它可以运行有问题的脚本,捕捉任何错误信息,然后将这些错误发送给 GPT-4,询问它认为代码出了什么问题,并开始去修复程序。

在演示中,GPT-4 正确地识别了这两个错误(尽管其中只有一个直接导致了程序崩溃),但这还不是全部!

Wolverine 实际上是将建议的修改应用到代码中,并重新运行它。

b59f03b35be9e2aac3c852f5fd0de624.png

这一次仍然有一个错误......因为 GPT-4 之前的修改包括一个超出范围的返回语句。

dead2f49dff42c32a5c81e08da0e2cbc.png

紧接着,Wolverine 再次咨询了 GPT-4,创建并格式化了一个修改,应用它,并重新运行修改后的脚本。这一次,脚本成功运行,Wolverine 的工作完成了。

48c52c45593a309feb44f7fac136497f.png

08bfb604eb265c569c840011005883ea.png

未来计划

像 GPT-4 这样的 LLM(大型语言模型)是用自然语言 "编程 "的,而这些指令被称为提示词。金刚狼所做的事情之所以能够成功有很大一部分要归功于精心编写的提示。

不过,「金刚狼」当前也有很强的局限性,譬如它只适用于 Python 语言。设置方法如下:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

将你的 OpenAI API 密钥添加到 -warning!默认情况下使用 GPT-4,可能会多次重复调用 api.openai_key.txt。也需要注意的是,GPT-4 目前仅供 ChatGPT Plus 订阅者使用,并以 API 形式提供给 Beta 测试人员。所以想要尝试这款「金刚狼」程序,也需要拿到 OpenAI 的 GPT-4 的入门钥匙。

BioBootloader 表示,这只是他在几小时内做出的一个快速原型,未来也有计划拓展到 Python 以外的语言,同时欢迎大家为一些拓展做贡献(https://github.com/biobootloader/wolverine),如添加标记以定制使用方法,例如在运行改变的代码前要求用户确认;对 GPT 响应的编辑格式进行进一步的迭代;针对一套有问题的文件的示例,可以在上面测试提示,以确保可靠性和衡量改进;多个文件/代码库:向 GPT 发送堆栈跟踪中出现的所有文件;对大文件的优雅处理等等。

ee87f868c4e4189dd56b65fac26c3b19.png

GPT-4 带来的工具思考与未来

虽然「金刚狼」目前还只是一个原始原型,但是它的理念也引发了很多的思考,倘若未来所有的应用程序都能够修复自己的 Bug,甚至是提前对可能出现的意外错误做好部署,那么无疑真正意义上实现了自动化。

不过,对此也有一些网友表示了担忧:

Steve L:

确实非常酷,但人工智能的末日时钟又提前了一分钟。

Michael:

我总是发现最难修复的 Bug 总是会出现在工作正常的时候。这似乎只会让你的 Bug 从长远来看更难发现,你的代码更难读(因为 Wolverine 为你写的)。

想象一下,如果我有一个函数可以将一个角度最多移动±𝜋 弧度,而我不小心输入了一个超过 𝜋 的度数值。这个脚本可以通过剪切任何高于 𝜋 的值来解决这个问题,这可以解决错误,但不能解决根本问题。

也就是说,一个负责任的开发者应该把它作为一个工具来使用,以便更容易地诊断错误,并把这个建议作为一个指南,而不是仅仅相信它是自动更正。

Robbie:

作为一种实现方式,这是非常聪明的,但这似乎只是一个鼓励不良行为的工具,"哦,一个错误,我把它留给 AI 来解决"。我认为最好是自己理解和调试你的代码,并且使用一种编译语言,这样让这些错误都会在编译时被发现,而不是在运行时随机出现的。

为此,你觉得让 AI 工具实现代码自修复是不是一个好的方向呢?

参考:

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

6d1792701ab34b6c798f3472c6005d60.gif

 
☞淘宝天猫重组换血,原核心高管离职;Google Bard 大更新,数学和逻辑能力有所提升;K8s 1.27 发布|极客头条
☞呼吁暂停 GPT-5 研发的马斯克,转身抢购 1 万个 GPU,为 Twitter 大模型做准备!
☞零基础也能玩转大模型?来昇思大模型平台在线体验

806070d63e4893fd4026f48e863c9640.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15316.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

继「丑闻」之后,再爆 Stability AI 高层大换血!网友:“莫非是人心涣散?”...

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) Stability AI 被爆「丑闻」不足一月,近日「新瓜」又来了! 据彭博社报道,两名高管从 Stability AI 离职,大名指向 —— 研究主管 David Ha…

AIGC行业周刊【2023-0709】【第六期】2023年世界人工智能大会大佬发言汇总

点击加入->【智子纪元-AIGC】技术交流群 一、大咖观点: 0709AI日报:2023年世界人工智能大会大佬发言汇总「5年内,人类程序员没了」,Stability AI老板大胆预测,一众大佬狂怼:大错特错,都懒得…

ChatGPT 给 Linux 工程师带来的革命

作者 | 宋宝华 出品 | CSDN(ID:CSDNnews) 近日,吴军老师写了一篇文章《 ChatGPT 不算新技术革命,带不来什么新机会》,笔者虽然是吴老师的忠实粉丝,吴老师的书几乎都读过,但是此文…

ChatGPT-5即将发布,上千名人士却紧急叫停

ChatGPT4还没有好好体验,比GPT4强大1000倍的ChatGPT5又即将发布!届时将彻底改变人工智能领域,并改变我们现有的世界 【ChatGPT 5简介】 OpenAI计划在2023年12月发布其最新且最强大的人工智能模型——ChatGPT 5。该模型具备人工通用智能的能力…

【回答问题】ChatGPT上线了!请使用MATLAB语言写一个谷歌 LaMDA模型?

首先,需要安装 MATLAB 并将 LaMDA 模型的代码下载到本地。然后,可以使用以下步骤来使用 MATLAB 运行 LaMDA 模型: 将 LaMDA 模型的文件夹路径添加到 MATLAB 的搜索路径中,可以使用以下命令实现: 复制 addpath(genpath(/path/to/LaMDA));创建一个用于存储 LaMDA 模型的变…

chatgpt赋能python:PythonSmop-将Matlab代码转换为Python代码的工具

Python Smop - 将Matlab代码转换为Python代码的工具 Python Smop是一个Python工具,用于将Matlab代码转换为Python代码。这对于想要将现有的Matlab代码转换为Python代码的开发人员来说是一个非常有用的工具。本文将介绍Python Smop的主要特点以及它如何帮助开发人员…

chatgpt赋能python:Python转化为MATLAB:一份综合指南

Python转化为MATLAB:一份综合指南 Python和MATLAB是两个领域广泛使用的编程语言。Python以其易学性、灵活性和功能强大而闻名,而MATLAB则以其数学和科学计算能力而广为人知。有时,你可能需要将Python代码转换为MATLAB,以便在MATL…

matlab+ChatGPT==无敌了,国内人人可使用【详细配置教程】

文章目录 基本配置代理配置视频教程 基本配置 查看下自己toolbox路径: toolboxdir(signal)如下: 源码文件matgpt(也可以去官网下载) 链接:https://pan.baidu.com/s/1_FTk4lvlQ2qo86OQSw044Q?pwdi9db 提取码&…

文末送书 | 系统讲解ChatGPT核心原理,教你构建高质量的提示指令

陈峥 著 电子工业出版社-博文视点 2023-06-01 ISBN: 9787121455865 定价: 100.00 元 新书推荐 🌟今日福利 |关于本书| 本书以独特的角度,深入浅出地介绍 ChatGPT、提示工程及自然语言处理等相关技术。在 内容上,本书科…

人工智能实训专场会顺利开展

随着人工智能产业应用研究院和成都东软学院的校企合作建立,近期学院组织计算机、软件技术等相关专业100余名师生参加研究院组织召开的人工智能实训专场会,学习和实操人工智能数据标注技能。 实训目标 人工智能是研究、开发用于模拟、延伸和扩展人的智能…

玩转ChatGPT——彻底疯狂(1)

玩转ChatGPT——彻底疯狂(1) 1. 人类语言和机器语言的“桥梁”1.1 代码编译器的粗浅理解1.2 ChatGPT的粗浅理解1.3 prompt工程1.4 类比推理1.5 我的思考 1. 人类语言和机器语言的“桥梁” 先聊点劲爆的,我自我认为ChatGPT或者其他优秀的GLM&…

AI绘画(以后也叫AI视频)

大概半年前,AI 绘画工具 Disco Diffusion 从 Text-to-Image 开发社区和设计行业,火到了普通用户的视野中。即便它界面简陋,满屏英文和代码,也“劝退”不了人们。因为对那些没有任何美术功底的他们来说,往输入框写一小段…

笔记本上就能跑的 LLM 好使吗?GPT4ALL 体验

看到这个标题,你可能会觉得是噱头。谁不知道 ChatGPT 模型有 1750 亿以上的参数,别说是在笔记本电脑上跑,就是使用高性能 GPU 的台式机,也无法带得动啊。老老实实调用 API 不好吗? 其实,LLM(大…

【ChatGPT工具篇-1】ChatGPT + MindShow 分分钟搞定PPT制作

AI 能生万物吗?  制作一份“通用性”的PPT需要几步? 三步 借助ChatGPT和MindShow,分分钟完成操作,就能制作出来完胜大部分人的PPT文件; 解锁更多AIGC(ChatGPT、AI绘…

一本书读懂 AIGC 与 ChatGPT 的前世今生(文末赠书)

以下内容来自公众号逆锋起笔,关注每日干货及时送达 关注我们丨文末赠书 最近一位博主完全用ChatGPT提供的代码成功从零复刻了《Flappy Bird》这款游戏,吸引近500万人次围观。 ▲ (图源:candlesan) 只要告诉ChatGPT自己…

百度,这么弱,凭什么敢站上去?

文 / 谷雨(微信公众号:王不留) 文心一言在3月16号下午2点正式发布了,网络上自然地要把文心一言与ChatGPT进行一番比较,然后赠送一顿嘲讽,还免不了扔鸡蛋,泼冷水。 我认为咱们降低目标值&#xf…

使用ChatGPT解决生产环境问题记录

最近生产环境要升级log4j的jar包,于是我下载好了jar包后在测试环境验证了一番,项目启动和服务没有问题。 但是放到生产环境之后,管理台和服务都报错,报错信息如下: 24-May-2023 17:24:31.856 SEVERE [main] org.apac…