看不懂代码不要紧,GitHub Copilot 新功能:AI 做翻译,说人话的那种

2022/1/30 12:33:31 来源:量子位 作者:金磊 责编:长河

GitHub Copilot,最近又出了个新功能。这一次,它不再是帮你写代码了,而是充当一个“翻译官”:用“人话”告诉你,这段代码到底写了啥

瞧,只需要选中一段代码,然后点一下旁边的“Ask Copilot”,就会快速得到代码的“人话版”解释:

GitHub Copilot新功能

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

if len(l)=0:
    return Non
else:
    max_int=l[0]
    for i in l
        if i>max_int
            max_int=i
    return 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 也比较火。

GitHub Copilot新功能

有位贴主上传了他用 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

相关文章

关键词:GitHub代码

软媒旗下网站: IT之家 辣品 - 超值导购,优惠券 最会买 - 返利返现优惠券 iPhone之家 Win7之家 Win10之家 Win11之家

软媒旗下软件: 魔方 云日历 酷点桌面 Win7优化大师 Win10优化大师 软媒手机APP应用