第1章
AI時(shí)代:按回車?yán)^續(xù)
正常的一天------------------------------------------,林遠(yuǎn)在假裝寫代碼。 Pro的對(duì)話框亮著,光標(biāo)一閃一閃,等他輸入。他一個(gè)字也沒(méi)打。,技術(shù)總監(jiān)從七樓下來(lái)了。。,HR把小張叫進(jìn)了會(huì)議室。,一動(dòng)不動(dòng)。他在聽(tīng)。整層樓都在聽(tīng)——鍵盤聲比平時(shí)輕了一半,所有人都在敲,但沒(méi)有人真的在寫東西。,小張出來(lái)了。沒(méi)回工位,從抽屜里拿了手機(jī)和鑰匙,背上包,走了。經(jīng)過(guò)林遠(yuǎn)工位的時(shí)候低了一下頭,什么也沒(méi)說(shuō)。,老劉。十點(diǎn)四十,前端組的小李。。微信工作群靜悄悄的?!诌h(yuǎn)記得很清楚——周哥的名字被念到了。。桌上的龍井茶杯碰了一下,他伸手扶住,端起來(lái),走進(jìn)了會(huì)議室。背很直。。茶涼了。。。坐在臺(tái)階上,一根煙夾在手指間,沒(méi)點(diǎn)著。,掏出打火機(jī)。
"咔嗒。"
火苗跳了一下。周哥接了,吸了一口,沒(méi)說(shuō)話。
樓上有人在收拾東西。紙箱碰桌角,悶悶的一聲,又一聲。
林遠(yuǎn)低頭看了看自己的手。今天早上這雙手還在鍵盤上敲代碼——準(zhǔn)確地說(shuō),是在看AI敲代碼。
他不知道名單上有沒(méi)有自己。HR還在念。
但他知道另一件事:CodePilot Pro寫的代碼比他好。
這件事他藏了很久。像一個(gè)不會(huì)響的鬧鐘,擺在腦子里,每天看見(jiàn),每天假裝沒(méi)看見(jiàn)。
——半年前,它第一次響了。
三月。**還冷。
七點(diǎn)一刻鬧鐘響,林遠(yuǎn)賴了五分鐘,起來(lái)洗漱??蛷d臺(tái)燈亮著,蘇晚盤腿坐在地上,iPad支在腿上畫畫。她是早起型,比他自律。
"冰箱里沒(méi)菜了。"
"下班買。"
出門前蘇晚頭也沒(méi)抬,說(shuō)了句"路上小心"。在一起三年了,這句話從來(lái)沒(méi)斷過(guò)。
三月的風(fēng)還帶著涼意,他拉了拉外套拉鏈往地鐵站走。
地鐵上人不多。耳機(jī)里放著一個(gè)技術(shù)播客,和AI沒(méi)關(guān)系,聽(tīng)個(gè)響。手機(jī)推了一條新聞:"OpenAI發(fā)布新一代大模型,代碼能力實(shí)現(xiàn)質(zhì)的飛躍——"
劃過(guò)去了。
這種標(biāo)題最近越來(lái)越多。每隔幾天一個(gè)"顛覆性突破",一個(gè)"全面超越"。起初還會(huì)點(diǎn)進(jìn)去看兩眼,后來(lái)學(xué)會(huì)了劃走。
不是不信。是不想信。
八點(diǎn)四十到公司。微瀾數(shù)據(jù),**城西一棟寫字樓的七樓。中型數(shù)據(jù)服務(wù)公司,四百來(lái)號(hào)人,主營(yíng)給AI公司做訓(xùn)練數(shù)據(jù)——清洗、標(biāo)注、質(zhì)檢。說(shuō)白了就是給AI搬磚。
林遠(yuǎn)在后端開(kāi)發(fā)組,寫數(shù)據(jù)處理系統(tǒng)的。工位靠窗。打開(kāi)電腦,CodePilot Pro自動(dòng)啟動(dòng),桌面右下角藍(lán)色小圖標(biāo),三個(gè)月前公司統(tǒng)一部署的,全員必裝。
他跟它之間有一套默契:用,但不交出去。寫代碼先自己理思路,卡住了讓它提示,不整段整段讓它寫。組里有人已經(jīng)完全讓AI出初稿再自己改,速度確實(shí)快。實(shí)習(xí)生小趙前兩天還跟他說(shuō)——"遠(yuǎn)哥,讓AI先寫一版你在上面改,效率翻倍。"
他試過(guò)一次??粗鳤I吐出來(lái)的代碼跑通了所有測(cè)試,坐在那兒愣了半天。
心里有個(gè)聲音問(wèn):那你干了什么?
后來(lái)就不那么用了。別人以為他是老派,習(xí)慣手寫。其實(shí)不是。他只是不想再聽(tīng)到那個(gè)問(wèn)題。
上午寫了兩個(gè)小時(shí)的代碼。還行,有手感,思路順。中間有個(gè)并發(fā)邏輯卡了一會(huì)兒,他換了個(gè)角度,跑通了。跑通的瞬間他往椅背上一靠,長(zhǎng)出一口氣——這種感覺(jué)說(shuō)不清楚,像拼圖最后一塊咔噠一下扣進(jìn)去。腦子在轉(zhuǎn)、代碼在長(zhǎng)、測(cè)試一個(gè)一個(gè)變綠,像在搭一個(gè)看得見(jiàn)的東西。
他喜歡這種感覺(jué)?;蛘哒f(shuō),他需要這種感覺(jué)。
下午三點(diǎn)四十。
手頭的活做完了——一個(gè)數(shù)據(jù)清洗模塊,處理上游標(biāo)注系統(tǒng)傳過(guò)來(lái)的臟數(shù)據(jù)。代碼跑通了,單元測(cè)試全過(guò),沒(méi)什么毛病。
他保存了文件??戳艘谎鬯闹堋W筮呅≮w戴著耳機(jī)在看教程,右邊那哥們開(kāi)著降噪,隔壁組在開(kāi)會(huì)。沒(méi)人注意他。
他打開(kāi)了CodePilot Pro的對(duì)話窗口。
手懸在鍵盤上面,停了幾秒。
他跟自己說(shuō):就是好奇??纯此軐懗墒裁礃?。純屬技術(shù)比較。
他把這個(gè)模塊的需求文檔——產(chǎn)品經(jīng)理寫的那份——復(fù)制粘貼了進(jìn)去。
"請(qǐng)根據(jù)以上需求從零實(shí)現(xiàn)該數(shù)據(jù)清洗模塊。Python,F(xiàn)astAPI框架。"
回車。
代碼一行一行往外跳??斓孟翊蜃志毩?xí)。
他看著它寫。函數(shù)名比他起的規(guī)范。異常處理比他覆蓋的全。中間那段并發(fā)邏輯——他上午卡了將近一個(gè)小時(shí)、換了三種方案才跑通的——AI沒(méi)卡,直接給了一個(gè)他沒(méi)想到的寫法。
他看懂了那段代碼。比他的好。不是好一點(diǎn),是思路根本不在一個(gè)層面上。
他還沒(méi)把上午的思路回憶完,AI已經(jīng)寫完了。
四分鐘。
他把AI的代碼拷到本地跑測(cè)試。全過(guò)。打開(kāi)對(duì)比工具,兩份代碼并排放在屏幕上。
左邊是他的。花了大半天。變量命名有點(diǎn)隨意,有兩個(gè)邊界條件漏了,中間那段并發(fā)邏輯能用但不夠干凈——他知道不夠干凈,但當(dāng)時(shí)想著先跑通,之后再重構(gòu)。
右邊是AI的。四分鐘。結(jié)構(gòu)清晰,邊界全覆蓋,并發(fā)那段像是教科書寫的。跑了個(gè)性能測(cè)試,快百分之十一。
他盯著屏幕。
不是在看代碼。
他寫了五年程序。大學(xué)里開(kāi)始寫,畢業(yè)進(jìn)微瀾到現(xiàn)在三年多,有時(shí)候周末也寫——不為加班費(fèi),就是想把某個(gè)東西搞明白。他不算聰明,但肯花時(shí)間。代碼寫多了會(huì)有一種手感,像開(kāi)了很久的車,身體比腦子先知道該怎么轉(zhuǎn)彎。
他一直以為這叫經(jīng)驗(yàn)。以為這東西有價(jià)值。
屏幕上兩列代碼安安靜靜并排著。像兩份考卷——一份花了大半天,一份花了四分鐘。
閱卷的人不會(huì)管你花了多久。
他關(guān)掉了右邊的窗口。
把光標(biāo)移到左邊,自己寫的那份,點(diǎn)了提交。然后關(guān)掉對(duì)比工具,關(guān)掉對(duì)話框,清空了和CodePilot Pro的聊天記錄。
就好像什么都沒(méi)發(fā)生過(guò)。
六點(diǎn)。下班。
地鐵上,耳機(jī)里的播客不知道什么時(shí)候換了話題。兩個(gè)嘉賓在聊"AI到底會(huì)不會(huì)取代程序員",語(yǔ)氣輕松,像在聊火星**——理論上可能,但跟我有什么關(guān)系呢。
今天之前,林遠(yuǎn)也是這么想的。
他把耳機(jī)摘了。
車窗外隧道的燈一盞一盞掠過(guò)去,節(jié)奏很快。他靠著車門站著,手機(jī)揣在兜里沒(méi)拿出來(lái)。今天下班得買菜,蘇晚說(shuō)冰箱空了。白菜,雞蛋,再來(lái)塊豆腐。
他在心里認(rèn)真地列清單。
因?yàn)槿绻幌脒@些,腦子里就只剩一個(gè)數(shù)字。
四分鐘。
"咔嗒。"
火苗跳了一下。周哥接了,吸了一口,沒(méi)說(shuō)話。
樓上有人在收拾東西。紙箱碰桌角,悶悶的一聲,又一聲。
林遠(yuǎn)低頭看了看自己的手。今天早上這雙手還在鍵盤上敲代碼——準(zhǔn)確地說(shuō),是在看AI敲代碼。
他不知道名單上有沒(méi)有自己。HR還在念。
但他知道另一件事:CodePilot Pro寫的代碼比他好。
這件事他藏了很久。像一個(gè)不會(huì)響的鬧鐘,擺在腦子里,每天看見(jiàn),每天假裝沒(méi)看見(jiàn)。
——半年前,它第一次響了。
三月。**還冷。
七點(diǎn)一刻鬧鐘響,林遠(yuǎn)賴了五分鐘,起來(lái)洗漱??蛷d臺(tái)燈亮著,蘇晚盤腿坐在地上,iPad支在腿上畫畫。她是早起型,比他自律。
"冰箱里沒(méi)菜了。"
"下班買。"
出門前蘇晚頭也沒(méi)抬,說(shuō)了句"路上小心"。在一起三年了,這句話從來(lái)沒(méi)斷過(guò)。
三月的風(fēng)還帶著涼意,他拉了拉外套拉鏈往地鐵站走。
地鐵上人不多。耳機(jī)里放著一個(gè)技術(shù)播客,和AI沒(méi)關(guān)系,聽(tīng)個(gè)響。手機(jī)推了一條新聞:"OpenAI發(fā)布新一代大模型,代碼能力實(shí)現(xiàn)質(zhì)的飛躍——"
劃過(guò)去了。
這種標(biāo)題最近越來(lái)越多。每隔幾天一個(gè)"顛覆性突破",一個(gè)"全面超越"。起初還會(huì)點(diǎn)進(jìn)去看兩眼,后來(lái)學(xué)會(huì)了劃走。
不是不信。是不想信。
八點(diǎn)四十到公司。微瀾數(shù)據(jù),**城西一棟寫字樓的七樓。中型數(shù)據(jù)服務(wù)公司,四百來(lái)號(hào)人,主營(yíng)給AI公司做訓(xùn)練數(shù)據(jù)——清洗、標(biāo)注、質(zhì)檢。說(shuō)白了就是給AI搬磚。
林遠(yuǎn)在后端開(kāi)發(fā)組,寫數(shù)據(jù)處理系統(tǒng)的。工位靠窗。打開(kāi)電腦,CodePilot Pro自動(dòng)啟動(dòng),桌面右下角藍(lán)色小圖標(biāo),三個(gè)月前公司統(tǒng)一部署的,全員必裝。
他跟它之間有一套默契:用,但不交出去。寫代碼先自己理思路,卡住了讓它提示,不整段整段讓它寫。組里有人已經(jīng)完全讓AI出初稿再自己改,速度確實(shí)快。實(shí)習(xí)生小趙前兩天還跟他說(shuō)——"遠(yuǎn)哥,讓AI先寫一版你在上面改,效率翻倍。"
他試過(guò)一次??粗鳤I吐出來(lái)的代碼跑通了所有測(cè)試,坐在那兒愣了半天。
心里有個(gè)聲音問(wèn):那你干了什么?
后來(lái)就不那么用了。別人以為他是老派,習(xí)慣手寫。其實(shí)不是。他只是不想再聽(tīng)到那個(gè)問(wèn)題。
上午寫了兩個(gè)小時(shí)的代碼。還行,有手感,思路順。中間有個(gè)并發(fā)邏輯卡了一會(huì)兒,他換了個(gè)角度,跑通了。跑通的瞬間他往椅背上一靠,長(zhǎng)出一口氣——這種感覺(jué)說(shuō)不清楚,像拼圖最后一塊咔噠一下扣進(jìn)去。腦子在轉(zhuǎn)、代碼在長(zhǎng)、測(cè)試一個(gè)一個(gè)變綠,像在搭一個(gè)看得見(jiàn)的東西。
他喜歡這種感覺(jué)?;蛘哒f(shuō),他需要這種感覺(jué)。
下午三點(diǎn)四十。
手頭的活做完了——一個(gè)數(shù)據(jù)清洗模塊,處理上游標(biāo)注系統(tǒng)傳過(guò)來(lái)的臟數(shù)據(jù)。代碼跑通了,單元測(cè)試全過(guò),沒(méi)什么毛病。
他保存了文件??戳艘谎鬯闹堋W筮呅≮w戴著耳機(jī)在看教程,右邊那哥們開(kāi)著降噪,隔壁組在開(kāi)會(huì)。沒(méi)人注意他。
他打開(kāi)了CodePilot Pro的對(duì)話窗口。
手懸在鍵盤上面,停了幾秒。
他跟自己說(shuō):就是好奇??纯此軐懗墒裁礃?。純屬技術(shù)比較。
他把這個(gè)模塊的需求文檔——產(chǎn)品經(jīng)理寫的那份——復(fù)制粘貼了進(jìn)去。
"請(qǐng)根據(jù)以上需求從零實(shí)現(xiàn)該數(shù)據(jù)清洗模塊。Python,F(xiàn)astAPI框架。"
回車。
代碼一行一行往外跳??斓孟翊蜃志毩?xí)。
他看著它寫。函數(shù)名比他起的規(guī)范。異常處理比他覆蓋的全。中間那段并發(fā)邏輯——他上午卡了將近一個(gè)小時(shí)、換了三種方案才跑通的——AI沒(méi)卡,直接給了一個(gè)他沒(méi)想到的寫法。
他看懂了那段代碼。比他的好。不是好一點(diǎn),是思路根本不在一個(gè)層面上。
他還沒(méi)把上午的思路回憶完,AI已經(jīng)寫完了。
四分鐘。
他把AI的代碼拷到本地跑測(cè)試。全過(guò)。打開(kāi)對(duì)比工具,兩份代碼并排放在屏幕上。
左邊是他的。花了大半天。變量命名有點(diǎn)隨意,有兩個(gè)邊界條件漏了,中間那段并發(fā)邏輯能用但不夠干凈——他知道不夠干凈,但當(dāng)時(shí)想著先跑通,之后再重構(gòu)。
右邊是AI的。四分鐘。結(jié)構(gòu)清晰,邊界全覆蓋,并發(fā)那段像是教科書寫的。跑了個(gè)性能測(cè)試,快百分之十一。
他盯著屏幕。
不是在看代碼。
他寫了五年程序。大學(xué)里開(kāi)始寫,畢業(yè)進(jìn)微瀾到現(xiàn)在三年多,有時(shí)候周末也寫——不為加班費(fèi),就是想把某個(gè)東西搞明白。他不算聰明,但肯花時(shí)間。代碼寫多了會(huì)有一種手感,像開(kāi)了很久的車,身體比腦子先知道該怎么轉(zhuǎn)彎。
他一直以為這叫經(jīng)驗(yàn)。以為這東西有價(jià)值。
屏幕上兩列代碼安安靜靜并排著。像兩份考卷——一份花了大半天,一份花了四分鐘。
閱卷的人不會(huì)管你花了多久。
他關(guān)掉了右邊的窗口。
把光標(biāo)移到左邊,自己寫的那份,點(diǎn)了提交。然后關(guān)掉對(duì)比工具,關(guān)掉對(duì)話框,清空了和CodePilot Pro的聊天記錄。
就好像什么都沒(méi)發(fā)生過(guò)。
六點(diǎn)。下班。
地鐵上,耳機(jī)里的播客不知道什么時(shí)候換了話題。兩個(gè)嘉賓在聊"AI到底會(huì)不會(huì)取代程序員",語(yǔ)氣輕松,像在聊火星**——理論上可能,但跟我有什么關(guān)系呢。
今天之前,林遠(yuǎn)也是這么想的。
他把耳機(jī)摘了。
車窗外隧道的燈一盞一盞掠過(guò)去,節(jié)奏很快。他靠著車門站著,手機(jī)揣在兜里沒(méi)拿出來(lái)。今天下班得買菜,蘇晚說(shuō)冰箱空了。白菜,雞蛋,再來(lái)塊豆腐。
他在心里認(rèn)真地列清單。
因?yàn)槿绻幌脒@些,腦子里就只剩一個(gè)數(shù)字。
四分鐘。