Adrenaline:一款可以自动修复并解释问题代码的Debug神器

新知榜官方账号

2023-09-25 17:38:39

Adrenaline:一款可以自动修复并解释问题代码的Debug神器

在编写程序时,无论是对于初学者还是对于专业开发人员,都会花费大量时间来调试或修复源代码错误,也就是Debug。这个过程繁琐复杂,包括Bug复现和Bug定位等环节。如果有了自动化的Debug程序,就可以显著提高编程实践的效率。

近日,有开发者打造了一款可以在几秒钟内修复并解释问题代码的Debug神器——Adrenaline。该工具由OpenAICodex提供支持,Codex是OpenAI与GitHub联合发布的AI代码补全工具GitHubCopilot背后的技术支撑。鉴于Codex的补全功能是基于GPT-3的,所以Adrenaline也多了一项特色Debug功能:解释Bug。目前,Adrenaline已经开源。使用方法请注意,使用Adrenaline的前提是,用户必须从OpenAI控制台提供自己的OpenAIAPI密钥。要在本地运行,需要克隆存储库并运行以下命令:$npminstall$npmrunstart-local

目前,Adrenaline支持Python、JavaScript、Java、Ruby、PHP、C++、C、Shell多种编程语言。调试过程如下:Adrenaline将代码和错误信息发送到OpenAI编辑与插入API(code-davinci-edit-001),该API会发回可能修复错误的代码编辑。建议的修复会像diff一样在线显示,带有接受、拒绝或修改每个代码更改的选项。

Adrenaline不仅会为错误提出修复建议,还会使用GPT-3(text-davinci-003)以通俗易懂的英语解释错误:该错误消息意味着无法计算Granger因果检验统计量,因为VAR(向量自回归)模型对数据有完美的拟合。这意味着数据的可预测性太强,VAR模型无法找到变量之间的任何有意义的关系。要解决此问题,您可以尝试使用不同的模型或调整VAR模型的参数。如果代码没有引发异常,但可能仍然存在错误,Adrenaline还可以使用OpenAICodex扫描代码以查找问题并提出修复建议。

现在,Adrenaline只是一个简单的Demo,仅仅展示了AI驱动Debug的可能性。但在作者的构想中,未来的Adrenaline将会有更丰富的功能。在项目主页,作者也介绍了有关如何改进Adrenaline的一些想法:

  1. 客户端智能(例如静态代码分析)可用于为GPT-3构建更好的prompt。
  2. Adrenaline不仅应该解释错误,还应该提供一个ChatGPT风格的助手来回答有关错误的问题。
  3. 创建一个执行此操作的VSCode扩展,将消除将代码和错误消息复制粘贴到站点中的问题。

当然,ChatGPT未必是完全正确的。但是,Adrenaline至少可以给你一个起点。

试用地址:https://useadrenaline.com/
参考链接:https://www.reddit.com/r/MachineLearning/comments/106q6m9/p_i_built_adrenaline_a_debugger_that_fixes_errors/

本页网址:https://www.xinzhibang.net/article_detail-13662.html

寻求报道,请 点击这里 微信扫码咨询

关键词

Adrenaline Debug AI OpenAICodex GitHubCopilot GPT-3

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯