敲門磚變公交卡:這個時代,人人都是程序員

今年 AI 領域最大的突破之一應該是在編程領域,像 Cursor、v0 dev 這樣的 AI 編程工具,不僅大幅降低了普通人編程的門檻,也讓專業程序員的開發效率大幅提升。

但是我們聽到的新聞都是不會編程的高中生、產品經理,借助 AI 編程工具幾個小時就做出了火爆的產品,卻沒有聽到有程序員因為編程效率提升而升職加薪的,反倒是有了更多的對於 AI 會替代程序員的擔憂。

這是因為 AI 編程雖然增強了開發效率,但稀釋了寫程序的稀缺性,並開始改變軟件開發的範式,讓從需求變成產品的單一鏈條,開始分叉成多個分支,大部分需求在鏈條前半部分就得以解決,無需傳遞到後半部分,甚至無需專業程序員參與。

1,直接在需求源頭處進行計算完成,而毋需傳遞到產品設計等工具環節。2,由用戶自主「分解」需求,進而(一定程度的)瓦解了複雜問題為諸個單一訴求,毋需構建軟件系統。3,更高階的、複雜的企業服務訴求,由擅用Ai系統的人進行「分解」,並構建。總的來說,從簡單、中級、複雜層面都會逐漸「消解」。

1,Ai的自然語言特性,又「潤滑」了1、2、3的運作阻礙,使得過程更平滑。2,Ai的廣博特性,又增加了1、2、3的擴展組合可能性。基本上,只要底層模型能持續進化,所謂應用層都會在1、2、3層里逐漸「消解」,剩下的是一個市場教育度、接受度過程。

——— Tales

傳統的開發模式

傳統需求開發模式就像一根鏈條:需求 -> 產品設計 -> 開發 -> 測試 -> 運維。

當用戶有一個需求,比如要翻譯一篇文章,要處理合併 PDF 文件,這都需要專業軟件的支持,這種專業軟件的開發,都需要有專業的產品經理將用戶的原始需求,設計成可以供用戶便於操作的 UI 界面,程序員再基於產品經理的設計,去做系統設計去寫代碼,最後做出來滿足需求的軟件。

在這根鏈條中,產品經理和程序員都是專業度很高的崗位,極難相互替代,即使是非常簡單的 App,普通產品經理也無法勝任程序員的角色,但反過來普通程序員也做不了產品設計的工作。當然也存在極少數能兼任的「獨立開發者」。

AI 帶來的範式變化

簡易需求無需開發

第一個變化是簡單的需求不再需要「軟件」了,直接通過和 AI 「聊天」就解決了。

以前我們翻譯需要專業的軟件,現在把文字發給 ChatGPT 或者 Claude 這樣的 AI 工具,很快就給我們翻譯出來了;或者一段報告需要把裡面的結構化數據提取出來,以前要寫腳本或者用工具,現在也是發給 AI 就好了;這樣的例子很多,我們日常中一些常見的小需求,很輕鬆就可以用 AI 聊天工具滿足了。

而且 AI 模型也在升級,以前 ChatGPT、Claude 們 還只能聊天,現在可以上傳圖片、文檔,生成文檔,未來還能生成影片,還可以執行代碼,虛擬機運行一段 Python 腳本,或者生成一份漂亮的報表,能做的事情越來越多。

普通需求無需專業程序員

第二個變化就是有了產品設計,就算沒程序員,也可以啟動項目,做出原型。

以前流行的一個梗是:「萬事俱備,就差一個程序員」,畢竟光是產品設計還不夠,需要程序員把產品設計實現出來,但是現在有了 AI 輔助,即使沒有編程基礎,也可以做出來簡單的應用,或者原型。

很多程序員瞧不上這些 AI 開發出來的產品,覺得不夠專業,只是原型類產品,但是它們真的能滿足需求,很多時候用戶沒有那麼挑剔,滿足需求就好,也許不穩定也許不夠好看,但能解決問題。

最近很火的小貓補光燈,重要的不是它是用 AI 做出來的,不是作者職業是產品經理不是專業程序員,而是它能滿足用戶的需求,用戶願意掏錢。至於用了 AI,本質不過是實現需求和營銷的工具罷了。

未來這樣的案例會越來越多,甚至會出現小而美應用爆發的情況,因為需求的分解和製作,初期不再需要專業程序員的參與,非專業人士也可以將普通需求轉換為原型。一旦被證明需求可行,要麼作者可以進一步學習專業編程技術,要麼找程序員合作。

為什麼現在程序員做獨立開發者成功的寥寥?因為程序員們離需求都太遠了,離用戶太遠了,並不知道用戶想要什麼,也不知道怎麼賣給用戶!

其實用戶有很多需求痛點沒有被滿足,但以前苦於沒有技術能實現,而現在起,很多需求用戶可以借助 AI,自己將這些需求變成工具,先滿足自己和身邊人的需求,其中一部分會火出圈去。

複雜需求的開發效率,會大幅提升

第三個變化是 AI 將大幅提升專業程序員的開發效率,進而縮短軟件項目開發週期。

迄今為止,軟件工程經歷了幾次大的變革:

  • 瀑布模型:真正意義上的標誌著軟件工程的開始,有了明確的分工,有了軟件項目生命週期,讓軟件開發可衡量

  • 敏捷開發:讓軟件項目進入小型化,可以快速迭代快速交付,更好的響應需求變更

  • DevOps:持續交付,持續集成,讓整個開發、集成和部署實現了自動化,將開發、測試和運維從繁重的手工工作中解放出來,從需求端到最終發佈實現了整個流程的自動化,並且通過自動化測試保障了軟件的質量

接下來 AI 會引發軟件工程的再一次變革,讓軟件開發變得智能化。這個智能化過程會分成幾個階段。

第一個階段是我們正在經歷的, AI 編程工具正在幫助程序員們大幅提升開發效率。去年 GitHub Copilot 給我的感覺是大約能提升 10%-20% 的開發效率,今年的 Cursor 已經能讓我有 30%-50% 的效率提升,當然這取決於項目類型和使用者的熟練程度,但這個趨勢很明顯。

第二個階段是不久後會到來的,就是 AI 不僅是在編程領域,在測試和運維等其他領域也會大幅提升效率,很多自動化測試代碼將由 AI 生成,Claude 的 computer use 這類技術成熟後,很多以前只能手工測試的工作將可以由 AI 完成,人工只要少量校驗即可。以後一些線上運維的日誌分析、故障恢復排查,AI 也可以發揮重要作用。

第三個階段是未來會有針對 AI 技術的全新的軟件架構和編程語言,傳統的軟件架構和編程語言都是針對人來設計的,現在的 AI 是去遷就人類,用人類的方式去編程,這不一定是最適合 AI 的方式。

現在的生成式 AI 只是生成文本、圖片和影片,未來的 AI 應該是直接可以動態生成 UI 界面和遊戲畫面的,這也會讓編程進一步自然語言化,通過自然語言可以做出更複雜的軟件和遊戲。

當然這些只是我的推測,也許實際情況會有所出入。

啟示

每一次這樣的變革,是挑戰也是機遇。

對於普通人來說,一些痛點可以借助 AI 去解決,不僅可以借助 AI 聊天工具,還可以借助 AI 編程工具寫一些小腳本小工具,直接解決痛點,大幅提升自己的工作效率,甚至可以創造出火爆的產品。

對於產品經理來說,可以不必再止步或者受限於產品設計領域,可以進一步,借助 AI 編程工具,做出可用的原型類產品,快速驗證需求。

對於程序員來說,未來掌握 AI 編程工具提升效率是必不可少的,不然有淘汰的風險,實際上用起來比想像的可能要容易,都不需要花錢買課程,只要心理上不牴觸多用多體會就可以。

另一方面,程序員如果能去多接觸用戶,多發現身邊的需求,不需要去捲筆記、記賬、ToDo三件套這種需求爛大街的產品,借助 AI 能快速去實現去交付,我敢保證你做出來的結果肯定比非專業程序員的好很多。

雖然現在就業形勢不好,但是站在全球市場來說,其實遊戲、App、網站的需求都很大,善於發現能找到很多機會,先去找到需求,然後用 AI 快速實現上線,快速試錯積累經驗,一定可以找到屬於自己的機會。

無論是什麼職業,如果想在變革中抓住機會,最重要還是持續學習和適應,瞭解最新的 AI 工具和能力邊界,掌握與 AI 協作的最佳實踐,不必局限於自己所從事的職業,借助 AI 提升自己的跨界能力。

無論未來軟件工程的需求開發範式如何變化,價值的本質是沒有變的——創造價值的本質依然是幫助用戶解決實際問題。AI 工具的出現讓我們能夠更快地驗證想法,更高效地解決問題,但最終的成功仍取決於是否能為用戶創造真正的價值。

AI 帶來的範式轉變不是在淘汰某類角色,而是在重塑整個軟件開發生態。未來的成功屬於那些能夠理解這種轉變,並善於利用新工具來創造價值的人。