倫敦出租車司機(jī)的遭遇,暗示了程序員的未來
1
倫敦的出租車司機(jī),特別是那些駕駛傳統(tǒng)的黑色出租車的司機(jī),可能是世界上最厲害的。

為了取得出租車的駕照,他們必須通過一項(xiàng)叫做“The knowledge”的嚴(yán)格測(cè)試。
在考試中,考官會(huì)給出兩個(gè)地點(diǎn),司機(jī)需要描述出從一個(gè)地點(diǎn)到另一個(gè)地點(diǎn)的最快路線。
這個(gè)過程需要司機(jī)記住倫敦?cái)?shù)千條街道和眾多的地標(biāo),對(duì)倫敦的地理位置有深入的了解,包括街道、建筑、公園、酒店、商店、劇院、餐館等等。
為了通過這項(xiàng)1864年就引入的測(cè)試(當(dāng)時(shí)只有馬車),司機(jī)們需要花費(fèi)幾年的時(shí)間來學(xué)習(xí)和準(zhǔn)備。
這個(gè)測(cè)試提升了倫敦出租車司機(jī)的服務(wù)水平,他們成為了活地圖,同時(shí)也構(gòu)成了倫敦出租車行業(yè)的巨大的門檻,一般人很難進(jìn)入。
然后Uber來了,手機(jī)+GPS讓最短路徑規(guī)劃變成一件任何人都唾手可得的事情,突然之間,“The knowledge” 不再是有價(jià)值的專業(yè)知識(shí)了,任何有駕照的人都可以進(jìn)入這個(gè)行業(yè)。
結(jié)果是出租車的競(jìng)爭(zhēng)更加激烈,平均收入下降了10%。
專業(yè)知識(shí)被新技術(shù)普及化,極大地拉近了新手和專業(yè)人士之間的差距。
2
無獨(dú)有偶,類似的現(xiàn)象也出現(xiàn)在了編程行業(yè)。
微軟的研究人員做了一個(gè)研究,看看人工智能編程助手Copilot對(duì)程序員的影響有多大。?

他們把志愿者分成兩組,一組使用Copilot輔助編程,另外一組則不用。
兩個(gè)小組的任務(wù)都是用JavaScript實(shí)現(xiàn)一個(gè)HttpServer。?
結(jié)果不出意料,使用了Copilot那組比另外一組要快56%。?
讓人震驚的是:經(jīng)驗(yàn)較少的新手從Copilot中獲益更大。
AI助手Copilot通過訓(xùn)練獲得了很多大量的專業(yè)知識(shí),這些隱形的知識(shí)對(duì)新手非常有用,特別是在某些新手并不知道怎么寫代碼的情況下,瞬間生成大量、高質(zhì)量的代碼,極大地提升了新手的編程能力。?
可是,對(duì)于有經(jīng)驗(yàn)的開發(fā)幫助卻并不大,因?yàn)樗麄儽緛砭蜁?huì),AI助手只是提升了編碼的速度而已。
倫敦出租車的專業(yè)知識(shí)類似于編程界的編程語言、工具、框架、LeetCode......
這些專業(yè)知識(shí)也構(gòu)成了程序員的入門門檻,也需要幾個(gè)月~幾年的訓(xùn)練才能掌握。?
AIGC的出現(xiàn),雖然不能像Uber那樣對(duì)“The knowledge”進(jìn)行降維打擊,也將極大地降低這個(gè)門檻,會(huì)拉近新手和有經(jīng)驗(yàn)程序員之間的距離。
對(duì)于水平一般的程序員來說,這不是個(gè)好消息,門檻降低,人數(shù)增多,有人可以進(jìn)來?yè)尰盍耍赡軙?huì)帶來工資下行的壓力。
3
程序員可以有這些選擇:
(1)呆著不動(dòng)
國(guó)外的AIGC工具使用受限,很多人連弄個(gè)賬號(hào)這一步都邁不出去,而國(guó)內(nèi)的大模型生成代碼的質(zhì)量還遠(yuǎn)遠(yuǎn)不夠,所以呆住不動(dòng),短期內(nèi)看起來影響也不大。
不過,如果看到某些同事生產(chǎn)率突然暴漲,一定得關(guān)注一下。
(2)往上走
我之前把軟件系統(tǒng)的開發(fā)分成三個(gè)層面:
系統(tǒng)級(jí)、模塊級(jí)、函數(shù)級(jí)
函數(shù)級(jí)代碼生成,對(duì)AIGC來說是小菜一碟。
模塊級(jí)設(shè)計(jì),AIGC也展示了很強(qiáng)的能力。
所以這兩塊對(duì)相關(guān)程序員的沖擊最大,新手抄起家伙(ChatGPT)就上來了。
對(duì)于系統(tǒng)設(shè)計(jì),架構(gòu)設(shè)計(jì),程序員的經(jīng)驗(yàn)還有護(hù)城河,AIGC還不太行。
參見文章:《ChatGPT開始威脅程序員的核心能力了》
程序員可以進(jìn)入AIGC觸及不到,或者比較弱的領(lǐng)域。
(3)跨界
AIGC賦予了程序員這樣的能力:
一個(gè)做過嵌入式開發(fā)的程序員,可以在ChatGPT的輔助下,實(shí)現(xiàn)復(fù)雜的Python爬蟲。
一個(gè)只懂一點(diǎn)兒JavaScript的后端程序員,可以實(shí)現(xiàn)復(fù)雜的前端界面
(詳情參見這篇文章《生成復(fù)雜前端界面》)
一個(gè)不懂Android的程序員,也可以實(shí)現(xiàn)APP。
......
通過跨界,程序員可以實(shí)現(xiàn)更大的價(jià)值,如果有好的想法,在AIGC的輔助下可以去獨(dú)立實(shí)現(xiàn)。
(4)尋找新機(jī)會(huì)
在銀行業(yè),ATM的大規(guī)模應(yīng)用和在線銀行的發(fā)展,并沒有摧毀柜臺(tái)人員,相反,從1980到2020年間,銀行柜臺(tái)人員有所增加,這是為什么呢?

分析發(fā)現(xiàn),柜臺(tái)人員的職責(zé)發(fā)生了變化,他們轉(zhuǎn)行了,開始提供更復(fù)雜的服務(wù),比如財(cái)務(wù)顧問或客戶關(guān)系管理。
這些員工可以幫助客戶理解和選擇信用卡,貸款,投資產(chǎn)品等,這些都是ATM和在線銀行無法提供的服務(wù)。
AIGC的出現(xiàn),開源大模型的“泛濫”,對(duì)算力的要求越來越低,肯定會(huì)進(jìn)入各個(gè)行業(yè),也可能讓程序員出現(xiàn)轉(zhuǎn)型。
我甚至覺得對(duì)程序員來說,訓(xùn)練、微調(diào)大模型可能會(huì)變成像Spring開發(fā)那樣的基礎(chǔ)能力。
在ChatGPT信息過載,各種消息滿天飛的時(shí)候,不妨沉下心來在這方面學(xué)習(xí)一下。