1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

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

本帖由 漂亮的石头2022-01-30 发布。版面名称:新闻聚焦

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    488,389
    赞:
    48
    GitHub Copilot最近又出了个新功能。这一次,它不再是帮你写代码了,而是充当一个“翻译官”:用“人话”告诉你,这段代码到底写了啥。瞧,只需要选中一段代码,然后点一下旁边的“Ask Copilot”,就会快速得到代码的“人话版”解释:

    [​IMG]

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

    if len(l)=0: return Nonelse: 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 是基于人类的注释生成代码,现在好了,它也学会了反向输出。

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

    [​IMG]

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

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

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

    [​IMG]

    有位贴主上传了他用 AI 技术,给代码做注释的 demo。不同于 Copilot 的 Explain Code,这个 AI 不会非常详尽地去描述每行代码运行的过程。而是概括性地去讲“这段代码是干嘛的”。

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

    [​IMG]

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

    这段代码是用来从 GitHub 的 Repo 中收集数据。会返回一个数据的矩阵。

    再如下面这个代码片段:

    [​IMG]

    AI 给出的注释是:

    函数运行的是梯度下降算法。

    而后它还会对函数中的变量依次做解释。看似不错的效果,但依旧还是引来了网友们激烈的讨论。

    “乐观派”网友认为:

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

    [​IMG]

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

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

    [​IMG]

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

    [​IMG]

    更形象一点的比喻,这种 AI 起到的作用,可能就是“复读机”……

    [​IMG]

    那么对于“AI 给打码写注释”这件事,你觉得是否有用呢?
     
正在加载...