当前位置: 首页 > 科技观察

看不懂代码?AI会帮你翻译,那种会说人类语言的

时间:2023-03-19 22:48:49 科技观察

GitHubCopilot最近发布了一个新功能。这一次,它不再是帮你写代码,而是充当“翻译者”的角色:用“人话”告诉你这段代码写了什么。看,你只需要选择一段代码,然后点击旁边的“AskCopilot”,你就会很快得到代码的“人版”解释:示例中的代码片段是这样的:iflen(l)=0:returnNoneelse:max_int=l[0]foriinl:ifi>max_intmax_int=ireturnmax_int在副驾驶“翻译”这个之后,输出是:定义一个函数max_int(),它将一个列表作为输入。设置包含列表中第一个元素的变量max_int=l[0]。设置一个for循环,遍历列表中的每个元素。如果元素大于max_int,则让max_int等于I。返回max_int。这是GitHubCopilot的最新功能-ExplainCode。Copilot过去是根据人类评论生成代码,但现在它学会了反向输出。网友们的反应也是意料之中:不过在“新奇”之后,这件事也引发了不小的讨论。AI标注代码有必要吗?不仅是Copilot,“AI评论代码”最近也在Reddit上火了一把。一位海报上传了一个演示,他在其中使用AI技术来注释代码。与Copilot的ExplainCode不同,这款AI不会非常详细地描述每一行代码的运行过程。相反,笼统地谈论“这段代码做了什么”。以下面的代码片段为例:AI“解读”后,会告诉你:这段代码是用来从GitHub的Repo上采集数据的。将返回一个数据矩阵。再拿下面的代码片段:AI给出的注释是:函数运行梯度下降算法。然后会依次解释函数中的变量。看似效果不错,但还是引起了网友们的热议。“乐观”的网友认为,协助写注释和写测试比写代码更有帮助,可能出错的情况也更少。但是有人质疑这种AI的能力:如果我的函数写的特别乱,变量名也乱,那它还能用吗?也有人认为这样的AI“无用”:更形象的比喻,这种AI的作用可能是一个“复读机”……那么对于“AI打字写笔记”这件事,你觉得呢?它是有益的?