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

金磊发自凹非寺
量子位|公众号QbitAI
GitHubCopilot , 最近又出了个新功能 。
这一次 , 它不再是帮你写代码了 , 而是充当一个“翻译官”:
用“人话”告诉你 , 这段代码到底写了啥 。
瞧 , 只需要选中一段代码 , 然后点一下旁边的“AskCopilot” , 就会快速得到代码的“人话版”解释:
看不懂代码?AI给你做翻译,说人话的那种
文章图片
示例中的代码片段是这样的:
iflen(l)=0:returnNoneelse:max_int=l[0]foriinl:ifi>max_intmax_int=ireturnmax_intCopilot对此进行“翻译”后 , 输出的内容是:
定义一个函数max_int() , 它将一个列表作为输入 。 设置一个变量max_int=l[0] , 它包含列表中的第一个元素 。 设置一个for循环 , 迭代列表中的每个元素 。 如果元素大于max_int , 便让max_int等于I 。 返回max_int 。这便是GitHubCopilot的最新功能——ExplAInCode 。
之前Copilot是基于人类的注释生成代码 , 现在好了 , 它也学会了反向输出 。
网友们的反应也是可想而知了:
看不懂代码?AI给你做翻译,说人话的那种
文章图片
但在“新奇”之后 , 这件事也引发了不小的讨论 。
AI给代码做注释 , 有必要吗?
不仅是Copilot , “AI给代码做注释”这事最近在Reddit也比较火 。
看不懂代码?AI给你做翻译,说人话的那种
文章图片
有位贴主上传了他用AI技术 , 给代码做注释的demo 。
不同于Copilot的ExplainCode , 这个AI不会非常详尽地去描述每行代码运行的过程 。
而是概括性地去讲“这段代码是干嘛的” 。
以下面这个代码片段为例:
看不懂代码?AI给你做翻译,说人话的那种
文章图片
在AI“解读”过后 , 它就会告诉你:
这段代码是用来从GitHub的Repo中收集数据 。
会返回一个数据的矩阵 。
再如下面这个代码片段:
看不懂代码?AI给你做翻译,说人话的那种
文章图片
AI给出的注释是:
函数运行的是梯度下降算法 。
而后它还会对函数中的变量依次做解释 。
看似不错的效果 , 但依旧还是引来了网友们激烈的讨论 。
“乐观派”网友认为:
辅助写注释和写测试比写代码的帮助大更多 , 而犯错可能更少 。
看不懂代码?AI给你做翻译,说人话的那种
文章图片
但有人质疑这种AI的能力:
如果我函数写的特别乱、变量这名字乱糟糟的 , 它还能好使吗?
看不懂代码?AI给你做翻译,说人话的那种
文章图片
也有人认为 , 诸如此类的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·头条号签约
看不懂代码?AI给你做翻译,说人话的那种】关注我们 , 第一时间获知前沿科技动态