AIGC

不要輕易放棄你的工作:生成式人工智慧將結束程式設計

人工智慧是否會取代軟體開發者?導言在 AI 的高度發展下,許多人對於軟體開發者是否會因為 AI 的出現而失業感到擔憂。AI 新創公司的創辦人 Matt Welsh 曾提到程式設計的終結,他相信如果不能在近期出現,最終 AI 會取代我們當前所熟悉的程式設計工作。但這樣的改變實際上對於以程式設計為生計的 .... (往下繼續閱讀)

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

文章目錄

不要輕易放棄你的工作:生成式人工智慧將結束程式設計

人工智慧是否會取代軟體開發者?

導言

在 AI 的高度發展下,許多人對於軟體開發者是否會因為 AI 的出現而失業感到擔憂。AI 新創公司的創辦人 Matt Welsh 曾提到程式設計的終結,他相信如果不能在近期出現,最終 AI 會取代我們當前所熟悉的程式設計工作。但這樣的改變實際上對於以程式設計為生計的人意味著什麼呢?本文將就這一問題進行深入探討,並提供相應的建議。

程式設計技能的價值

某些公司確實會將 AI 視為取代人力而非增強人力的工具。如果你在這樣的公司工作,我對你感到抱歉,但這實際上是一個機會。我們無需擔心軟體開發者被 AI 取代的數量很小。以下是原因以及 AI 使用將如何改變整個行業。

編碼所需時間僅佔少部分

根據非科學性的調查,軟體開發者實際上只花費 10%到 40%的時間在編碼上。綜合個人多年的經驗來看,我認為這一數位應該更接近 15%到 20%。因此即使有 ChatGPT 這樣的 AI 技術,這 20%的時間也不會完全消失。你仍然需要撰寫提示語句,並且我們正在學習,如果你希望 ChatGPT 能夠編寫出符合要求的程式碼,提示語句必須非常詳細。這將節省多少時間和精力呢?有人估計達到了 80%,但我不相信這一數位,我認為 25%到 50%更為合理。如果你花費 20%的時間在程式設計上,而基於 AI 的程式碼生成技術能使你的效率提高 50%,那麼你實際上只能獲得約 10%的時間節省。你可以用這個時間產生更多的程式碼,你最終會發現從未見過被解決的工作或遭遇不可能的交付期限。或者你可以將更多的時間花在“工作的其他部分”,即你未花在程式設計上的 80%的時間。這些時間有些浪費在無意義的會議上,但絕大部分是用來理解使用者需求、設計、測試、偵錯、程式碼審查、更好地理解使用者實際需求(這些是他們第一次沒有告訴你的),修改設計、構建有效的使用者介面、進行安全審計等等。這是一個冗長的列表。

AI 缺乏設計能力

工作的其他部分”,尤其是“理解使用者需求”這部分,一直以來不是我們行業的強項。設計軟體本身、使用者介面和資料表示無疑是必不可少的,但這也是當前一代 AI 相對薄弱的領域。我們在這方面取得了很大進步,但我不認識任何沒有在救援程式碼時將其形容為“一堆亂碼”的人。

AI 將增加審測和偵錯工作

測試和偵錯工作,如果你使用過 ChatGPT,你就知道測試和偵錯不會消失。AI 生成的程式碼可能是錯誤的,這狀況在短期內不會改變。安全審計只會變得更加重要,而不是變得不重要;對於一個程式開發者來說要理解自己沒有寫過的程式碼的安全性影響是非常困難的。花更多時間在這些事情上,並將具體的程式碼實現交給 AI 處理,這將無疑提高產品的質量。

產生不同的程式設計形式

現在讓我們從長遠的角度來看待這個問題。假設 Welsh 是對的,也就是在接下來的 20 年內,我們所熟悉的程式設計將消失。它真的會消失嗎?前段時間,我向 Tim O’Reilly 展示了我對 Ethan 和 Lilach Mollick 用於學校中 AI 促進的實驗,他的反應是:“這真的是在程式設計。”他是正確的。寫一個詳細的提示語句確實只是一種不同形式的程式設計。你仍然需要向計算機逐步傳遞你想要的結果。我意識到,在抱怨程式設計自 1970 年代以來幾乎沒有顯著變化長達 20 年之後,ChatGPT 忽然邁出了那一步。它並不是邁向某個新範式,無論是函數式、面向物件還是高維度的範式,我本來以為程式設計語言的下一個發展方向應該是視覺化,但事實並非如此。它向一種不再需要正式定義的語法和語義的程式設計進行了一步革新。這是一種不再需要將程式碼轉換為虛擬卡片的程式設計。這種程式設計也不再需要你將一半的時間花在查詢忘記了的庫函數的名稱和引數上。這種程式設計的便利程度也不斷提高。

理解問題和解決問題的重要性

在最理想的情況下,這種變革可能會將實際程式設計的時間減少到零或接近零。但是這種情況下只能節省軟體開發者 20%的時間。並且這並不能真正消除程式設計,它只是改變了程式設計的形式,可能使軟體開發者更加高效,並確實為他們提供更多的時間來與使用者溝通,深入理解問題並設計解決這些問題的良好和安全的系統。不再以行數計算程式碼的重要性遠不如深入理解問題和思考如何解決問題的重要性——但這並不是什麼新鮮事。20 年前,敏捷宣言就指出了這一點,並強調了以下價值觀:人與人的互動優於流程和工具;能工作的軟體優於詳盡的檔案;與客戶的合作優於契約談判;對變化的回應優於遵從計劃。

AI 的應用:直接與客戶合作

儘管在過去 23 年的“敏捷實踐”中,與客戶的合作經常被忽略。沒有與客戶和使用者的充分合作,敏捷很快就會變成一套儀式。解放開發者於語法中將節省更多的時間和精力來與客戶合作,真正回應變化,準備迎接未來,開發者需要更多地理解與客戶直接合作和設計滿足其需求的軟體。這是一次機遇而非災難。軟體開發者太長時間以來被冠以“對人類說不得話”、“不應該與人類交流”等標籤。現在是時候拋棄這些刻板印象,像對待人一樣來構建軟體。AI 不是值得懼怕的東西。在寫作關於 OpenAI 的新的 Code Interpreter 外掛時(現在正在逐步推出),Ethan Mollick 說:“我的時間變得更有價值了,我可以專注於重要的事情,而不是重複的工作。”學習、測試和納入 AI 到程式設計實踐中,使開發人員能有更多時間專注於真正重要的工作:理解和解決問題。這場變革的終點不是失業,而是更好的軟體。唯一需要擔心的是錯過這個轉變的機會。程式設計不會消失,它將發生變化,而這些變化將是好的。

結論

回顧整篇文章,我們可以得出以下結論:AI 不太可能將軟體開發者徹底取代。由於人類需求的多樣性和複雜性,AI 在軟體開發中仍然存在不足之處。AI 在解決問題和執行繁瑣任務方面將有所幫助,但它無法取代軟體開發者在設計、審測、偵錯、使用者合作等方面的專業能力。因此對於從事軟體開發的人來說現在是學習新技能並尋找真正重視你的僱主的時候。AI 的出現不應該被視為威脅,相反應該是一個機會來改善產品的質量並提升工作效率。
ArtificialIntelligence-人工智慧,程式設計,工作,放棄,生成式人工智慧

延伸閱讀

程宇肖

程宇肖

Reporter

大家好!我是程宇肖,我對於科技的發展和應用有著濃厚的興趣,並致力於將最新的科技趨勢和創新帶給大家。科技領域的變化速度驚人,每天都有令人興奮的新發現和突破。作為一名部落格作者,我將帶領大家深入探索科技的奧秘和應用的無限可能。