本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
GitHub Copilot,最近又出了個(gè)新功能。
這一次,它不再是幫你寫(xiě)代碼了,而是充當(dāng)一個(gè)“翻譯官”:
用“人話”告訴你,這段代碼到底寫(xiě)了啥。
瞧,只需要選中一段代碼,然后點(diǎn)一下旁邊的“Ask Copilot”,就會(huì)快速得到代碼的“人話版”解釋?zhuān)?span style="display:none">UhN28資訊網(wǎng)——每日最新資訊28at.com
示例中的代碼片段是這樣的:
if len(l)=0:
return None
else:
max_int=l[0]
for i in l:
if i>max_int
max_int=i
return max_int
Copilot對(duì)此進(jìn)行“翻譯”后,輸出的內(nèi)容是:
定義一個(gè)函數(shù)max_int(),它將一個(gè)列表作為輸入。設(shè)置一個(gè)變量max_int=l[0],它包含列表中的第一個(gè)元素。設(shè)置一個(gè)for循環(huán),迭代列表中的每個(gè)元素。如果元素大于max_int,便讓max_int等于I。返回max_int。
這便是GitHub Copilot的最新功能——Explain Code。
之前Copilot是基于人類(lèi)的注釋生成代碼,現(xiàn)在好了,它也學(xué)會(huì)了反向輸出。
網(wǎng)友們的反應(yīng)也是可想而知了:
但在“新奇”之后,這件事也引發(fā)了不小的討論。
AI給代碼做注釋?zhuān)斜匾獑幔?span style="display:none">UhN28資訊網(wǎng)——每日最新資訊28at.com
不僅是Copilot,“AI給代碼做注釋”這事最近在Reddit也比較火。
有位貼主上傳了他用AI技術(shù),給代碼做注釋的demo。
不同于Copilot的Explain Code,這個(gè)AI不會(huì)非常詳盡地去描述每行代碼運(yùn)行的過(guò)程。
而是概括性地去講“這段代碼是干嘛的”。
以下面這個(gè)代碼片段為例:
在AI“解讀”過(guò)后,它就會(huì)告訴你:
這段代碼是用來(lái)從GitHub的Repo中收集數(shù)據(jù)。
會(huì)返回一個(gè)數(shù)據(jù)的矩陣。
再如下面這個(gè)代碼片段:
AI給出的注釋是:
函數(shù)運(yùn)行的是梯度下降算法。
而后它還會(huì)對(duì)函數(shù)中的變量依次做解釋。
看似不錯(cuò)的效果,但依舊還是引來(lái)了網(wǎng)友們激烈的討論。
“樂(lè)觀派”網(wǎng)友認(rèn)為:
輔助寫(xiě)注釋和寫(xiě)測(cè)試比寫(xiě)代碼的幫助大更多,而犯錯(cuò)可能更少。
但有人質(zhì)疑這種AI的能力:
如果我函數(shù)寫(xiě)的特別亂、變量這名字亂糟糟的,它還能好使嗎?
也有人認(rèn)為,諸如此類(lèi)的AI“沒(méi)有什么用處”:
更形象一點(diǎn)的比喻,這種AI起到的作用,可能就是“復(fù)讀機(jī)”……
那么對(duì)于“AI給打碼寫(xiě)注釋”這件事,你覺(jué)得是否有用呢?
本文鏈接:http://www.tebozhan.com/showinfo-119-2132-0.html看不懂代碼?AI給你做翻譯,說(shuō)人話的那種
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com