「最後一個離開的人,關掉代碼編輯器。 」這句略帶諷刺意味的短語在開發者論壇上廣為流傳,反映了人們對人工智能編碼助手崛起的一種焦慮和幽默。隨著人工智慧模型編寫程式碼的能力越來越強,許多程式設計師開始質疑,人類開發者是否會像電梯操作員或電話接線員一樣,最終被自動化取代。 2024年,一些聳人聽聞的標題宣稱,人工智慧很快就能寫出我們所有的程式碼,讓人類開發者無事可做。然而,在這些炒作和聳人聽聞的背後,現實遠比這複雜得多。
沒錯,人工智慧現在產生程式碼的速度比任何人都快,但這些程式碼的品質如何?人工智慧能否獨立完成整個軟體開發生命週期?大多數專家認為「沒那麼快」。像微軟執行長薩蒂亞‧納德拉這樣的軟體工程領導者強調, 「人工智慧不會取代程式設計師,但它將成為程式設計師工具箱中不可或缺的工具。它的目的是賦予人類更多能力,而不是更少能力。」 ( 《人工智慧會取代程式設計師工具箱》中不可或缺的工具。它的目的是賦予人類更多能力,而不是更少能力。」( 人工智慧 2025 月 | Medium )同樣,Google人工智慧負責人傑夫·迪恩也指出,雖然人工智慧可以處理常規的編碼任務,但「它仍然缺乏創造力和解決問題的能力」 ——而這些正是人類開發人員所具備的特質。就連OpenAI執行長薩姆·奧特曼也承認,如今的人工智慧「非常擅長完成任務」 但,「則無法勝任整個工作」 。簡而言之,人工智慧非常擅長協助完成部分工作,但無法從頭到尾完全接手程式設計師的工作。
本白皮書以客觀、平衡的視角審視「人工智慧會取代程式設計師嗎?」。我們探討了人工智慧如何影響當今的軟體開發角色,以及未來可能出現的變化。透過真實案例和近期推出的工具(從 GitHub Copilot 到 ChatGPT),我們探索了隨著人工智慧的演進,開發者如何調整自身、適應變化並保持競爭力。我們不會給出簡單的「是」或「否」的答案,而是認為未來是人工智慧與人類開發者共同協作的局面。我們的目標是重點介紹實用技巧——從採用新工具到學習新技能,並展望未來幾年程式設計職業的發展趨勢。
當今軟體開發中的人工智慧
人工智慧已迅速融入現代軟體開發工作流程。人工智慧工具並非科幻小說中的情節,它們已經開始編寫和審查程式碼、自動化繁瑣的任務並提高開發人員的效率。如今,開發人員利用人工智慧產生程式碼片段、自動補全函數、偵測錯誤,甚至編寫測試案例( 《軟體工程師的未來?人工智慧的影響[2024] 》)。換句話說,人工智慧正在接管繁瑣的工作和樣板程式碼,使程式設計師能夠專注於軟體創建中更複雜的方面。讓我們來看看一些正在改變程式設計的突出人工智慧功能和工具:
-
程式碼產生與自動補全:現代人工智慧程式碼助理可以根據自然語言提示或部分程式碼上下文產生程式碼。例如, GitHub Copilot (基於 OpenAI 的 Codex 模型建置)與編輯器集成,可在您輸入時建議下一行或下一段程式碼。它利用龐大的開源程式碼訓練集提供上下文感知建議,通常只需一條註解或函數名稱即可完成整個函數。類似地, ChatGPT (GPT-4)可以在您用簡單的英語描述需求時產生特定任務的程式碼。這些工具可以在幾秒鐘內產生樣板程式碼,從簡單的輔助函數到常規的 CRUD 操作,無所不能。
-
缺陷檢測與測試:人工智慧也在幫助發現錯誤並提升程式碼品質。人工智慧驅動的靜態分析工具和程式碼檢查器能夠透過學習過去的錯誤模式來標記潛在的缺陷或安全漏洞。一些人工智慧工具能夠透過分析程式碼路徑自動產生單元測試或建議測試案例。這意味著開發人員可以立即獲得關於他們可能遺漏的極端情況的回饋。透過及早發現缺陷並提出修復建議,人工智慧就像一位不知疲倦的品質保證助手,與開發人員並肩工作。
-
程式碼優化與重構:人工智慧的另一項應用是為現有程式碼提供改進建議。給定一段程式碼片段,人工智慧可以透過識別程式碼模式,推薦更有效率的演算法或更簡潔的實作方式。例如,它可以建議更符合慣用法的函式庫使用方法,或標記出可以重構的冗餘程式碼。這有助於減少技術債並提升效能。基於人工智慧的重構工具可以將程式碼轉換為符合最佳實踐或更新到新 API 版本,從而節省開發人員手動清理程式碼的時間。
-
DevOps 和自動化:除了編寫程式碼之外,人工智慧還能協助建置和部署流程。智慧 CI/CD 工具利用機器學習預測哪些測試可能失敗,或優先處理某些建置任務,從而加快持續整合流程,提高效率。人工智慧可以分析生產日誌和效能指標,精準定位問題或提出基礎設施優化建議。實際上,人工智慧不僅輔助編碼,還能貫穿軟體開發生命週期的各個階段——從規劃到維護。
-
自然語言介面與文件:我們也看到人工智慧正在推動與開發工具進行更自然的互動。開發者可以直接向人工智慧發出指令(例如「產生一個實現 X 功能的函數」或「解釋這段程式碼」),並獲得結果。人工智慧聊天機器人(例如 ChatGPT 或專門的開發助理)可以回答程式設計問題、協助編寫文檔,甚至可以根據程式碼更改生成專案文檔或提交資訊。這彌合了人類意圖與程式碼之間的鴻溝,使那些能夠描述自己需求的人更容易參與開發。
-

開發者採用人工智慧工具: 2023 年的一項調查顯示,高達 92% 的開發者都曾以某種方式使用過人工智慧編碼工具——無論是在工作中、個人專案中,還是兩者兼而有之。僅有 8% 的開發者表示未使用任何人工智慧輔助編碼工具。圖表顯示,三分之二的開發者在工作內外,四分之一的開發者僅在工作中使用,而只有極少數開發者僅在工作之外使用。結論顯而易見:人工智慧輔助編碼已迅速成為開發者的主流選擇(調查揭示了人工智慧對開發者體驗的影響 - GitHub 部落格)。
人工智慧工具在開發領域的廣泛應用提高了效率,並減少了編碼的繁瑣工作。由於人工智慧能夠幫助產生樣板程式碼並處理重複性任務,產品的開發速度顯著提升( 《軟體工程師的未來在哪裡?人工智慧的影響 [2024]》 )( 《人工智慧會在2025年取代開發人員嗎?:未來展望》)。像Copilot這樣的工具甚至可以推薦「人類開發人員可能不會立即想到」得益於其從海量程式碼資料集中學習的能力。現實世界的例子不勝枚舉:工程師可以請求ChatGPT實現排序功能或查找程式碼中的錯誤,人工智慧會在幾秒鐘內產生解決方案草稿。亞馬遜和微軟已在其開發團隊中部署了人工智慧結對程式設計師(亞馬遜的CodeWhisperer和微軟的Copilot),並報告任務完成速度更快,花費在樣板程式碼上的繁瑣時間也更少。事實上, 70%的受訪開發者表示他們已經在使用或計劃在開發過程中使用人工智慧工具( ShiftMag資料顯示,70%的開發者使用人工智慧編碼工具,3%的開發者高度信任其準確性)。最受歡迎的助手是ChatGPT(約83%的受訪者使用)和GitHub Copilot(約56%),這顯示通用對話式人工智慧和整合在IDE中的助手都是關鍵工具。開發者使用這些工具的主要目的是提高生產力(約33%的受訪者提及)和加快學習速度(25%),而約25%的開發者則利用這些工具透過自動化重複性工作來提高效率。
值得注意的是,人工智慧在程式設計領域的作用並非全新——其部分元素已存在多年(例如整合開發環境 (IDE) 中的程式碼自動補全或自動化測試框架)。但過去兩年是個轉捩點。強大的大型語言模型(例如 OpenAI 的 GPT 系列和 DeepMind 的 AlphaCode)的出現極大地拓展了程式設計的可能性。例如,DeepMind 的AlphaCode程式設計競賽中表現出色,在程式設計挑戰中取得了前 54% 的排名,基本上達到了普通人類選手的水平( DeepMind 的 AlphaCode 水平與普通程式設計師相當),因此引起了廣泛關注。這是人工智慧系統首次在程式設計競賽中取得如此。然而,值得注意的是,即使是 AlphaCode,憑藉其強大的實力,距離擊敗最優秀的人類程式設計師仍然相去甚遠。在這些競賽中,AlphaCode 在允許的嘗試次數內大約能解決 30% 的問題,而頂尖的人類程式設計師一次嘗試就能解決超過 90% 的問題。這一差距凸顯出,儘管人工智慧在一定程度上可以處理定義明確的演算法任務,但那些需要深度推理和創造力的最難問題仍然是人類的強項。
總而言之,人工智慧已牢牢紮根於開發者的日常工具包中。從輔助編寫程式碼到最佳化部署,它滲透到開發流程的方方面面。如今,人工智慧與開發者的關係在很大程度上是共生的:它扮演著副駕駛的角色(名副其實),幫助開發者更快、更輕鬆地編寫程式碼,而不是一個可以獨立飛行的自動駕駛系統。在下一節中,我們將深入探討人工智慧工具的這種應用如何改變開發者的角色和工作性質,無論這種改變是好是壞。
人工智慧如何改變開發者的角色和生產力
隨著人工智慧承擔越來越多的日常工作,軟體開發人員的角色確實開始改變。開發人員無需再花數小時編寫樣板程式碼或調試瑣碎的錯誤,而是可以將這些任務交給人工智慧助理。這使得開發人員能夠將注意力轉移到更高層次的問題解決、架構設計以及軟體工程的創造性方面。本質上,人工智慧正在增強開發人員的能力,使他們能夠提高效率並可能更具創新性。但這是否意味著程式設計工作崗位的減少,或者只是工作類型的改變?讓我們來探討一下這對生產力和角色帶來的影響:
提升效率:大多數報告和早期研究表明,人工智慧編碼工具顯著提升了開發者的效率。 GitHub 的研究發現,使用 Copilot 的開發者完成任務的速度遠超未使用人工智慧輔助的開發者。在一項實驗中,借助 Copilot,開發者完成編碼任務的平均速度提升了 55% ,僅需約 1 小時 11 分鐘,而未使用時則需要 2 小時 41 分鐘(研究:量化 GitHub Copilot 對開發者效率和幸福感的影響 - GitHub 博客)。速度的提升令人矚目。不僅如此,開發者還表示,人工智慧輔助有助於減少挫折感和「流程中斷」。調查顯示, 88%使用 Copilot 的開發者表示,它提高了他們的工作效率,讓他們能夠專注於更有成就感的工作(有多少開發者表示 GitHub Copilot 提高了他們的效率…… )。這些工具透過處理繁瑣的工作,幫助程式設計師保持專注,從而節省精力,專注於更棘手的問題。因此,許多開發者覺得程式設計變得更有趣了——減少了繁瑣的工作,增加了創意的工作。
日常工作流程的改變:隨著生產力的提升,程式設計師的日常工作流程也正在改變。許多「繁瑣的工作」(例如編寫樣板程式碼、重複常見模式、尋找語法錯誤)都可以交給人工智慧 (AI) 來完成。例如,開發人員無需手動編寫包含 getter 和 setter 的資料類,只需讓 AI 產生即可。開發人員無需翻閱文件查找正確的 API 呼叫,只需用自然語言詢問 AI 即可。這意味著開發人員可以減少重複編寫程式碼的時間,將更多時間投入到需要手動判斷的任務中。隨著 AI 接管 80% 的簡單程式碼編寫工作,開發人員的工作重心轉移到監督 AI 的輸出(審查程式碼建議、測試程式碼)以及解決 AI 無法解決的 20% 的棘手問題。實際上,開發人員的一天可能從處理 AI 產生的拉取請求或審查一批 AI 建議的修復方案開始,而不是從頭開始編寫所有這些變更。
協作與團隊動態:有趣的是,人工智慧也在影響團隊動態。隨著日常任務的自動化,團隊可以用更少的初級開發人員完成更多的工作。一些公司表示,他們的高級工程師可以更加獨立——他們可以在人工智慧的幫助下快速建立功能原型,而無需初級開發人員繪製初始草稿。然而,這也帶來了一個新的挑戰:指導和知識分享。初級開發人員不再需要透過完成簡單的任務來學習,而是需要學習如何有效地管理人工智慧的輸出。團隊協作可能會轉向諸如共同完善人工智慧提示或審查人工智慧生成的程式碼以發現缺陷等活動。從積極的角度來看,當團隊中的每個人都擁有人工智慧助理時,它可以創造一個公平的競爭環境,並騰出更多時間進行設計討論、創意頭腦風暴,以及解決目前人工智慧尚無法直接理解的複雜用戶需求。事實上,調查揭示了人工智慧對開發者體驗的影響增強團隊協作,或至少讓他們能夠更自由地協作進行設計和解決問題。
對工作的影響:一個關鍵問題是,人工智慧是否會降低對程式設計師的需求(因為每個程式設計師的生產力都提高了),還是僅僅改變所需的技能。以往自動化技術(例如DevOps工具或更高階程式語言的興起)的經驗表明,開發人員的工作與其說是被淘汰,不如說是被提升了。事實上,產業分析師預測軟體工程職位將繼續成長,但這些職位的性質將會改變。 Gartner最近的一份報告預測,到2027年, 50%的軟體工程組織將採用人工智慧增強的「軟體工程智慧」平台來提高生產力,而2024年這一比例僅為5%( 《軟體工程師的未來在哪裡?人工智慧的影響》[2024] )。這顯示企業將廣泛整合人工智慧,但也意味著開發人員將與這些智慧平台合作。同樣,顧問公司麥肯錫預測,雖然人工智慧可能會自動化許多任務,但大約80%的程式設計工作仍然需要人參與,並且仍然是「以人為本」的。換句話說,我們仍然需要人來擔任大多數開發人員職位,但職位描述可能會有所改變。
「人工智慧軟體工程師」或「回應工程師」等角色的出現——這些開發人員專門負責建構或協調人工智慧元件。我們已經看到對具備人工智慧/機器學習專業知識的開發人員的需求正在飆升。根據Indeed的一項分析,需求量最大的三個人工智慧相關職位是資料科學家、軟體工程師和機器學習工程師過去三年中,這些職位的需求量( 《軟體工程師的未來在哪裡?人工智慧的影響 [2024]》 )。人們越來越期望傳統的軟體工程師能夠理解機器學習的基礎知識,或將人工智慧服務整合到應用程式中。人工智慧不僅不會使開發人員變得多餘,反而「可能會提升這個職業的地位,使開發人員能夠專注於更高層次的任務和創新。」 ( 《人工智慧會在2025年取代開發人員嗎?:未來展望》 )許多常規的編碼任務可能會由人工智慧處理,但開發人員將更專注於系統設計、模組整合、品質保證和解決新問題。人工智慧領導者的資深工程師對此總結得很好:人工智慧不會取代我們的開發人員,而是增強他們的能力。一個擁有強大人工智慧工具的開發人員可以完成幾個人的工作,而這位開發人員現在承擔的工作更加複雜、更具影響力。
真實案例:假設一家軟體公司為其所有開發人員整合了 GitHub Copilot。立竿見影的效果是,編寫單元測試和樣板程式碼的時間顯著減少。一位初級開發人員發現,使用 Copilot,她可以快速產生新功能 80% 的程式碼,然後將時間用於自訂剩餘的 20% 並編寫整合測試。她的程式碼產出效率幾乎翻了一番,但更有趣的是,她的貢獻性質發生了轉變——她更多地扮演了 AI 代碼的代碼審查員和測試設計者的角色。團隊也注意到,程式碼審查開始發現AI 的錯誤,而不是人為的拼字錯誤。例如,Copilot 偶爾會建議一種不安全的加密實作;這時就需要開發人員來發現並修正這些錯誤。這類例子表明,雖然產出增加,但在工作流程中變得更加重要
總而言之,人工智慧無疑正在改變開發者的工作方式:它提高了開發者的工作效率,使他們能夠應對更具挑戰性的問題,同時也要求他們提陞技能(包括運用人工智慧和更高層次的思考能力)。與其說是“人工智慧取代工作”,不如說是“人工智慧改變工作”。能夠有效運用這些工具的開發者可以成倍提升自身的影響力——我們常聽到的一句老話是: “人工智能不會取代開發者,但使用人工智能的開發者可能會取代那些不使用人工智能的開發者。”接下來的章節將探討為什麼人類開發者仍然至關重要(人工智能的局限性) ,以及人工智能如何調整自身技能以與人工智能協同發展。
人工智慧的限制(為什麼人類仍然至關重要)
儘管人工智慧如今功能強大,但其局限性顯而易見限制是理解為何程式設計師在開發過程中仍然不可或缺的關鍵。人工智慧固然強大,但它並非萬靈藥,無法取代人類開發者的創造力、批判性思維和對情境的理解。以下列舉了人工智慧在程式設計方面的一些根本缺陷以及人類開發者的相應優勢:
-
缺乏真正的理解力和創造力:目前的AI模型無法像人類那樣真正理解程式碼或問題;它們只能識別模式,並根據訓練資料複述可能的輸出結果。這意味著AI在需要原創性、創意解決方案或對全新問題領域進行深入理解的任務中會遇到困難。 AI或許能夠產生符合其先前見過的規範的程式碼,但如果要求它為前所未有的問題設計新演算法,或解讀模糊的需求,它很可能會束手無策。正如一位觀察家所說,如今的AI 「缺乏人類開發者所具備的創造性和批判性思考能力」。 ( 《AI會在2025年取代開發者嗎?:未來展望》)人類擅長跳脫固有思維模式-將領域知識、直覺和創造力結合,從而設計軟體架構或解決複雜問題。相較之下,AI則受限於其學習到的模式;如果問題與這些模式不匹配,AI可能會產生錯誤或毫無意義的程式碼(而且往往還信心滿滿!)。創新——提出新功能、新的使用者體驗或新穎的技術方法——仍然是一項由人類驅動的活動。
-
上下文和全局理解:軟體開發不僅僅是編寫程式碼。它需要理解原因——業務需求、用戶需求以及軟體運行的上下文。人工智慧的上下文感知範圍非常狹窄(通常僅限於它每次接收到的輸入)。它無法真正理解系統的整體目標,也無法理解程式碼以外的各個模組之間的互動方式。因此,人工智慧產生的程式碼可能在技術上能夠完成某個小任務,但卻無法很好地融入更大的系統架構,或違反某些隱含的要求。我們需要人類開發人員來確保軟體符合業務目標和使用者期望。複雜的系統設計——理解一個部分的變更如何影響其他部分,如何權衡各種因素(例如效能與可讀性),以及如何規劃程式碼庫的長期演進——是人工智慧目前無法完成的任務。在擁有數千個組件的大型專案中,人工智慧「只見樹木不見森林」。正如一篇分析文章指出, “人工智慧難以理解大型軟體專案的完整背景和複雜性”,包括業務需求和用戶體驗方面的考慮( 《人工智慧會在2025年取代開發人員嗎?未來展望》 )。人類則負責掌握全局。
-
常識與歧義解決:實際專案中的需求往往模糊不清或不斷變化。人類開發者可以尋求澄清、做出合理的假設,或對不切實際的要求提出異議。人工智慧不具備常識推理能力,也無法提出澄清問題(除非明確地在提示中循環,即便如此,也無法保證其理解正確)。這就是為什麼人工智慧產生的程式碼有時技術上正確,但功能上卻存在偏差——它缺乏判斷力,無法理解用戶在指令不明確時的真實意圖。相較之下,人類程式設計師可以理解高層次的需求(例如「使用戶介面更直觀」或「應用程式應優雅地處理異常輸入」),並確定需要在程式碼中實現什麼。人工智慧需要極其詳細、明確的規範才能真正取代開發者,而編寫這樣有效的規範本身就和編寫程式碼一樣困難。正如福布斯科技委員會的一篇文章恰當地指出,人工智慧要真正取代開發人員,就需要理解不明確的指令並像人類一樣進行調整——這是當前人工智慧所不具備的推理能力( Sergii Kuzin 的貼文 - LinkedIn )。
-
可靠性與「幻覺」:如今的生成式人工智慧模型存在一個眾所周知的缺陷:它們可能會產生錯誤甚至完全捏造的輸出,這種現象通常被稱為「幻覺」 。在程式設計中,這可能意味著人工智慧編寫的程式碼看起來合情合理,但邏輯上卻存在錯誤或不安全。開發者不能盲目信任人工智慧的建議。實際上,每一段人工智慧編寫的程式碼都需要經過人工的仔細審查和測試。 Stack Overflow 的調查數據也反映了這一點——在使用人工智慧工具的用戶中,只有人工智慧輸出的準確性表示不信任( ShiftMag 的數據顯示,70% 的開發者使用人工智慧編碼工具,但只有 3% 的人高度信任其準確性)。絕大多數開發者將人工智慧的建議視為有用的提示,而非絕對真理。這種低信任度是合理的,因為人工智慧可能會犯一些任何合格的人類都不會犯的奇怪錯誤(例如差一錯誤、使用已棄用的函數或產生低效的解決方案),因為它並沒有真正地思考問題。正如一位論壇評論者略帶諷刺地指出: 「它們(人工智慧)經常產生幻覺,做出人類永遠不會做的奇怪設計選擇」 ( 《人工智慧會讓程式設計師過時嗎?-職業建議》)。人工監督對於發現這些錯誤至關重要。人工智慧或許能快速完成某個功能90%的工作,但如果剩下的10%有不易察覺的缺陷,仍然需要人類開發人員進行診斷和修復。一旦生產環境中出現問題,也必須由人類工程師進行調試——人工智慧目前還無法為其錯誤負責。
-
維護和演進程式碼庫:軟體專案需要數年時間才能發展壯大。它們需要一致的程式碼風格、清晰易懂的程式碼結構(方便後續維護者理解),並隨著需求的變化進行更新。如今的人工智慧(AI)除了有限的提示之外,無法記住過去的決策,因此,如果沒有指導,它可能無法在大型專案中保持程式碼的一致性。人類開發人員透過編寫清晰的文件、選擇易讀的解決方案而非巧妙但晦澀的方案,以及在架構演進時根據需要重構程式碼來確保程式碼的可維護性。人工智慧可以輔助完成這些任務(例如提出重構建議),但決定重構哪些哪些部分需要重新設計,則需要人類的判斷。此外,在整合組件時,理解新功能對現有模組的影響(確保向後相容性等)也是人類需要處理的事情。人工智慧產生的程式碼必須由人類進行整合和協調。一些開發人員曾嘗試讓 ChatGPT 建立完整的小型應用程序,作為一項實驗;結果通常在初期有效,但之後會變得難以維護或擴展,因為人工智慧並沒有一致地應用周全的架構——它做出了人類架構師會避免的局部決策。
-
倫理和安全考量:隨著人工智慧編寫的程式碼越來越多,偏見、安全和倫理問題也隨之而來。人工智慧可能會無意中引入安全漏洞(例如,未正確清理輸入資料或使用不安全的加密方法),而經驗豐富的開發者卻能發現這些漏洞。此外,人工智慧本身並不具備倫理意識或公平意識——例如,它可能使用帶有偏見的數據進行訓練,並提出無意中帶有歧視性的演算法(例如在貸款審批代碼或招聘演算法等人工智慧驅動的功能中)。我們需要開發者來審核人工智慧的輸出是否有這些問題,確保其符合相關法規,並將倫理考量融入軟體中。社會層面—理解使用者信任、隱私顧慮以及做出符合人類價值觀的設計選擇— 「不容忽視。這些以人為本的開發方面,至少在可預見的未來,是人工智慧無法企及的。」 (人工智慧會在 2025 年取代開發者嗎?:對未來的一瞥)開發者必須成為人工智慧貢獻的良心和品質把關人。
鑑於這些局限性,目前的共識是人工智慧是一種工具,而非替代品。正如薩蒂亞·納德拉所說,人工智慧旨在賦能開發者,而非取代他們( 《人工智慧會取代程式設計師嗎?炒作背後的真相》| 作者:The PyCoach | Artificial Corner | 2025年3月 | Medium )。人工智慧可以被視為初級助手:它速度快、不知疲倦,可以初步完成許多任務,但需要資深開發者的指導和專業知識才能產出完善的最終產品。值得注意的是,即使是最先進的人工智慧編碼系統,在實際應用中也只是作為助手(例如 Copilot、CodeWhisperer 等),而不是作為自主編碼系統。企業並沒有解僱程式設計團隊,任由人工智慧橫行;相反,他們將人工智慧嵌入開發者的工作流程中來輔助他們。
OpenAI 的 Sam Altman 曾發表過一段頗具啟發性的言論,他指出,即使人工智慧代理不斷改進, 「這些人工智慧代理也不會完全取代人類」進行軟體開發( Sam Altman 表示人工智慧代理很快將執行軟體工程師的工作:五點詳述 - India Today )。它們將作為“虛擬同事”,為人類工程師處理一些明確的任務,尤其是那些通常由擁有幾年經驗的初級軟體工程師完成的任務。換句話說,人工智慧最終可能會在某些領域取代初級開發人員的工作,但初級開發人員並不會因此失業——他們會轉型為監督人工智慧並處理人工智慧無法完成的高級任務。即使展望未來,一些研究人員預測到 2040 年人工智慧就能編寫大部分程式碼(《軟體工程師的未來在哪裡?人工智慧的影響》[2024] ),人們普遍認為,仍然需要人類程式設計師來監督、指導人工智慧,並提供機器所缺乏的創造力和批判性思維。
值得注意的是,軟體開發不僅僅是編寫程式碼。它還包括與利害關係人溝通、理解使用者故事、團隊協作以及迭代設計——所有這些領域都離不開人的技能。人工智慧無法與客戶坐下來開會討論他們的真實需求,也無法協商優先順序或用產品願景激勵團隊。人的因素仍然至關重要。
總而言之,人工智慧存在一些重要的弱點:缺乏真正的創造力、對情境理解有限、容易出錯、缺乏問責機制,以及無法掌握軟體決策的深遠影響。而這些缺陷恰恰是人類開發者能夠發揮優勢的地方。與其將人工智慧視為威脅,不如將其視為人類開發者的強大放大器——處理繁瑣的日常事務,使人類能夠專注於更深刻的思考。下一節將探討開發者如何透過調整自身技能和角色,從而在人工智慧增強的開發環境中保持競爭力並發揮自身價值。
適應人工智慧時代並蓬勃發展
對程式設計師和開發者而言,人工智慧在編碼領域的崛起並非必然構成威脅,而是一個機會。關鍵在於適應並隨著技術的發展而不斷進步。那些學會駕馭人工智慧的人很可能會發現自己更有、更受歡迎,而忽視人工智慧的人則可能會發現自己落後了。在本節中,我們將重點介紹開發者如何透過實際的步驟和策略,在人工智慧工具逐漸融入日常開發的過程中保持競爭力並取得成功。開發者應該秉持的心態是持續學習並與人工智慧協作,而不是與之競爭。以下是開發者可以如何調整以及他們應該考慮哪些新技能和新角色:
1. 將 AI 視為工具(學習如何有效使用 AI 編碼助理):首先,開發者應該熟悉現有的 AI 工具。將 Copilot、ChatGPT 或其他編碼 AI 視為新的結對程式設計夥伴。這意味著要學習如何編寫有效的提示或註解來獲得有用的程式碼建議,並了解如何快速驗證或偵錯 AI 生成的程式碼。就像開發者需要學習 IDE 或版本控制系統一樣,了解 AI 助理的特性也正在成為必備技能。例如,開發者可以練習編寫一段程式碼,讓 AI 來改進,然後分析改進後的程式碼。或者,在開始一項任務時,先用註解概述任務內容,看看 AI 會提供什麼,然後再進行完善。隨著時間的推移,你會逐漸培養出對 AI 優勢以及如何與它協同工作的直覺。不妨將其視為「AI 輔助開發」 ——一項可以添加到你工具箱中的新技能。事實上,開發者現在將「提示工程」視為一項技能——即知道如何向 AI 提出正確的問題。掌握了人工智慧技術的人,即使使用同樣的工具也能取得顯著更好的成果。記住, 「使用人工智慧的開發者可能會取代那些不使用人工智慧的開發者」 ——所以,擁抱這項技術,讓它成為你的盟友。
2. 專注於更高層次的技能(問題解決、系統設計、架構):由於人工智慧可以處理更多底層程式碼,開發人員應該提升抽象層次。這意味著要更加重視對系統設計和架構的理解。培養分解複雜問題、設計可擴展系統以及做出架構決策的能力——這些領域都需要人類的洞察力。專注於解決方案的“為什麼”和“如何”,而不僅僅是“是什麼”。例如,與其花費所有時間完善排序函數(人工智慧可以為你編寫),不如花時間理解哪種排序方法最適合你的應用程式環境,以及它如何融入系統的資料流。設計思維——考慮用戶需求、資料流和組件互動——將備受重視。人工智慧可以產生程式碼,但最終決定軟體整體結構並確保所有部分協調運作的是開發人員。透過提升你的全局思維能力,你將成為不可或缺的指導者,引導人工智慧(以及團隊其他成員)建立正確的產品。正如一份展望未來的報告指出,開發者應該「專注於人類洞察力不可替代的領域,例如問題解決、設計思維和理解用戶需求。」 (人工智慧會在2025年取代開發者嗎?未來展望)
3. 提升您的人工智慧和機器學習知識:了解人工智慧至關重要。開發人員不必都成為機器學習研究員,但對這些模型的工作原理有紮實的理解將大有裨益。學習機器學習和深度學習的基礎知識—這不僅可以開闢新的職業道路(因為人工智慧相關的工作正在蓬勃發展( 《軟體工程師的未來在哪裡?人工智慧的影響[2024] 》),還能幫助您更有效地使用人工智慧工具。序) 。 TensorFlow、PyTorch)和雲端人工智慧服務;即使您不打算從零開始建立模型,了解如何將人工智慧 API 整合到應用程式中也是一項寶貴的技能。
4. 提升軟技能和領域知識:隨著人工智慧接手機械性任務,人類獨有的技能變得更加重要。溝通、團隊合作和領域專業知識是需要重點提升的面向。軟體開發通常涉及理解問題領域——無論是金融、醫療、教育或其他任何領域——並將其轉化為解決方案。人工智慧不具備這種背景知識或與利害關係人溝通的能力,但你可以。深入了解你所在領域,能讓你成為確保軟體真正滿足實際需求的權威人士。同樣,要專注於提升你的協作技能:指導、領導和協調。團隊仍需要資深開發人員來審查程式碼(包括人工智慧編寫的程式碼)、指導初級開發人員掌握最佳實踐,以及協調複雜的專案。人工智慧並不會取代專案中的人際互動。事實上,隨著人工智慧生成程式碼,資深開發人員的指導重點可能會從如何編寫循環語句轉向如何指導初級開發人員如何使用人工智慧並驗證其輸出。能夠引導他人適應這種新典範是一項寶貴的技能。此外,還要培養批判性思考——質疑並檢驗人工智慧的輸出結果,並鼓勵他人也這麼做。培養健康的懷疑精神和驗證意識,可以避免盲目依賴人工智慧,並減少錯誤。本質上,我們需要提升人工智慧所缺乏的技能:理解人與脈絡、批判性分析以及跨學科思維。
5. 終身學習與適應力:人工智慧領域的變革日新月異。今天看似前沿的技術,幾年後可能就會過時。開發者比以往任何時候都更需要終身學習。這可能意味著定期嘗試新的AI編碼助手,參加AI/ML相關的線上課程或認證,閱讀研究部落格以了解最新動態,或積極參與AI開發者社群。適應能力至關重要——隨時準備好適應新工具和工作流程。例如,如果出現一款可以根據草圖自動設計UI的AI工具,前端開發者就應該做好準備學習並應用它,並將工作重心轉移到優化生成的UI或改進自動化流程遺漏的用戶體驗細節上。那些將學習視為職業生涯持續組成部分的人(許多開發者已經這樣做了)會發現整合AI發展更加容易。一種策略是每週抽出一小部分時間用於學習和實驗——將其視為對未來的投資。公司也開始為開發者提供有效使用AI工具的培訓;抓住這些機會將使你領先一步。那些將人工智慧視為不斷發展的合作夥伴,並持續改進與該合作夥伴協作方式的開發者,終將取得成功。
6. 探索新興角色和職涯發展路徑:隨著人工智慧融入開發流程,新的職涯機會也隨之湧現。例如,提示工程師或人工智慧整合專家專注於創建合適的提示、工作流程和基礎設施,以便在產品中使用人工智慧。另一個例子是人工智慧倫理工程師或人工智慧審計員——這些角色專注於審查人工智慧的輸出結果,確保其不存在偏見、符合規範且正確無誤。如果您對這些領域感興趣,掌握相關知識將有助於您開闢新的職業道路。即使在傳統角色中,您也可能發現一些細分領域,例如“人工智慧輔助前端開發人員”和“人工智慧輔助後端開發人員”,它們各自使用不同的工具。密切關注企業如何圍繞人工智慧建立團隊。一些公司設有「人工智慧協會」或卓越中心,指導人工智慧在專案中的應用——積極參與這些組織可以讓您走在行業前沿。此外,您還可以考慮為人工智慧工具本身的開發做出貢獻:例如,參與改進開發者工具的開源專案(例如,增強人工智慧解釋程式碼的能力等)。這不僅能加深你對科技的理解,也能讓你置身於引領改變的社群中。關鍵在於積極主動提升職業彈性。如果你的現有工作中某些環節實現了自動化,就要做好準備,轉型從事設計、監督或改進這些自動化環節的工作。
7. 維持並展現人類的卓越品質:在人工智慧能夠針對一般問題產生普通程式碼的世界裡,人類開發者應該努力創造卓越且人性化的解決方案。這可能意味著專注於使用者體驗的精細化、針對特殊場景的效能優化,或者只是編寫簡潔且文檔完善的程式碼(人工智慧並不擅長編寫有意義的文檔或易於理解的程式碼註釋——而這正是你可以發揮價值的地方!)。務必將人類的洞察力融入工作中:例如,如果人工智慧產生了一段程式碼,你可以添加註釋來解釋其背後的邏輯,以便其他人也能理解,或者對其進行調整,使其更易於閱讀。這樣做,你就為純粹由機器產生的程式碼增添了一層專業和品質。隨著時間的推移,建立起在現實世界中「開箱即用」的高品質軟體的聲譽,將使你脫穎而出。客戶和雇主會更加重視那些能夠將人工智慧的效率與人類的精湛技藝結合。
我們不妨也探討一下教育路徑可能如何調整。新入行的開發者不應在學習過程中迴避人工智慧工具。相反,利用深入學習基礎知識至關重要,這樣才能打下堅實的基礎,並能判斷人工智慧何時會出現偏差。由於人工智慧主要處理簡單的編碼練習,課程設定可能會更加專注於需要設計和整合的專案。如果你是新手,應該專注於建立作品集,展示你解決複雜問題的能力,以及將人工智慧作為眾多工具之一的運用能力。
概括適應策略:要做駕駛員,而不是乘客。使用人工智慧工具,但不要過度依賴或自滿。繼續磨練開發中獨有的人類技能。備受尊敬的軟體工程先驅 Grady Booch 曾精闢地指出: “人工智慧將從根本上改變程式設計師的定義。它不會淘汰程式設計師,但會要求他們掌握新技能,並以新的方式工作。” ( 《軟體工程師的未來?人工智慧的影響》[2024] )。透過積極主動地培養這些新技能和新工作方式,開發人員可以確保自己始終掌握職涯的主動權。
總結本節內容,以下是為希望在人工智慧時代確保職業生涯未來的開發人員提供的快速參考清單:
| 適應策略 | 該怎麼辦 |
|---|---|
| 學習人工智慧工具 | 使用 Copilot、ChatGPT 等工具進行練習。學習編寫提示語和驗證結果。. |
| 專注於解決問題 | 提昇系統設計和架構技能。要探究“為什麼”和“如何做”,而不僅僅是“做什麼”。 |
| 提升人工智慧/機器學習技能 | 學習機器學習和資料科學的基礎知識。了解人工智慧模型的工作原理以及如何整合它們。. |
| 加強軟技能 | 提升溝通、團隊協作和領域專業知識。成為技術與實際需求之間的橋樑。. |
| 終身學習 | 保持好奇心,不斷學習新技術。加入社群,參加課程,嘗試使用新的AI開發工具。. |
| 探索新角色 | 密切關注新興職位(人工智慧審計員、回應工程師等),如果對這些職位感興趣,做好轉型準備。. |
| 保持品質和道德 | 始終審核人工智慧的輸出結果,確保其品質。同時,也要融入人為因素──例如文件編寫、倫理考量以及以使用者為中心的調整。. |
透過遵循這些策略,開發者可以將人工智慧革命轉化為自身優勢。那些能夠適應人工智慧的人會發現,人工智慧不僅增強他們的能力,使他們能夠開發出比以往任何時候都更好的軟體。
未來展望:人工智慧與開發者的協作
在人工智慧驅動的世界裡,程式設計的未來會如何?根據目前的趨勢,我們可以預見,未來人工智慧和人類開發者將更加緊密地合作。程式設計師的角色可能會繼續向監督和創新方向轉變,而人工智慧將在人類的指導下承擔更多繁重的工作。在本節的最後,我們將展望一些未來場景,並重申只要我們不斷適應,開發者的前景仍然樂觀。
在不久的將來(未來5-10年),人工智慧很可能像電腦本身一樣,在開發過程中無所不在。就像現今的開發者編寫程式碼離不開編輯器或Google/Stack Overflow等工具一樣,在不久的將來,開發者在編寫程式碼時也必然會藉助某種形式的人工智慧輔助功能。整合開發環境(IDE)正在不斷發展,將人工智慧功能融入其核心(例如,能夠解釋程式碼或建議整個專案程式碼變更的程式碼編輯器)。我們或許會達到這樣一個階段:開發者的主要工作是以人工智慧能夠理解的方式建構問題和限制條件,然後篩選並完善人工智慧提供的解決方案。這類似於一種更高層次的程式設計形式,有時被稱為「提示程式設計」或「人工智慧編排」。
然而,問題的本質──為人們解決問題──始終未改變。未來的AI或許能夠根據描述(例如「幫我開發一個預約醫生的手機應用」)產生完整的應用程序,但澄清描述、確保其準確性以及對最終結果進行微調以取悅用戶的工作,仍需開發者(以及設計師、產品經理等)的參與。事實上,如果基礎應用產生變得輕而易舉,那麼人類在軟體領域的創造力和創新能力對於產品差異化將變得更加至關重要。我們或許會看到軟體產業蓬勃發展,許多日常應用由AI生成,而人類開發者則專注於那些突破界限的前沿、複雜或富有創意的專案。
門檻也有可能降低——這意味著更多非傳統軟體工程師(例如,商業分析師、科學家或行銷人員)可以使用人工智慧工具創建軟體(這是人工智慧驅動的「無程式碼/低程式碼」運動的延續)。這並不意味著專業開發人員的需求會消失,反而改變了這種需求。在這種情況下,開發人員可能會更扮演諮詢或指導的角色,確保這些由使用者自行開發的應用程式安全、高效且易於維護。而專業程式設計師則可以專注於建構人工智慧輔助的「非程式設計師」所使用的平台和應用程式介面(API)。
從就業角度來看,某些程式設計職位可能會減少,而有些職位則會增加。例如,如果公司依賴人工智慧來完成一些簡單的任務,那麼一些入門級的程式設計職位數量可能會減少。可以想像,未來一家小型新創公司可能只需要現在一半的初級開發人員,因為他們的高級開發人員配備了人工智慧,可以完成許多基礎工作。但同時,全新的工作(正如我們在「適應性」部分所討論的)也會出現。此外,隨著軟體在經濟領域滲透到更廣闊的層面(人工智慧可以為特定需求產生軟體),對軟體相關工作的整體需求可能會持續成長。歷史表明,從長遠來看自動化通常會帶來更多的,儘管這些工作崗位類型有所不同——例如,某些製造任務的自動化帶動了設計、維護和改進自動化系統等相關工作崗位的成長。在人工智慧和程式設計領域,雖然初級開發人員過去負責的一些任務已經自動化,但我們想要創建的軟體範圍卻在不斷擴大(因為現在創建軟體的成本更低、速度更快),這可能導致數量增加,從而需要更多的人工監督、專案管理、架構設計等工作。世界經濟論壇發布的一份關於未來就業的報告指出,由於數位轉型,軟體開發和人工智慧領域的職位需求增長
我們也應該考慮2040年預測:橡樹嶺國家實驗室的研究人員認為,到2040年, 「機器…將編寫大部分自己的程式碼」 (軟體工程師的未來在哪裡?人工智慧的影響 [2024] )。如果這項預測成真,人類程式設計師的未來又會如何?很可能,他們的工作重點將放在高層次的指導上(大致告訴機器我們希望它們完成什麼),以及涉及複雜系統整合、理解人類心理或全新問題領域的工作。即使在這種情況下,人類仍然會扮演類似產品設計師、需求工程師和人工智慧訓練/驗證員的。程式碼或許可以在很大程度上自動生成,但仍然需要有人決定應該編寫哪些程式碼以及為什麼要編寫這些程式碼,然後驗證最終結果是否正確並符合目標。這類似於自動駕駛汽車未來可能實現自動駕駛,但你仍然需要告訴汽車去哪裡,並在複雜情況下進行幹預——此外,人類還需要設計道路、制定交通法規以及所有相關的基礎設施。
因此,大多數專家所設想的未來是協作而非取代。正如一家科技顧問公司所言, 「未來的開發並非在人類和人工智慧之間做出選擇,而是充分利用兩者優勢的協作。」 (人工智慧會在2025年取代開發人員嗎?:未來展望》) 人工智慧無疑將改變軟體開發,但這更像是開發人員角色的演進,而非消亡。那些「擁抱變革、調整技能並專注於工作中獨有的人文因素」會發現,人工智慧不僅不會降低他們的價值,反而會增強
我們可以藉鏡另一個領域:電腦輔助設計(CAD)在工程和建築領域的興起。這些工具取代了工程師和建築師嗎?並沒有——它們提高了工程師和建築師的工作效率,使他們能夠創造出更複雜的設計。但人類的創造力和決策能力仍然至關重要。同樣,人工智慧可以被視為電腦輔助編碼——它有助於處理複雜問題和繁瑣的工作,但開發者仍然是設計和決策者。.
從長遠來看,如果我們設想真正先進的人工智慧(例如,某種可以完成人類大部分工作的通用人工智慧),那麼社會和經濟的變革將遠不止於程式設計領域。我們尚未達到那個階段,但我們對如何將人工智慧融入工作擁有相當大的控制權。明智的做法是繼續以增強人類潛能。這意味著要投資於能夠讓人類參與其中的工具、實踐(以及政策)。我們已經看到一些公司正在建立人工智慧治理機制——即制定人工智慧在開發過程中應如何使用的指導方針,以確保獲得合乎倫理且有效的結果(調查揭示了人工智慧對開發者體驗的影響 - GitHub 部落格)。這一趨勢很可能會繼續發展,從而確保人類監督正式成為人工智慧開發流程的一部分。
總之,「人工智慧會取代程式設計師嗎?」這個問題的答案是:不會—但它會顯著改變程式設計師的工作內容。程式設計中那些繁瑣乏味的部分將逐漸自動化。而那些富有創造力、挑戰性和以人為本的部分則將繼續存在,並且會變得更加重要。未來,程式設計師很可能會像團隊成員一樣,與越來越聰明的人工智慧助理並肩工作。試想一下,如果你的人工智慧同事可以全天候不間斷地編寫程式碼——這無疑會大大提高生產力,但它仍然需要有人告訴它該做什麼任務,並檢查它的工作成果。
將人工智慧視為合作夥伴的人才能取得最佳成果。正如一位執行長所說: 「人工智慧不會取代程式設計師,但使用人工智慧的程式設計師將會取代那些不使用人工智慧的程式設計師。」實際上,這意味著開發者有責任與時俱進,不斷進化。程式設計產業並沒有消亡,而是在適應變化。在可預見的未來,我們將擁有大量的軟體開發和問題解決的需求,甚至可能比現在更多。透過持續學習、保持靈活以及專注於人類最擅長的領域,開發者可以與人工智慧攜手共進,。
最後,值得慶賀的是,我們正步入一個開發者擁有超能力的時代。新一代程式設計師將能在數小時內完成過去需要數天才能完成的工作,並藉助人工智慧解決以往難以企及的難題。展望未來,我們應該懷著樂觀和好奇的。只要我們以開放的心態看待人工智慧——了解它的局限性並牢記我們肩負的責任——我們就能塑造一個未來:人工智慧和程式設計師攜手建構出令人驚嘆的軟體系統,遠遠超越任何一方單獨所能達到的水平。人類的創造力與機器的效率結合,必將產生強大的力量。歸根究底,這並非是要取代,而是要實現協同效應。人工智慧和程式設計師的故事仍在續寫——它將由人類和機器共同繪製。
資料來源:
-
Brainhub, “軟體工程師的未來會怎樣?人工智慧的影響[2024]” (軟體工程師的未來會怎樣?人工智慧的影響[2024] )。
-
Brainhub,薩蒂亞·納德拉和傑夫·迪恩關於人工智慧作為工具而非替代品的專家評論(軟體工程師的未來在哪裡?人工智慧的影響[2024] )(軟體工程師的未來在哪裡?人工智慧的影響[2024] )。
-
Medium(PyCoach)的文章「人工智慧會取代程式設計師嗎?炒作背後的真相」指出了現實與炒作之間的微妙差異(人工智慧會取代程式設計師嗎?炒作背後的真相 | 作者:PyCoach | 人工智慧角 | 2025 年 3 月 | Medium ),並引用了 Sam Altman 關於人工智慧完成任務但不能勝任全部工作的言論。
-
DesignGurus, 「人工智慧會取代開發人員嗎…(2025 年)」 ,強調人工智慧將增強和提升開發人員的能力,而不是使他們變得多餘(人工智慧會在 2025 年取代開發人員嗎:對未來的一瞥),並列出了人工智慧落後的領域(創造力、背景、倫理)。
-
Stack Overflow 2023 年開發者調查顯示,70% 的開發者使用 AI 工具,但對其準確性信任度較低(3% 的開發者高度信任)( 70% 的開發者使用 AI 編碼工具,3% 的開發者高度信任其準確性 - ShiftMag )。
-
GitHub 2023 年調查顯示,92% 的開發者嘗試過 AI 編碼工具,70% 的開發者看到了好處(調查揭示了 AI 對開發者體驗的影響 - GitHub 部落格)。
-
GitHub Copilot 研究發現,借助 AI 輔助,任務完成速度提高了 55%(研究:量化 GitHub Copilot 對開發者生產力和幸福感的影響 - GitHub 部落格)。
-
GeekWire 指出,DeepMind 的 AlphaCode 表現達到了普通人類程式設計師的水平(排名前 54%),但遠未達到頂尖水平( DeepMind 的 AlphaCode 與普通程式設計師的水平相當)。
-
IndiaToday(2025 年 2 月)總結了 Sam Altman 對 AI「同事」的願景,即 AI 將承擔初級工程師的任務,但「不會完全取代人類」 ( Sam Altman 表示 AI 代理很快將執行軟體工程師的任務:完整報道分為 5 個要點 - India Today )。
-
麥肯錫公司估計,儘管自動化程度不斷提高,但約 80% 的程式設計工作仍將以人為本( 《軟體工程師的未來在哪裡?人工智慧的影響 [2024]》 )。
您可能還想閱讀以下文章:
🔗頂級 AI 結對程式設計工具
探索領先的 AI 工具,它們可以像編碼夥伴一樣與您協作,從而提升您的開發工作流程。
🔗最適合編碼的 AI – 頂級 AI 編碼助理
一份關於最有效的 AI 工具的指南,這些工具可用於程式碼生成、調試和加速軟體專案。
🔗人工智慧軟體開發-改變科技的未來
了解人工智慧如何徹底改變軟體的建置、測試和部署方式。