AIGC

不要辭掉你的日常工作:生成式 AI 與程式設計的終結

AI 與程式設計:改變中的未來新興的 AI 技術是否將取代程式設計師的工作?近來,關於軟體開發者被 AI 取代並失去工作的疑慮越來越多。人們擔心 AI 如 ChatGPT、GitHub 的 Copilot、Google 的 Codey 等更聰明的版本會取代他們的工作。AI 新創公司創辦人 Matt .... (往下繼續閱讀)

分享到 Facebook 分享到 Line 分享到 Twitter

文章目錄

不要辭掉你的日常工作:生成式 AI 與程式設計的終結

AI程式設計:改變中的未來

新興的 AI 技術是否將取代程式設計師的工作

近來,關於軟體開發者被 AI 取代並失去工作的疑慮越來越多。人們擔心 AI 如 ChatGPT、GitHub 的 Copilot、Google 的 Codey 等更聰明的版本會取代他們的工作AI 新創公司創辦人 Matt Welsh 一直在探討並撰寫關於程式設計即將結束的言論。他問:大型語言模型(LLMs)是否會消除我們所熟悉的程式設計?他表示興奮的是,答案是「是的」,即使不是在近期,也將在未來。然而實際上這意味著什麼?對於靠編寫軟體維生的人來說這意味著什麼?

新的程式設計技能的價值

有些公司肯定會將人工智慧視為取代人力的工具而非增強人類能力的工具。在這些公司工作程式設計師面臨失業的風險。如果你在其中一家公司工作,我為你感到遺憾,但我想告訴你,這其實是一個機會。儘管一些公司有大規模裁員的訊息,但程式設計師的工作市場前景良好,它可能會一直如此,你可能會比較容易找到一家不把你視為要減少開支的僱主。是時候學習一些新的技能,找到真正重視你的僱主了。

然而被 AI「取代」的程式設計師數量將非常少。以下是原因以及 AI 的使用將如何改變整個程式設計領域。

程式設計師實際上花在「編寫程式」上的時間

我進行了一個非常不科學的研究,研究了程式設計師實際上花在編寫程式的時間。好吧,我只是在搜尋欄中輸入了「軟體開發者花多少時間編寫程式」,檢視了前幾篇文章,範圍從 10%到 40%。根據多年來與許多人的交談和觀察,我自己的感知在這個範圍的較低端:15%到 20%。

工作的其餘部分」

ChatGPT 不會完全消除程式設計師花費在編寫程式上的 20%的時間。你仍然需要編寫提示,而且我們正在學習,如果你希望 ChatGPT 做得好,提示必須非常詳細。這究竟能節省多少時間和精力?有人估計高達 80%,但我不相信;我認為 25%到 50%更合理。如果你的時間有 20%花費在編寫程式,而基於 AI 的程式碼生成使你效率提高 50%,那麼你實際上只能節省約 10%的時間。你可以用這些時間來產生更多的程式碼 - 我還沒見過一個被閒置的程式設計師,或者說他們在一個不可能達到的交付期限下工作。或者你可以花更多時間在「工作的其餘部分」上,也就是你沒有花費在編寫程式的 80%的時間。其中一些時間是花在無意義的會議上,但大部分的時間是用來理解使用者的需求、設計、測試、除錯、程式碼審查、找出使用者真正需要的(他們第一次沒有告訴你的)東西、完善設計、建立有效的使用者介面、進行安全審計等等。這是一個冗長的列表。

程式設計師的需要:AI 缺乏設計能力

工作的其餘部分」(特別是「使用者需求」部分)是我們這個行業一直不太擅長的。設計 - 軟體設計本身、使用者介面和資料表示 - 當然不會消失,也不是當前一代 AI 擅長的領域。我們在這方面取得了很大的進步,但我不認識任何沒有曾經不得不救助的被描述為一片「爛泥」的程式碼。測試和除錯 - 如果你有使用過 ChatGPT,你就知道測試和除錯不會消失。AI 會生成錯誤的程式碼,這不會很快結束。安全審計只會變得更加重要,因為程式設計師很難理解他們沒有寫的程式碼的安全性影響。在這些事情上花更多時間 - 將編寫程式碼的細節留給 AI - 可能會提高我們交付的產品質量。

引發不同形式的程式設計

現在讓我們展望很長的未來。假設 Welsh 是對的,程式設計將消失 - 不是在明天,而是在未來 20 年內。它真的會消失嗎?幾周前,我向 Tim O'Reilly 展示了我使用 Ethan 和 Lilach Mollick 的提示在課堂中使用 AI 的一些實驗。他的反應是:“這個提示實際上就是程式設計。”他是對的。編寫詳細的提示實際上只是一種不同形式的程式設計。你仍然在一步一步地告訴電腦你想要它做什麼。我意識到,在抱怨程式設計自 70 年代以來變化不大的 20 年裡,ChatGPT 突然邁出了下一步。這並不是走向某種新的範式,無論是功能性、面向物件還是超維度。我原本預料的下一個程式設計語言的步驟是視覺化,但它並不是這樣的。它是邁向一種無需正式定義語法和語義的新型程式設計的一步。沒有虛擬撲克牌的程式設計。不需要花費一半的時間查詢你已經忘記的程式庫函數的名稱和引數。深入理解問題 - 而不只是計算程式碼行數

在最理想的情況下,這可能會導致實際上編寫程式的時間降至零或接近零。然而這種最佳情況只能節省程式設計師的 20%的時間。此外它並不能真正消除程式設計。它會改變程式設計 - 可能使程式設計師更高效,並給程式設計師更多時間與使用者交談、理解他們所面臨的問題,設計能夠解決這些問題的優秀且安全的系統。計算程式碼行數不如深入理解問題和找出解決問題的方法重要 - 但這並不是什麼新鮮事物。20 年前,敏捷宣言就指出了這一點,強調:

  • 優先考慮個體和互動,而非流程和工具
  • 優先考慮執行的軟體,而非詳盡的檔案
  • 優先與客戶合作,而非合約協商
  • 優先對變化做出回應,而非遵循計劃

整合 AI程式設計師直接與客戶合作

儘管有 23 年的「敏捷實踐」,但與客戶合作始終是被忽視的。如果不與客戶和使用者互動,敏捷很快就會變成一套例行公事。將程式設計師從語法中解放出來是否真的能節省更多時間與客戶合作並回應變化?為了迎接這個未來,程式設計師需要多學一些關於直接與客戶合作和設計能夠滿足他們需求的軟體的知識。這是一個機會,而非災難。程式設計師已經太長時間被認為是不能也不應該與人類交談的「宅男」。是時候拋棄這個刻板印象,並且像對待人類一樣來構建軟體。不必害怕 AI。關於 OpenAI 的新的 Code Interpreter 外掛(當前正在逐步推出),Ethan Mollick 表示:“我的時間變得更加有價值,而不是變得不值一提,因為我可以專注於重要的事情,而不是機械的事情。”AI 是值得學習、測試和納入程式設計實踐的東西,這樣程式設計師就可以花更多時間在真正重要的事情上:理解和解決問題。這場革命的目標不是失業,而是更好的軟體。唯一需要害怕的是錯過這個轉型。

結論

程式設計不會消失。它會發生改變,而這些改變將是好事。程式設計師可能將更高效,並有更多時間與使用者交流,理解他們所面臨的問題並設計優秀且安全的系統來解決這些問題。AI 的出現不應該被害怕。它應該被學習、測試和整合到程式設計實踐中,以便程式設計師可以專注於真正重要的事情:理解和解決問題。我們需要準備好迎接這個未來,並與客戶直接合作,設計能夠滿足他們需求的軟體。當然程式設計師需要習得新的技能並找到真正重視他們的僱主。未來的程式設計將是一個機遇,而不是一場災難。

Programming-wordpress,AI,程式設計,技術,職業,工作,人工智慧,自動化,職涯發展

延伸閱讀

江塵

江塵

Reporter

大家好!我是江塵,一名熱愛科技的發展和創新,我一直都保持著濃厚的興趣和追求。在這個瞬息萬變的數位時代,科技已經深入到我們生活的方方面面,影響著我們的工作、學習和娛樂方式。因此,我希望透過我的部落格,與大家分享最新的科技資訊、趨勢和創新應用。