那些人工智能無(wú)法取代的編程工作
譯文Datasette 創(chuàng)始人西蒙·威利森宣稱說(shuō):"現(xiàn)在是學(xué)習(xí)編程的最佳時(shí)機(jī)。"這并不是因?yàn)槿斯ぶ悄軙?huì)幫你完成編碼工作。事實(shí)上,情況恰恰相反。威利森認(rèn)為,"大型語(yǔ)言模型拉平了學(xué)習(xí)曲線",讓年輕的開發(fā)者更容易上手。但我們絕對(duì)不能也絕不能忘記如何編碼。相反,我們可以使用生成式人工智能來(lái)增強(qiáng)開發(fā)人員的經(jīng)驗(yàn),無(wú)論他們的經(jīng)驗(yàn)水平如何。
頌揚(yáng)”學(xué)習(xí)意志“
我喜歡讀威利森關(guān)于生成式人工智能的想法。他是這方面最有思想的開發(fā)者之一。另一位偉大的讀者是 O'Reilly Media 的 Mike Loukides。關(guān)于生成式人工智能和編碼、 Loukides 提醒我們寫出真正好的提示比想象中更難。他認(rèn)為:"要想成為真正優(yōu)秀的提示者,你需要發(fā)展提示內(nèi)容方面的專業(yè)知識(shí)"。
換句話說(shuō),你需要成為一名優(yōu)秀的程序員。
"如果你屈服于誘惑,認(rèn)為人工智能是人類不可能獲得的專業(yè)知識(shí)和智慧的寶庫(kù),那么你將永遠(yuǎn)無(wú)法有效地使用人工智能,"Loukides 建議道。要想有效地使用 AWS CodeWhisperer 或 Google Codey 等編碼工具,你真的需要指導(dǎo)它們實(shí)現(xiàn)你所期望的輸出。要一步步告訴人工智能如何解決你的開發(fā)問(wèn)題,你首先需要深入了解問(wèn)題,以及如何促使人工智能做出反應(yīng)。
開發(fā)人員還需要能夠評(píng)估人工智能何時(shí)出錯(cuò)。同樣,這也需要一定水平的專業(yè)知識(shí)。是的,我們希望編碼助手能幫助我們?cè)谒袚?dān)的項(xiàng)目中變得更加雄心勃勃,但是,它們根本無(wú)法讓開發(fā)人員不再需要琢磨代碼。我們也不應(yīng)該希望他們這樣做,這又回到了威利森的第一點(diǎn)。
利用人工智能學(xué)習(xí)編碼
對(duì)于許多新開發(fā)人員或剛剛接觸特定語(yǔ)言、框架、數(shù)據(jù)庫(kù)等的資深開發(fā)人員來(lái)說(shuō),學(xué)習(xí)曲線可能非常陡峭。例如,“他們可能會(huì)漏掉一個(gè)分號(hào),從而得到一個(gè)奇怪的錯(cuò)誤信息,他們需要花兩個(gè)小時(shí)才能重新找到正確的方法,”Willison說(shuō)。毫不奇怪,這可能會(huì)導(dǎo)致他們放棄,認(rèn)為自己不夠聰明,學(xué)不會(huì)編程。
這就是人工智能助手可以發(fā)揮作用的地方。威利森說(shuō):“你沒(méi)必要讓計(jì)算機(jī)科學(xué)學(xué)位的人來(lái)用計(jì)算機(jī)做一些你需要完成的繁瑣事情。ChatGPT和其他由LLM支持的助手可以自動(dòng)完成這些乏味的工作。”GitHub工程師Jaana Dogan強(qiáng)調(diào)說(shuō)人們太專注于代碼生成,完全忽視了LLM在代碼分析等方面的作用。我們不需要人工智能來(lái)完成所有工作。根據(jù)威利森的論點(diǎn),我們只需要它來(lái)自動(dòng)完成離散、枯燥的任務(wù),這些任務(wù)不會(huì)影響應(yīng)用程序的成敗,但如果開發(fā)人員被迫學(xué)習(xí)并完成編程的所有方面,而編碼助手卻可以解決這些乏味的垃圾工作,那么開發(fā)人員的信心就會(huì)受到打擊。
與以往一樣,開始使用生成式人工智能和軟件開發(fā)的方法就是入門!從小處著手,自動(dòng)完成那些你能理解但不一定想反復(fù)編寫的簡(jiǎn)單任務(wù)。由于節(jié)省了時(shí)間,您就能專注于學(xué)習(xí)如何解決代碼中更棘手的難題,這樣隨著專業(yè)知識(shí)的增長(zhǎng),您也能更好地實(shí)現(xiàn)自動(dòng)化。
原文作者:Matt Asay
原文標(biāo)題:What AI won’t replace in your programming