自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員「求生寶典」!AI大發(fā)展下的程序員求生指南,干貨滿滿

人工智能 新聞
Priyan Vaithilingam是哈佛大學(xué)工程與應(yīng)用科學(xué)學(xué)院的一名博士生,他主要研究人機交互和編程語言的交叉領(lǐng)域。

前幾天Stability AI的CEO剛剛放下豪言,說AI在5年內(nèi)將會徹底取代人類程序員。

今天「求生寶典」就來了!

國外網(wǎng)友梳理總結(jié)了程序員如何跑贏生成式AI的一些技巧,包教包會,拿來就用!

趕快學(xué)起來!拒絕AI取代,從我做起。

基礎(chǔ)知識學(xué)習(xí)和實踐兩手抓

雖說有無數(shù)基于AI的編碼助手可以幫助程序員們生成代碼,但編程的基礎(chǔ)仍然存在——閱讀和推理自己和他人的代碼,以及理解編寫的代碼如何適應(yīng)更大的系統(tǒng)。

這些能力亙古不變,是編程的地基。

Priyan Vaithilingam是哈佛大學(xué)工程與應(yīng)用科學(xué)學(xué)院的一名博士生,他主要研究人機交互和編程語言的交叉領(lǐng)域。

他表示,「我相信AI可以顯著提高軟件開發(fā)人員的生產(chǎn)力,但軟件工程不僅僅是生成代碼——從用戶需求到調(diào)試、測試等等,都是他們的工作?!?/span>

實際上,任何技能落實到最后都是四個字:解決問題。

而如何找到問題所在(這個問題并不是某個具體的問題,而是抽象的需求),如何找到最佳的解決方案,仍然是人類程序員的核心競爭力。

Python軟件基金會研究員、軟件公司Explosion聯(lián)合創(chuàng)始人兼CEO Ines Montani表示,解決問題的許多技能比實際的語言或工具更重要。

「程序員們應(yīng)該專注于AI和自然語言處理的開發(fā)工具,但不要陷入將自己與AI進行比較的陷阱,作為開發(fā)人員,我們的工作并不僅僅是寫代碼這么簡單?!?/span>

此外,有效率的軟件工程實踐比以往會更加有價值。

這些實踐包括規(guī)劃系統(tǒng)設(shè)計和軟件架構(gòu),這些實踐可以給基于AI的工具提供良好的環(huán)境,更有效地預(yù)測接下來需要完成那些代碼。

「人類程序員必須弄清楚一段代碼的結(jié)構(gòu)、組織代碼的方式,以及滿足不同的要求。這些才是軟件工程的核心,而這并不會很快被AI取代?!?/span>

找到符合需求的工具

第二,對于人類程序員來說,找到適合自己的AI編程工具非常重要。

每個工具都有自己的交互方式,并且可以通過不同的方式將每個工具合并到的程序員的開發(fā)工作流程中,無論是自動創(chuàng)建單元測試、生成測試數(shù)據(jù)還是編寫文檔,都是如此。

例如,GitHub Copilot和其他AI編碼助手可以增強編程能力,在開發(fā)者寫程序的時候提供建議。

而ChatGPT和Google的Bard更像是對話式的AI程序員,可用于回答有關(guān) API(應(yīng)用程序編程接口)的問題或生成代碼片段。

而想要找到適合自己的工具,關(guān)鍵就在于實踐。

對于開發(fā)者來說,應(yīng)該廣泛試用AI工具,體會不同工具的工作原理,評估輸出的質(zhì)量,同時對其它工具保持開放的態(tài)度。

而且,快速適應(yīng)新出現(xiàn)的AI編程工具的能力同樣非常重要。

清晰準(zhǔn)確的對話是關(guān)鍵

在用AI工具輔助編程的時候,開發(fā)人員應(yīng)該詳細、清晰、嚴(yán)謹?shù)剌斎胄枨?,把這個不斷調(diào)整輸出內(nèi)容的過程視為一種迭代。

專家建議,編寫注釋會非常有用。

而對于對話式AI程序員來說,程序員需要知道構(gòu)建prompt的最佳方式。

這里建議的一種方法是「思想鏈提示」。這涉及到一種分而治之的策略,將問題分解為多個步驟并解決每個步驟,從而解決整個問題。

一口氣讓模型在同一時間內(nèi)完成太多任務(wù)反倒會導(dǎo)致結(jié)果一團亂麻,更可取的方式是一步一步來,從生成一個個代碼塊開始。

例如,不要要求AI編程工具從頭開始一口氣編寫整個程序,而是考慮程序試圖完成不同的細分任務(wù)。

專家給出了這么一個類比,把AI編程工具當(dāng)作一個實習(xí)生,他可能在知識層面差不了太多,但在經(jīng)驗層面還有不少欠缺。

此外,精確度和清晰度對于快速實現(xiàn)需求至關(guān)重要。

「你需要非常清楚地詢問模型你想要什么,非常準(zhǔn)確地說明你要求它做什么,并確保你在一步步跟進整個落實的過程?!?/span>

學(xué)習(xí)AI和機器學(xué)習(xí)的基本概念,以及了解大型語言模型的工作原理及其優(yōu)缺點也很有價值。

為了幫助開發(fā)者快速入門,Abraham推薦了OpenAI的Cookbook,其中包含有關(guān)提示庫和工具、提示指南和視頻課程的部分,而Vaithilingam則建議閱讀Illustrated Transformer,以了解有關(guān)模型和機器學(xué)習(xí)基礎(chǔ)知識的更多信息。

保持批判態(tài)度并了解工具的風(fēng)險

最后,開發(fā)人員應(yīng)該對大型語言模型的輸出持辯證的態(tài)度,首當(dāng)其沖的就是幻覺問題。顯然,一味聽信AI編程工具的輸出結(jié)果總有一次會捅大簍子。

這就是為什么檢查生成的代碼至關(guān)重要。

在檢查的過程中,開發(fā)人員可以按以下這幾個問題來審視初步的輸出結(jié)果:

該模型是根據(jù)哪些數(shù)據(jù)進行訓(xùn)練的?

有哪些內(nèi)容被過濾掉了,且沒有包含在該數(shù)據(jù)中?

訓(xùn)練數(shù)據(jù)的時間有多長,模型訓(xùn)練時使用的編程語言、軟件包或庫的版本是什么?

還有一個不容易注意到的細節(jié)——版權(quán)。

原創(chuàng)性非常重要,開發(fā)人員應(yīng)該在檢查AI輸出的結(jié)果時關(guān)注有沒有哪部分是專用代碼。

最后就是安全性問題。

拋開幻覺不談,輸出的代碼可能有不少bug。這就需要輸出審查,以及測試管道等方式來進行妥善解決。

有經(jīng)驗的人類程序員可以快速識別出常見的bug,以及代碼中薄弱的部分。這種直覺就來自實踐。

總而言之,對待任何新興事物都應(yīng)該以一種積極的心態(tài)去面對。

對于人類程序員來說,在被有可能的取代之前,利用AI編程工具提升自己的工作效率、提高工作質(zhì)量才應(yīng)該是首要考慮的目標(biāo)。

希望以上內(nèi)容對大家能有所幫助。


責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2018-04-23 11:00:06

程序員養(yǎng)生健康

2013-08-20 09:33:59

程序員

2009-03-05 10:31:35

程序員IT行業(yè)職業(yè)規(guī)劃

2013-07-04 13:50:14

2015-07-28 17:58:22

程序員指南

2025-03-17 09:37:46

2012-03-06 09:22:46

程序員

2009-06-22 09:06:57

程序員技術(shù)升級

2011-05-13 14:34:02

程序員

2013-07-25 09:47:40

程序員職業(yè)發(fā)展

2009-05-21 15:58:12

程序員工作經(jīng)驗職場

2018-06-03 00:12:01

程序員技能溝通

2017-11-14 21:30:15

2012-11-22 14:00:26

程序員

2015-04-10 19:37:34

程序員

2022-03-16 11:10:19

程序員社區(qū)技術(shù)

2013-07-12 10:58:16

程序員

2012-09-20 09:19:30

程序員非程序西方程序員

2012-02-01 09:30:54

HTML 5

2022-02-16 18:21:33

程序員跳槽架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號