亚洲妇女无套内射精,日本VA欧美VA精品发布,国产成人精品一区二三区在线观看,无码少妇一区二区三区

icon

新聞 資訊

News and information

AI 時代下程序員的職場“生存寶典”

發布時間:2025-03-10

  讓程序員保持領先于生成式人工智能的4個技巧。


  神譯局是36氪旗下編譯團隊,關注科技、商業、職場、生活等領域,重點介紹國外的新技術、新觀點、新風向。


  編者按:AI會取代人類程序員嗎?對于程序開發人員而言,不應將AI視為競爭者,而應該將其作為助手。本文來自編譯,希望對您有所啟發。


  人工智能,尤其是由大型語言模型(LLM)驅動的生成式人工智能,可能會顛覆許多程序員的生計。但一些專家認為,人工智能不會取代人類程序員,至少不會立即取代。


  加州大學戴維斯分校生物醫學工程博士、醫療人工智能研究中心MedARC首席執行官塔尼什克-馬修-亞伯拉罕(Tanishq Mathew Abraham)說:“你不得不擔心使用人工智能的人會取代你。”


  那么,在以大型語言模型為中心的編碼時代即將到來之際,軟件開發人員如何才能讓自己變得更有用、更有意義呢?這里有一些提示和技巧,可以幫助程序員在生成式人工智能世界中生存和發展。


  1.堅持基本原則和最佳實踐


  雖然無數基于人工智能的編碼助手可以幫助代碼生成,但編程的基本要素依然存在:閱讀和推理自己和他人代碼的能力,以及讓自己編寫的代碼融入一個更大的系統的能力。


  哈佛大學約翰·A·保爾森(John a.Paulson)工程與應用科學學院從事人機交互與編程語言交叉研究的博士生普里揚·維斯林格姆(Priyan Vaithilingam)表示:“我相信人工智能可以極大地提高軟件開發人員的生產力,但軟件工程不僅僅是生成代碼,還包括從激發用戶需求到調試、測試等等更多內容。”


  最不可或缺的編程技能之一仍然是人類程序員的專長:解決問題。分析問題并找到最佳的解決方案,仍然是人類程序員的核心競爭力。


  Python軟件基金會研究員、軟件公司Explosion聯合創始人兼CEO Ines Montani表示,編程有其創造性的一面,很多處理問題的技巧比實際的語言或工具更重要,“不要陷入將自己與人工智能相比較的陷阱,因為人工智能或多或少是一個大型模型的統計輸出。開發人員所做的工作與模型輸出的結果是有區別的,作為一名開發人員,不僅僅是寫幾行代碼那么簡單。”


  此外,有效率的軟件工程實踐比以往會更加有價值。這些實踐包括規劃系統設計和軟件架構,可以給基于AI的工具提供良好的環境,更有效地預測接下來需要完成那些代碼。


  麻省理工學院計算機科學與人工智能實驗室副主任兼首席運營官阿曼多-索拉-萊薩馬(Armando Solar-Lezama)是該實驗室計算機輔助編程小組的負責人,他談道:“人類程序員必須弄清楚一段代碼的結構、組織代碼的方式,以及滿足不同的要求。所有這些都是軟件工程實踐的核心,而且未來很長一段時間內都不會消失。”


  2.找到適合自己的工具


  找到適合自己的AI編程工具非常重要。每種工具都有自己的交互方式,將每種工具融入開發工作流程也有不同的方法,無論是自動創建單元測試、生成測試數據還是編寫文檔,都是如此。


  例如,GitHub Copilot和其他人工智能編碼助手可以增強編程能力,在開發者寫程序的時候提供建議。而ChatGPT和Google的Bard更像是對話式的AI程序員,可用于回答有關API的問題或生成代碼片段。


  想要找到適合自己的工具,關鍵就在于嘗試。對于開發者來說,應該廣泛試用AI工具,體會不同工具的工作原理,評估輸出的質量,同時對其它工具保持開放的態度。亞伯拉罕說:"人工智能是一個飛速發展的領域,你不能只選擇一種工具,然后一輩子都用它。你需要快速適應新的工具。”


  還要考慮適當的使用案例。生成式人工智能工具可以為學習新的編程語言或框架提供一條捷徑,也是啟動小型項目和創建原型的快捷方式。


  3.清晰準確的對話至關重要


  在用AI工具輔助編程的時候,開發人員應該詳細、清晰、嚴謹地輸入需求,把這個不斷調整輸出內容的過程視為一種迭代。亞伯拉罕建議寫一條注釋,解釋你想要的代碼,這樣助手就更容易生成符合你要求的相關建議。


  對于會話式人工智能程序員來說,程序員需要知道構建提示語的最佳方式。亞伯拉罕建議的一種方法是思維鏈提示。這涉及到一種“分而治之”的策略,即把問題分解成多個步驟,然后逐一解決,最終解決整個問題。“要求模型在特定時間做太多事情會導致一團亂麻,更可取的方式是一步一步來,從生成一個個代碼塊開始,"他說。


  例如,與其要求人工智能程序員從頭開始編寫整個程序,不如考慮一下程序要完成的不同任務,并進一步劃分這些任務,要求模型為每項任務編寫特定的代碼。


  亞伯拉罕說:"把AI編程工具當作一個實習生,他可能在知識層面差不了太多,但在經驗層面還有不少欠缺。”


  此外,精確度和清晰度對于快速實現需求至關重要。亞伯拉罕說:"你需要非常清楚地詢問模型你想要什么,非常準確地說明你要求它做什么,并確保你在一步步跟進整個落實的過程。”


  學習人工智能和機器學習的基本概念,以及了解大型語言模型的工作原理和優缺點也很有價值。你不需要深入研究,但掌握一些常識可以為你提供有關結果的重要背景信息。


  為了幫助開發者快速入門,亞伯拉罕推薦了OpenAI的Cookbook,其中包含有關提示庫和工具、提示指南和視頻課程的部分,而Vaithilingam則建議閱讀Illustrated Transformer,以了解有關模型和機器學習基礎知識的更多信息。


  為了幫助你入門,Abraham推薦OpenAI Cookbook,其中有提示庫和工具、提示指南和視頻課程等部分,而維斯林格姆則建議閱讀《圖解轉換器》,了解更多有關模型和機器學習的基礎知識。


  4.保持批判態度并了解工具的風險


  開發人員應該對大型語言模型的輸出持辯證的態度,首當其沖的就是幻覺問題。顯然,一味聽信AI編程工具的輸出結果總有一次會捅大簍子。維斯林格姆說:“盲目使用人工智能生成的代碼很容易陷入調試的怪圈,而且很難發現細微的錯誤。”


  維斯林格姆說道,"這就是為什么檢查生成的代碼至關重要,盡管這增加了一個額外的步驟,但對工作效率的提高可能弊大于利。”但亞伯拉罕認為,"在某些情況下,驗證代碼比從頭開始編寫代碼要容易得多,而且先生成代碼,然后進行驗證,再將其納入現有的代碼庫中,是一種更快捷的方法。”


  在檢查的過程中,開發人員可以按以下這幾個問題來審視初步的輸出結果:該模型是根據哪些數據進行訓練的?有哪些內容被過濾掉了,且沒有包含在該數據中?訓練數據的時間有多長,模型訓練時使用的編程語言、軟件包或庫的版本是什么?這些問題的答案可能會影響結果并提供更多相關信息。


  版權是另一個需要考慮的因素。原創性非常重要,開發人員應該在檢查AI輸出的結果時關注有沒有哪部分是專用代碼。還一個更大的問題是安全性,因為這些模型可能會生成包含bug的代碼。維斯林格姆認為,這就需要輸出審查,以及測試管道等方式來進行妥善解決。


  阿曼多-索拉-萊薩馬說:"經驗豐富的軟件工程師能夠帶來的好處之一是,他們可以快速識別出常見的bug,以及代碼中薄弱的部分。這種直覺就來自實踐。”


  程序員要想在生成式人工智能世界中生存下去,就需要將人工智能作為一種工具來接受,并將其融入到工作流程中,同時認識到這些工具的機遇和局限性,畢竟它仍然要依靠人類的編碼能力來發展壯大。


本文來源:36氪

文章轉載于其他網絡,如有侵權請聯系我們及時刪除!