这是「进击的Coder」的第 786 篇技术分享

来源:机器之心

阅读本文大概需要 5 分钟。

在编写程序时,无论是对于初学者还是对于专业开发人员,都会花费大量时间来调试或修复源代码错误,也就是 Debug。

这个过程繁琐复杂,包括 Bug 复现和 Bug 定位等环节。如果有了自动化的 Debug 程序,就可以显著提高编程实践的效率。

近日,有开发者打造了一款可以在几秒钟内修复并解释问题代码的 Debug 神器 ——Adrenaline

试用地址:https://useadrenaline.com/

该工具由 OpenAI Codex 提供支持,Codex 是 OpenAI 与 GitHub 联合发布的 AI 代码补全工具 GitHub Copilot 背后的技术支撑。

鉴于 Codex 的补全功能是基于 GPT-3 的,所以 Adrenaline 也多了一项特色 Debug 功能:解释 Bug。

目前,Adrenaline 已经开源。

GitHub 地址:https://github.com/shobrook/adrenaline

使用方法

请注意,使用 Adrenaline 的前提是,用户必须从 OpenAI 控制台提供自己的 OpenAI API 密钥。这是为了防止 API 滥用。

要在本地运行,需要克隆存储库并运行以下命令:

npm install
npm run start-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 还可以使用 OpenAI Codex 扫描代码以查找问题并提出修复建议。

作者:希望能引入 ChatGPT 助手

现在,Adrenaline 只是一个简单的 Demo,仅仅展示了 AI 驱动 Debug 的可能性。但在作者的构想中,未来的 Adrenaline 将会有更丰富的功能。

在项目主页,作者也介绍了有关如何改进 Adrenaline 的一些想法:

  1. 客户端智能(例如静态代码分析)可用于为 GPT-3 构建更好的 prompt。

  2. Adrenaline 不仅应该解释错误,还应该提供一个 ChatGPT 风格的助手来回答有关错误的问题。

  3. 创建一个执行此操作的 VSCode 扩展,将消除将代码和错误消息复制粘贴到站点中的问题。

当然,ChatGPT 未必是完全正确的。有人问:如何处理来自 ChatGPT 的错误?

作者表示:「Adrenaline 不会总是正确地纠正你的错误,但它至少可以给你一个起点。」

参考链接:https://www.reddit.com/r/MachineLearning/comments/106q6m9/p_i_built_adrenaline_a_debugger_that_fixes_errors/

文中所提到的所有开源项目与工具,已收录至 GitHubDaily 的开源项目列表中。

该列表包含了 GitHub 上诸多高质量、有趣实用的开源技术教程、开发者工具、编程网站等内容。

从 2015 年至今,累积分享 3500+ 个开源项目,有需要的,可访问下方 GitHub 地址或点击文末「阅读原文」自取:

GitHub:https://github.com/GitHubDaily/GitHubDaily

好了,今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!

End

崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,‍同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!

内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍

扫码购买

好文和朋友一起看~

一个令人赞不绝口的代码 Debug 神器!相关推荐

  1. 一个令人赞不绝口的代码 Debug 神器

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

  2. 【效率】一个令人赞不绝口的代码 Debug 神器!

    来源:机器之心 在编写程序时,无论是对于初学者还是对于专业开发人员,都会花费大量时间来调试或修复源代码错误,也就是 Debug. 这个过程繁琐复杂,包括 Bug 复现和 Bug 定位等环节.如果有了自 ...

  3. 一个令人赞不绝口的抓包神器!

    这是「进击的Coder」的第 613 篇技术分享 作者:小 G 来源:GitCube " 阅读本文大概需要 4 分钟. " 网络抓包,应该是大多数开发者必须掌握的技能之一.无论是你 ...

  4. 牛逼的python代码_牛逼啊!一个随时随地写Python代码的神器

    现在学Python的人越来越多,很多小伙伴都非常有激情,利用碎片时间随时随地学习Python, 大家知道Python是一门编程语言,但是学语言光看不练是没有用的.最好能编程并运行,有没有什么好的神器可 ...

  5. python数据分析神器_牛逼啊!一个随时随地写Python代码的神器

    作者: Leoxin 公众号:菜鸟学Python 现在学Python的人越来越多,很多小伙伴都非常有激情.利用碎片时间随时随地学习Python, 大家知道Python是一门编程语言,但是学语言光看不练 ...

  6. java打字游戏代码_牛逼啊!一个随时随地写Python代码的神器

    现在学Python的人越来越多,很多小伙伴都非常有激情.利用碎片时间随时随地学习Python, 大家知道Python是一门编程语言,但是学语言光看不练是没有用的.最好能编程并运行,有没有什么好的神器可 ...

  7. 在手机上写python_牛逼啊!一个随时随地写Python代码的神器

    2.运行非常方便 比如我们写一个简单的Python程序, 写一个推导列表. 这神器竟然还有代码提示功能,怕我们打字太累,直接会获取一些关键字,比如p打头的关键字,会给出一堆,这样可以省去打字的麻烦.而 ...

  8. Pythonista——一个随时随地写Python代码的神器

    现在学 Python 的人越来越多,很多小伙伴都非常有激情.利用碎片时间随时随地学习 Python , 大家知道 Python 是一门编程语言,但是学语言光看不练是没有用的.最好能编程并运行,有没有什 ...

  9. 一个随时随地写Python代码的神器 Pythonista

    作者 | Leoxin 来源 | 菜鸟学Python 现在学 Python 的人越来越多,很多小伙伴都非常有激情.利用碎片时间随时随地学习 Python , 大家知道 Python 是一门编程语言,但 ...

最新文章

  1. 连接控制台_智能消防水炮视频系统连接方法
  2. celery delay 没反应
  3. Git提交branch到remote
  4. CFS Scheduler(CFS调度器)
  5. 在线式极限学习机OS-ELM
  6. win7获取计算机管理员权限,Win7获取管理员权限的方法
  7. MATLAB黄金分割法标注最优点,matlab黄金分割法课程论文--.doc
  8. 微信接入验证 php,php版微信公共平台开发者认证实例
  9. 利用CSS3实现图片3D旋转
  10. Windows挂载Linux网络共享文件夹
  11. 解密seata全局锁(一)
  12. 花指令 用c语言,最新一批花指令
  13. 2021年9月Github优秀项目推荐
  14. 用计算机收传真,怎么在电脑上发传真 在电脑上接收传真方法介绍【详细步骤】...
  15. 新手学习单片机用什么软件模拟
  16. http虚拟主机配置
  17. 【软件分析】软件分析、设计与建模迭代式详解
  18. 如何用强化学习优化广告投放中的A/B Test
  19. 字体转换接口实现简体、繁体、火星文之间的转换
  20. 遗传算法求函数的最值问题

热门文章

  1. Fluorine实现Flex与.NET通信出错
  2. 解决 make[1]: Warning: File ‘xxx.o‘ has modification time xxx s in the future 问题
  3. NLP自然语言处理实战(三):词频背后的语义--4.隐性狄利克雷分布(LDiA)
  4. 将Hex转换为Coe文件——Matlab
  5. 《电路基础》基尔霍夫定律
  6. 修谱为什么选择数字家谱?80岁老人:这四个优势太给力
  7. shell 字符串和变量
  8. 将第二大脑清单化的9种笔记清单类型
  9. [2011 年终项目总结] 第一章、团队建设
  10. linux下系统调用接口,LINUX系统调用