量子位 | "大众号 QbitAI

GitHub Copilot,最近又出了个新功能。

这一次,它不再是帮你写代码了,而是充当一个“翻译官”:

用“人话”见告你,这段代码到底写了啥。

看不懂代码AI给你做翻译说人话的那种

瞧,只须要选中一段代码,然后点一下阁下的“Ask Copilot”,就会快速得到代码的“人话版”阐明:

示例中的代码片段是这样的:

if len(l)=0:return Noneelse:max_int=l[0]for i in l:if i>max_intmax_int=ireturn max_int

Copilot对此进行“翻译”后,输出的内容是:

定义一个函数max_int(),它将一个列表作为输入。
设置一个变量max_int=l[0],它包含列表中的第一个元素。
设置一个for循环,迭代列表中的每个元素。
如果元素大于max_int,便让max_int即是I。
返回max_int。

这便是GitHub Copilot的最新功能——Explain Code。

之前Copilot是基于人类的注释天生代码,现在好了,它也学会了反向输出。

网友们的反应也是可想而知了:

但在“新奇”之后,这件事也引发了不小的谈论。

AI给代码做注释,有必要吗?

不仅是Copilot,“AI给代码做注释”这事最近在Reddit也比较火。

有位贴主上传了他用AI技能,给代码做注释的demo。

不同于Copilot的Explain Code,这个AI不会非常详尽地去描述每行代码运行的过程。

而是概括性地去讲“这段代码是干嘛的”。

以下面这个代码片段为例:

在AI“解读”过后,它就会见告你:

这段代码是用来从GitHub的Repo中网络数据。

会返回一个数据的矩阵。

再如下面这个代码片段:

AI给出的注释是:

函数运行的是梯度低落算法。

而后它还会对函数中的变量依次做阐明。

看似不错的效果,但依旧还是引来了网友们激烈的谈论。

“乐不雅观派”网友认为:

赞助写注释和写测试比写代码的帮助大更多,而犯错可能更少。

但有人质疑这种AI的能力:

如果我函数写的特殊乱、变量这名字乱糟糟的,它还能好使吗?

也有人认为,诸如此类的AI“没有什么用途”:

更形象一点的比喻,这种AI起到的浸染,可能便是“复读机”……

那么对付“AI给打码写注释”这件事,你以为是否有用呢?

参考链接:

[1]https://twitter.com/ow/status/1466149473701273602[2]https://www.reddit.com/r/MachineLearning/comments/sab6tk/p_documentation_generated_using_ai/[3]https://weibo.com/1402400261/LcqZsETbR?filter=hot&root_comment_id=0&type=comment

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一韶光获知前沿科技动态