当前位置: 首页 > 科技观察

粘贴代码以自动查找错误,这个debug神器几秒钟就会自动修复,还有GPT-3在线解决方法

时间:2023-03-20 16:37:41 科技观察

写程序的时候,不管是初学者还是专业开发者,Debug或者修复源码都会花很多时间代码错误,也称为调试。这个过程繁琐复杂,包括bug复现、bug定位等步骤。如果有一个自动化的Debug程序,编程实践的效率可以明显提高。最近有开发者打造了一款可以秒级修复和解释有问题代码的Debug神器——Adrenaline。试用地址:https://useadrenaline.com/本工具由OpenAICodex提供支持,Codex是OpenAI和GitHub联合发布的AI代码补全工具GitHubCopilot背后的技术支持。由于Codex的补全功能是基于GPT-3的,所以Adrenaline还有一个特殊的Debug功能:解释bug。目前,Adrenaline是开源的,GitHub仓库地址为:https://github.com/shobrook/adrenaline使用方法请注意,使用Adrenaline的前提是用户必须从OpenAI控制台提供自己的OpenAIAPI密钥.这是为了防止API滥用。要在本地运行,需要克隆存储库并运行以下命令:$npminstall$npmrunstart-local目前,Adrenaline支持Python、JavaScript、Java、Ruby、PHP、C++、C、Shell多种编程语言。调试过程如下:Adrenaline将代码和错误消息发送到OpenAI编辑和插入API(code-davinci-edit-001),后者发回可能修复错误的代码编辑。建议的修复像diff一样在线显示,带有接受、拒绝或修改每个代码更改的选项。Adrenaline不仅建议修复错误,而且还使用GPT-3(text-davinci-003)以简单的英语对其进行解释:错误消息表示无法计算Granger因果检验统计量,因为VAR(向量自回归)模型具有与数据完美契合。这意味着对于VAR模型来说,数据的可预测性太强,无法找到变量之间任何有意义的关系。要解决此问题,您可以尝试不同的模型或调整VAR模型的参数。如果代码没有抛出异常,但可能仍然存在错误,Adrenaline还可以使用OpenAICodex扫描代码中的问题并提出修复建议。作者:希望介绍ChatGPT助手现在,Adrenaline只是一个简单的demo,只是展示AI驱动Debug的可能性。但在笔者的设想中,未来的Adrenaline会有更丰富的功能。在项目主页上,作者还介绍了一些关于如何改进Adrenaline的想法:1.可以使用客户端智能(例如静态代码分析)为GPT-3构建更好的提示。2.Adrenaline不仅要解释错误,还要提供一个ChatGPT式的助手来回答有关错误的问题。3.创建一个执行此操作的VSCode扩展,将消除将代码和错误消息复制粘贴到您的站点中的问题。当然,ChatGPT可能并不完全正确。有人问:如何处理来自ChatGPT的错误?“肾上腺素不会总是正确地纠正你的错误,但它至少可以给你一个起点,”作者说。