首頁  >  文章  >  科技週邊  >  程式設計的“Devin AI 時代”,軟體開發者的喜與憂

程式設計的“Devin AI 時代”,軟體開發者的喜與憂

PHPz
PHPz轉載
2024-04-11 17:10:121090瀏覽

编程的“Devin AI 时代”,软件开发者的喜与忧

作者| Keith Pitt

編譯| 伊風

出品| 51CTO技術堆疊(微訊號:blog51cto)

這篇文章的作者基斯-皮特(Keith Pitt),是一家軟體開發公司Buildkite的創辦人兼CEO。 2013年,他與另一位軟體工程師 Tim Lucas(Tim Lucas)創立了該公司,致力於為科技產業提供持續整合和持續交付(CI/CD)平台,最近剛獲得了由OneVentures和AirTree共同領投的2,100萬美元B輪融資。

一位擁有20年程式設計經驗的老手,以及一家服務於軟體開發者的公司的首席執行官,基斯-皮特(Keith Pitt)對早期關於生產智慧人工智慧、AI程式設計工具最終會使大多數軟體開發技能在時機的預測挑有本能的懷疑程度。

他在文章中表示:「雖然我仍然有些懷疑,但我在日常開發工作中與生成AI的互動經歷促使我開闊了視野,開始思考我認為可能的事情。AI將以一些相對基本的方式改變軟體開發,既有積極的一面,也有消極的一面。」

一、積極一面:AI讓開發工作化繁為簡

1.結束單調乏味的工作

開發者在語法和標點等細節上花費了過多的時間,這些工作可(也應該)消失。開發者不再需要翻閱手冊或從程式碼交換中拼湊程式碼片段,而是透過描述一個期望的結果,得到完美格式化的程式碼答案。大型語言模型(LLMs)還可以檢查現有程式碼,找出打字錯誤、標點錯誤和其他讓開發者頭痛的細節。

2.重塑框架開發流程

透過使用Spring、Express.js和Django等軟體框架來開發時,AI程式設計工具透過抽象軟體開發中通用的部分,設定一致的指導方針以及提供常見功能的預寫程式碼,可大幅提高生產力。生成的AI將透過創建樣板程式碼、自動化重複任務和建議程式碼優化來體現他們的工具價值。

AI還可以幫助自訂特定項目的框架元件。

3.「通才」開發者將崛起

許多開發者的專長在於他們對某種特定程式語言的精通。當AI能夠用任何語言產生程式碼時,精通Python或Ruby就不再那麼重要了。同樣,像測試和程式碼優化這樣的專業後端技能相關的任務將迅速轉移給生成式AI模型完成。

最寶貴的技能將是AI不擅長的,例如建立引人入勝的使用者介面、將使用者需求轉化為文件說明以及發明支援客戶的新方法。軟體“詩人”,或者說那些構想出程式碼可以實現的偉大創意的人,將會成為焦點。

4.軟體測試的革命

生成式AI天生就適合軟體測試。開發者編寫程式碼,而AI可以創建你想要的任意數量的測試腳本。最近的一項IDC調查發現,軟體品質保證和安全測試是人們最期待的AI程式設計的優勢,遠遠超過其他選項。這將顛覆DevOps的持續整合/部署實踐,並將許多測試專家推向尋找新的工作領域。

5.全民開發者時代

目前的低程式碼/無程式碼開發工具已經很不錯了,而生成式AI將會把它們推至新的高度。儘管低程式碼/無程式碼工具自動化程度高,但它仍然需要人們在白板上拼湊出一個工作流程,然後再將其轉換為軟體。

在未來,他們將能夠給模型一個手繪的工作流程草圖,並在幾秒鐘內得到必要的程式碼。

二、負面一面:程式碼污染,技術降級

#儘管AI充滿了前景,但它不應該被視為萬能的。

1.過度測試的風險

因為模型可以快速產生測試,我們可能會進行比我們需要的更多的測試。過度測試是軟體開發中常見的問題,特別是在那些以團隊產生的測試數量來衡量績效的組織中。執行太多重複或不必要的測試會拖慢專案進度,並在後續流程中造成瓶頸。

不過,當AI能夠推薦何時移除測試時,我們將看到開發者的巨大解放——這種生成性AI的願景讓我對未來充滿期待。

2.開發技能退化

「我總是選擇一個懶人去做一項艱苦的工作,因為他會找到一種簡單的方法來完成它,」這句話經常被錯誤地被認為是比爾蓋茲說的。雖然這句話的出處不清楚,但這句話本身有一定道理:懶人總在尋找避免辛苦工作的捷徑,而AI正提供了絕佳的解決方式。

生成式AI會讓懶惰開發者上癮,它可能導致創建臃腫、低效和效能差的程式碼。更可怕的是AI程式工具可能扼殺優秀開發者引以為傲的創新。因為生成式AI是基於現有模式和資料編寫程式碼的,這可能進一步限制那些不願走出「舒適圈」的開發者以及他們的創新潛力。

3.AI程式設計工具表現不佳

生成式AI的好壞取決於用於訓練模型的資料。

品質差的資料、訓練捷徑和糟糕的提示工程可能導致AI產生的程式碼不符合品質標準、存在錯誤或無法完成工作。這可能導致組織對AI程式設計工具的品質失去信任,並錯過其潛在的好處。

三、最值得提出的問題:AI取代軟體開發者嗎?

儘管一些想引起注意力的專家已經提出過類似的觀點,但歷史上沒有先例支持這樣的結論。技術進步——從高階語言到物件導向再到框架——已經穩步提高了開發者的生產力,但需求只增不減。

生成性AI可能會削弱低階基礎編碼技能的市場,但更大的影響將是推動整個產業上升到價值鏈的更高層次,去做LLMs目​​前不擅長的事情:創新。

要記得,生成性AI模型是基於已知的東西進行訓練的,而不是未知的、等待被創造的東西。我不指望機器很快就設計出一個革命性的使用者介面或想出一個Uber。

然而,開發者在他們的職業生涯中可能很難遇到這樣生產力爆發的風口。與其像我年輕時那樣想要對抗機器,開發者應該順勢而為、乘風破浪。 AI程式將人們從許多乏味工作中解脫,這應該會讓每個人感到興奮。某些工作任務可能會消失的風險,應該轉化為學習行動的誘因——能將業務需求轉化為優雅和高效能軟體的高品質開發者將永遠備受青睞。

想了解更多AIGC的內容,請造訪:

51CTO AI.x社群

https://www.51cto.com/aigc/

#

以上是程式設計的“Devin AI 時代”,軟體開發者的喜與憂的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除