抱歉,您可能會發現這是一篇非常長的文章。從標題來看,你可能認為我要么即將宣揚人工智慧的無限榮耀,要么宣稱它將如何逐漸終結世界並奪走你的工作。
但我保證事實並非如此。事實上,既然您正在 Dev.to 上閱讀本文,我保證會告訴您為什麼您可能在後人工智慧世界中表現出色。
自從程式設計存在以來,有一件事一直保持不變:它始終與編寫程式碼有關。儘管幾十年來計算技術發生了怎樣的變化,但有一件事保持不變……我們編寫程式碼,機器遵循我們的指令。
如今,Copilot、Cursor 和 ChatGPT 等工具正在徹底改變這個過程。人工智慧不只是遵循指令;它有助於創造它們。你描述你需要什麼,它就會輸出程式碼,讓你到達一半——有時甚至更遠。
感覺難以置信。
但這引發了令人不安的問題。如果人工智慧在編寫程式碼方面變得更好,那麼開發人員還剩下什麼?這是數十年職業生涯的結束,還是更偉大事業的開始?
我認識的最優秀的程式設計師不會被 ChatGPT 和 Claude 充滿幻覺的輸出嚇倒。但計算的歷史表明,這些程式設計師不應該如此自信,認為世界無論如何都不會要求他們適應。
我們生產軟體的每一次演進都是一個抽象的故事。建立應用程式所需的資料量並沒有隨著時間的推移而減少,而是變得更大。但我們用來描述資料的字詞已經變得更加富有表現力和簡潔。
號
號
如果歷史教會了我們什麼的話,那就是新工具不會消除就業機會,而是創造就業機會。
1957 年的一個人:“編譯器永遠無法超越我手工編寫的機器碼。”
程式設計最初意味著管理每個細節——手動分配記憶體、編寫針對特定硬體的低階程式碼以及了解機器的每個複雜性。這是一種非常小眾且難以獲得的技能。今天的學生可以在任何可以執行瀏覽器的環境中毫不費力地呈現他們的 React pièce de résistance,而無需擔心具體的細節。抽象的每一次飛躍不僅使複雜系統的編程變得更加容易,而且還釋放了無數新的機會,以更少的努力擴展了可能性。
我相信人工智慧輔助編碼非常適合這個正在進行的抽象故事。程式設計發展的每一次轉變都有一個中心主題:程式碼可以表示為資料。每一次範式轉移都是關於抽象化我們如何描述和操作這些資料。大型語言模型將這種抽象更進一步:它們允許我們以自然語言的形式表示程式碼(以及生成式人工智慧可以產生的任何其他內容)。
與之前的許多計算範式轉變不同,人工智慧不僅僅是抽象程式碼……它還抽象工作本身。強大的開發人員可以詳細描述他們的需求,而人工智慧幾乎可以處理其餘的事情。 「代理」工具正在變得能夠在某種程度上自主地進行腦力激盪和規劃——至少,它們看起來是這樣做的。這些程式編寫的程式碼不一定能通過頂級程式設計師的嗅探測試(事實上,這些程式碼甚至可能無法執行),但看起來我們距離獲得一致且可靠的輸出並不遙遠。
人工智慧也不像編譯器是工具箱中的確定性工具。存在一定程度的混亂和不可預測,當與它對許多事物的近似知識相結合時,使它能夠充當一個非常好的合作者。即使您不直接使用它編寫的程式碼,您可能會發現它是一個很棒的橡皮鴨,能夠來回彈跳想法,並願意迭代您的任何荒謬的想法。在研究如何建立系統時,它快速解析大量文件的能力非常有用。這意味著開發人員的角色將以新的方式演變。
未來,工作保障最高的開發人員不一定是最熟悉語言特性、API 和函式庫的人。人工智慧——即使處於目前令人印象深刻但原始的狀態——已經可以以令人驚訝的準確度來近似大部分資訊。
相反,受益最多的開發者將是那些擅長人工智慧(希望)長期努力解決的問題的開發者。至少到目前為止,人工智慧無法將整個業務環境保存在記憶體中。它不理解該域。它無法掌握客戶、路線圖、預算、政治、文化、定位、策略——或團隊過去的失敗和勝利。它在世界上不存在,與駕駛這艘船的人們建立關係,它被提示幫助駕駛。儘管它具有創造能力,但它對其所在行業的認識卻很少。
ChatGPT 的弱點是它不會評論產品總監傑夫的酷皮夾克來建立融洽關係。
尋求利用人工智慧建立和理解複雜關係的能力的固有弱點的開發人員將改變他們的優先事項。不再值得付出如此多的努力來編寫程式碼,因為大型語言模型最終將透過自然語言充分抽像出可靠程式碼的生成。從程式設計的角度來看,開發人員只要在其技術領域足夠專業,就足以確保機器不會犯任何關鍵的技術錯誤。
更重要的是,適應性強的開發人員將利用他們對業務領域的深刻理解——人工智慧在這個領域根本沒有能力競爭,至少目前是如此。對最終用戶、業務和工作人員具有真正興趣和同理心的開發人員將使用人工智慧來建立最有效的解決方案,與那些堅定地保留傳統編碼人員的人相比,只需花費1/10 的工作量-他們,在企業眼中,他們會因樹木而思念森林,追求自己親手解決的難題所帶來的多巴胺激增。
蓬勃發展的開發人員將是那些學習如何與人工智慧協作、利用其所有優點和缺點的人。
如果人工智慧將程式設計的本質從“編寫程式碼”轉變為“闡明解決方案”,那麼當今開發人員所重視的技能將發展為普遍包含那些有時間在預編程中積累軟體工程經驗的人所磨練的軟技能。
最初,最安全的群體將是因提供可衡量的業務影響而聞名的高級工程師和經理。他們將收穫這種轉變的早期好處,距離突然擴大的價值鴻溝的邊緣僅幾英寸,這將他們與沒有機會積累技術經驗或領域知識的即將到來的初級開發人員分開。這些新來者在試圖穿過一座在他們腳下突然倒塌的橋時遭遇了嚴重的不幸。
但即使是高級工程師也不會永遠安全。對於高級和初級工程師來說,關鍵的一步是充分依靠他們在人工智慧方面的獨特優勢,並擺脫其他一切。
清晰地闡明問題並將其分解為可操作的邏輯步驟的能力將是一項關鍵的差異化技能。人工智慧可以產生程式碼,但它無法理解模糊或結構不良的需求。開發人員必須有效率地將業務需求轉化為人工智慧可以有效採取行動的提示。他們必須提供適量的技術背景,以免人工智慧因設計不足或過度設計糟糕的實現而失控。
雖然人工智慧可以編寫系統的各個元件,但它還無法設計所有這些部件如何組合在一起,至少不能很好地組合在一起。根據我個人的經驗,它很快就會忽略大局,並且在評估重要決策時優柔寡斷。開發人員需要專注於架構和集成,確保人工智慧生成的部分適合更廣泛的系統並與組織目標保持一致。
我們需要在這裡重構這個矩形,否則我們都會立即死亡。
開發人員需要嚴格評估和完善人工智慧輸出,確保它們有效率、安全並符合業務目標。這將涉及技術專業知識和透過生產系統經驗磨練出來的直覺。
與利害關係人建立信任、了解使用者痛點並倡導符合公司價值觀的解決方案的開發人員將擁有明顯的優勢。這些還不是人工智慧可以複製的技能,它們將使最好的開發人員脫穎而出。 (可以說,他們已經這樣做了。)
身為開發人員,衡量成功的標準從來不是、也不會是你能推送多少行程式碼,而是你能帶來多大的影響。這一新格局的贏家將是那些:
提供真正解決用戶問題的解決方案。
建構可根據業務需求進行擴充的彈性系統。
使用人工智慧作為乘數,而不是拐杖。
這是從工匠心態到戰略家心態的轉變。最好的開發人員會花更少的時間手動重構和測試,而花更多的時間解決有意義的問題。傳統上編寫程式碼的技能將變得越來越沒有內在價值,除非尖峰技術效能對業務或產品策略至關重要。
事實是:開發人員的角色不會消失,但開發人員的日常工作將會發生巨大變化。重複性、耗時且易於描述的任務將被自動化。這不是威脅,而是機會。
接受這項變更的開發人員將有更多時間專注於真正重要的事情。打造無縫體驗。發現創新的解決方案。解決現實世界的問題。
但那些抵制的人——加倍強調手動流程或忽視這些工具的潛力的人——可能會被拋在後面。人工智慧不會等待任何人趕上。如果您發現自己嘲笑當今人工智慧產生的不完美程式碼,請記住:曾經有一位偉大的程式設計師相信他們總是能寫出比編譯器更好的彙編語言。我們知道這個故事的結局。
這種轉變的美妙之處在於它降低了障礙,為任何願意學習的人打開了大門。生成式人工智慧是一種工具,而不是替代品,就像之前的每一次典範轉移一樣,擁抱它的人將增強他們解決問題的能力。無論您是剛起步的初級開發人員還是經驗豐富的架構師,人工智慧都提供了一種方法,可以讓您做得更多、更快,並且更專注於真正重要的事情。
但要在這個新時代取得成功需要適應。你不能將人工智慧僅僅視為另一種自動化工具。這是一個合作者。了解如何有效地指導它——如何建立問題、驗證輸出以及迭代解決方案。將您的注意力從編碼機制轉移到更廣闊的前景:了解使用者、設計系統並與策略保持一致。
人工智慧本身正在抽象化努力,讓開發人員能夠將精力投入到真正重要的地方:推動真正的影響力。如果你能掌握這種轉變,你就不僅僅是跟上——你將能夠改變世界。
表現最好的開發人員不僅會編寫程式碼,還會編寫程式碼。他們將使用人工智慧重新定義企業的運作方式。透過利用他們的技術技能與人工智慧協作,他們將自動定義和翻譯業務和用戶需求,分析非結構化資料以發現機會,並找出流程中的低效率。這些開發人員不僅會實現工作流程的自動化,還將有效地實現組織本身的自動化。
薩姆·奧爾特曼關於獨角獸的預言在未來十年內成為現實並不牽強。
對於那些非技術崗位的人來說,這應該是一個警鐘。使用人工智慧的開發人員不會只限於他們的傳統領域,他們還會擴展到其他領域,從行銷和營運到設計,甚至產品領導力。不是惡意,也不是故意取代人們,而是因為人工智慧將為他們(或僱用他們的公司)提供工具,從根本上改變曾經不可觸及的手動流程。
解決方案很簡單:學習建置。不一定像軟體工程師那樣編碼,而是設計和建構解決問題的系統。在差距擴大之前,現在就開始吧。
人工智慧正在改變工作的性質。任何可以實現獲利的自動化流程都可能實現。這不是猜測——這是技術進步的軌跡。了解如何使用這些工具建立、建構和解決問題的人將領先一步,實現任務自動化、提高生產力並釋放全新的機會。
如果您擔任非技術角色,您可能會想:“我不需要學習編碼。人工智慧會為我處理它。”這在某種程度上是正確的——人工智慧工具正在降低進入門檻,讓入門變得更容易。但在這個時代蓬勃發展的人將是那些了解並充分實踐如何從無到有建立解決方案的基礎知識的人。
人工智慧不是魔法。它不了解您的業務、您的客戶或您的目標。它仍然依賴人類的輸入——依賴於能夠提出問題、驗證輸出和整合解決方案的人。開發人員已經知道如何做到這一點,並且他們正在與人工智慧合作來突破界限。你也可以做到-只需要練習和適應的意願。
感謝您閱讀我關於 Dev.to 的第一篇文章。我真誠地相信,對於所有擁抱人工智慧的專業人士來說,未來都是光明的——不僅將其作為一種工具,而且將其視為解決有意義問題的合作夥伴。
這種典範轉移並不是程式設計師的終結,但很可能是新程式設計時代的開始。職業生涯將迅速發展。唯一不變的是變化。在這個世界上生存的關鍵是適應力。
去建造一些東西吧。無論您是經驗豐富的開發人員還是從未編寫過一行程式碼的人,都沒關係。花一個小時探索可能性。使用人工智慧來解決問題、自動執行繁瑣的任務或創造一些只是為了好玩的東西。
今天進行實驗、學習和建構的人們——無論他們是否有技術經驗——都是明天蓬勃發展的人。
成為他們中的一員。