「最後一個出去的,關掉程式碼編輯器。 」這句玩笑在開發者論壇上廣為流傳,反映了人們對人工智慧程式設計助手崛起的焦慮。隨著人工智慧模型編寫程式碼的能力日益增強,許多程式設計師開始思考,人類開發人員是否會遭遇與電梯操作員或接線員相同的命運——這些工作已經被自動化取代。 2024年,一些大膽的頭條新聞宣稱,人工智慧很快就會編寫我們所有的程式碼,讓人類開發人員無事可做。然而,在炒作和聳人聽聞的背後,現實卻遠比這更微妙。
是的,人工智慧現在產生程式碼的速度比任何人都快,但這些程式碼有多好?人工智慧可以獨立處理整個軟體開發生命週期嗎?大多數專家說「沒那麼快」。微軟執行長薩蒂亞·納德拉等軟體工程領袖強調「人工智慧不會取代程式設計師,但它將成為他們武器庫中的重要工具。這是為了讓人類做更多的事情,而不是更少的事情。」 (人工智慧會取代程式設計師嗎?炒作背後的真相 | 作者:The PyCoach | Artificial Corner | 2025 年 3 月|指出,雖然人工智慧可以處理常規的編碼任務,但「它仍然缺乏創造力和解決問題的能力」 ——而這些正是人類開發人員所具備的品質。就連 OpenAI 的執行長 Sam Altman 也承認,如今的人工智慧「非常擅長完成任務」 ,但在沒有人類監督的情況下「無法完成全部工作」 。簡而言之,人工智慧擅長協助完成部分工作,但無法從頭到尾完全接手程式設計師的工作。
本白皮書以誠實、平衡的視角審視「人工智慧會取代程式設計師嗎?」。我們將探討人工智慧如何影響當今的軟體開發角色以及未來將發生哪些變化。透過真實案例和最新工具(從 GitHub Copilot 到 ChatGPT),我們探索開發者如何隨著人工智慧的發展進行調整、適應並保持競爭力。我們不會給出簡單的「是」或「否」的答案,而是會看到未來是人工智慧與人類開發者合作的時代。我們的目標是重點介紹實用見解——從採用新工具到學習新技能,並預測未來幾年程式設計職業的發展方向。
當今軟體開發中的人工智慧
人工智慧已迅速融入現代軟體開發工作流程。這遠非科幻小說中的場景,基於人工智慧的工具已經在編寫和審查程式碼、自動執行繁瑣的任務並提高開發人員的工作效率。如今,開發人員使用人工智慧產生程式碼片段、自動完成功能、檢測錯誤,甚至編寫測試案例(軟體工程師還有未來嗎?人工智慧的影響 [2024] )(軟體工程師還有未來嗎?人工智慧的影響 [2024] )。換句話說,人工智慧正在接管繁瑣的工作和樣板程式碼,使程式設計師能夠專注於軟體開發的更複雜方面。讓我們來看看一些正在改變程式設計的傑出人工智慧功能和工具:
-
程式碼產生和自動完成:現代人工智慧程式設計助理可以根據自然語言提示或部分程式碼上下文產生程式碼。例如, GitHub Copilot (基於 OpenAI 的 Codex 模型建置)與編輯器集成,可在您輸入時建議下一行或下一段程式碼。它利用龐大的開源程式碼訓練集提供上下文感知的建議,通常僅憑註解或函數名稱即可完成整個函數。同樣, ChatGPT (GPT-4) 可以為特定任務產生程式碼。這些工具可以在幾秒鐘內起草樣板程式碼,從簡單的輔助函數到常規的 CRUD 操作。
-
錯誤檢測與測試:人工智慧還能幫助捕捉錯誤並提升程式碼品質。基於人工智慧的靜態分析工具和程式碼檢查工具可以透過學習過往的錯誤模式來標記潛在的錯誤或安全漏洞。一些人工智慧工具可以透過分析程式碼路徑自動產生單元測試或推薦測試案例。這意味著開發人員可以立即獲得他們可能遺漏的邊緣情況的回饋。透過及早發現錯誤並提出修復建議,人工智慧就像一位不知疲倦的 QA 助手,與開發人員並肩作戰。
-
程式碼最佳化與重構: AI 的另一個用途是建議改進現有程式碼。給定一個程式碼片段,AI 可以透過識別程式碼中的模式來推薦更有效率的演算法或更簡潔的實作。例如,它可以建議更符合慣用的庫用法,或標記可重構的冗餘程式碼。這有助於減少技術債並提升效能。基於 AI 的重構工具可以轉換程式碼以遵循最佳實踐,或將程式碼更新到新的 API 版本,從而節省開發人員手動清理的時間。
-
DevOps 和自動化:除了編寫程式碼之外,AI 還能協助建置和部署流程。智慧 CI/CD 工具利用機器學習來預測哪些測試可能失敗,或優先處理某些建置作業,從而加快持續整合流程並提高效率。 AI 可以分析生產日誌和效能指標,以找出問題或提出基礎架構最佳化建議。實際上,AI 不僅在編碼方面提供幫助,還在從規劃到維護的整個軟體開發生命週期中提供幫助。
-
自然語言介面與文件:我們也看到人工智慧能夠與開發工具實現更自然的互動。開發者可以直接要求人工智慧執行任務(「產生一個執行 X 的函數」或「解釋這段程式碼」)並獲得結果。人工智慧聊天機器人(例如 ChatGPT 或專門的開發助理)可以回答程式設計問題、協助編寫文檔,甚至編寫專案文檔或根據程式碼更改提交訊息。這彌合了人類意圖與程式碼之間的差距,使那些能夠描述自己需求的人更容易進行開發。
-

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