第2章
古法編程,最后的人類程序員
活著------------------------------------------,投了四十七份簡歷。。零面試,零回復,零希望。,是壓根沒有公司還在招程序員了。僅有的幾個崗位,點進去一看,招的都是“AI訓練師”或者“AI運維工程師”,要求里寫著“熟練掌握AI編程工具,具備AI協同開發經驗”。,只需要你給AI打下手。——星輝科技。這家公司三年前還是個創業小廠,林舟曾經去面試過,被拒了。現在星輝已經成了行業頭部,市值翻了二十倍,靠的就是全面擁抱AI。,首頁掛著一句標語:“未來已來,我們只招會用未來的人。”,罵了一聲。,是陸鳴。“林舟!你死哪去了?我給你打了八個電話!靜音了,投簡歷呢。投什么簡歷,你投了也沒用。出來喝酒,我在老地方。”,但話到嘴邊又咽回去了。他看了一眼桌上那包沈清墨買的泡面,已經只剩下最后一袋了。“行,我去。”,鐵皮棚子,塑料凳子,一桌能坐四個人就算寬敞。陸鳴坐在最里面那張桌子旁邊,面前擺了一箱啤酒和三十串羊肉。,看了一眼酒:“你發財了?”
“發個屁。”陸鳴開了兩瓶,遞給他一瓶,“上個月跑外賣掙了八千,這個月只剩四千了。”
“怎么少了這么多?”
“系統改了。”陸鳴咬了一口羊肉,腮幫子鼓得像倉鼠,“以前是按單算錢,現在按‘效率值’算。你跑得快,效率值高,單價就高。你跑得慢,效率值低,單價就低。問題是效率值是AI算的,你永遠不知道它怎么算的。”
林舟皺眉:“這不就是變相壓價嗎?”
“對,而且你還找不到人說理。”陸鳴灌了一口啤酒,“我有個兄弟,跑了三年外賣,從來沒出過事故。上個月系統突然給他打了個低分,理由是‘駕駛行為風險評估偏高’。你猜怎么著?就因為他有一次在路口等紅燈的時候,車頭稍微超出了停車線。”
“AI攝像頭拍的?”
“不然呢?現在滿大街都是AI攝像頭,你打個噴嚏都能被識別出來,然后系統給你貼標簽。”陸鳴越說越氣,“我**現在覺得,以前老板罵你至少還當面罵,現在被AI整了,你連罵回去的對象都沒有。”
林舟沒說話,腦子里卻在轉一個念頭。他這幾天雖然投簡歷沒回音,但一直在研究AI系統的底層邏輯。他發現一個問題——所有AI系統的判斷邏輯,都是基于“概率”和“統計”,而不是基于“規則”。
這意味著什么?
意味著AI永遠在追求“大概率正確”,但它處理不了“小概率例外”。而人類的日常生活,恰恰充滿了小概率例外。
“你想什么呢?”陸鳴在他面前晃了晃手。
“在想一個事情。”林舟喝了口酒,“你說,如果有一種方法,能讓AI系統‘看不見’你,你覺得有人愿意花錢買嗎?”
陸鳴愣了一下:“你是說……隱身?”
“不是隱身,是讓AI的系統判定里,你的數據變成‘噪音’。”林舟放下酒瓶,“AI的識別邏輯是靠特征匹配的,只要你能制造足夠多的干擾特征,AI就沒辦法準確判斷你。”
“聽不懂,但感覺很牛。”陸鳴撓了撓頭,“你打算搞這個?”
“先想想,不一定能成。”
陸鳴盯著他看了幾秒,突然笑了:“你這個人,每次說‘先想想’的時候,其實都已經想好了。”
林舟沒否認。
他確實想好了。這幾天他翻遍了各種技術論壇和論文,發現了一個被所有人忽略的事實——AI系統的“智能”是建立在海量數據和算力基礎上的,但它的底層架構非常脆弱。只要你知道它的算法邏輯,你就可以構造出專門針對它的“對抗樣本”。
這不是什么高深的技術,這是最基礎的逆向思維。
但問題是,他現在連一臺能跑代碼的電腦都沒有。他那臺舊筆記本被房東扔出來的時候摔壞了硬盤,現在開機都開不了。
“陸鳴,你知道哪里有便宜電腦嗎?越舊越好,最好是十年前的那種。”
“你要那么舊的電腦干嘛?”
“越舊的電腦,AI系統越不熟悉。現在所有AI的訓練數據都是近五年的,十年前的系統架構對它來說是盲區。”
陸鳴似懂非懂地點了點頭:“行,我幫你問問。我認識一個收廢品的,他那經常有別人扔的舊電腦。”
兩人又喝了幾瓶,陸鳴開始念叨他那個被AI扣錢的事。林舟聽著,腦子里卻在想另一件事。
他昨天在網上看到一個新聞。一個程序員因為被AI系統錯誤地標記為“高風險人員”,被銀行凍結了賬戶、被房東趕出了房子、甚至連網約車都打不了。那個程序員最后在社交媒體上發了一條動態:“我是被AI**的人,連**都不會有人發現。”
這條動態下面,最高贊的評論只有一句話:“歡迎來到***。”
林舟不知道這個***會變成什么樣,但他知道一件事——如果連寫代碼的人都被淘汰了,那這個世界一定出了問題。
**攤的老板娘過來收桌子,看了一眼林舟:“你是不是住前面那棟樓的?前幾天被房東趕出來的那個?”
林舟臉一黑:“你也知道了?”
“這巷子里什么事傳不開啊。”老板娘嘆了口氣,“沒事,年輕人嘛,誰還沒個落魄的時候。我老公當年也是程序員,零幾年的時候,一個月掙八千,風光得很。后來互聯網泡沫破了,也一樣被人從公司里趕出來。”
“那他現在呢?”
“現在?”老板娘指了指**攤,“這不,跟我一起烤串呢。”
林舟看了一眼正在烤爐前忙活的老板,五十來歲,圍裙上全是油漬,手上都是燙傷的疤。
“他也是程序員?”
“北郵畢業的,當年寫C++的。”老板娘把桌子擦干凈,語氣平淡得像在說別人的故事,“泡沫破了之后就找不到工作了,干過銷售、跑過保險、開過出租。后來覺得還不如烤串,至少餓不死。”
林舟心里堵得慌。他想起自己當初選計算機專業的時候,家里人高興得跟中了彩票一樣。**逢人就說:“我兒子學計算機的,以后去大公司,一個月好幾萬。”
現在呢?**還不知道他被裁了。他不敢說。
“林舟!”陸鳴突然喊他,“你看這個。”
陸鳴把手機遞過來,屏幕上是一個新聞標題:“星輝科技CEO顧維鈞:AI將徹底取代程序員,未來只需要‘需求表達師’。”
林舟點進去看,里面有一段采訪視頻。顧維鈞穿著一身剪裁考究的深色西裝,坐在一間極簡風格的辦公室里,身后的落地窗外是整座城市的天際線。
“代碼的本質是什么?是人和機器溝通的語言。但既然AI已經能理解人類的自然語言了,為什么還需要代碼?”顧維鈞的聲音很穩,像是在陳述一個不需要討論的事實,“未來的軟件開發,只需要你說出你的需求,AI會自動生成代碼。程序員這個職業,就像當年的打字員一樣,會自然消亡。”
記者問:“那您覺得程序員應該怎么辦?”
顧維鈞笑了一下:“擁抱變化。或者,被變化淘汰。”
視頻下面有一萬多條評論。林舟翻了幾頁,發現大部分都是程序員在罵。但也有一些評論讓他心里發涼——
“罵有什么用?人家說得對,你寫代碼的速度能比AI快?”
“我就是程序員,已經轉行送外賣了。”
“建議各位同行趁早想出路,別等到被裁了才后悔。”
林舟把手機還給陸鳴,一口氣把瓶里剩下的啤酒灌完。
“我回去了。”
“這么早?”
“有事想。”
林舟站起來,掃碼付了錢。三十串羊肉加一箱啤酒,一百四。他支付寶里只剩兩百出頭了。
走回巷子的時候,經過一棟老樓的拐角,他看見一個熟悉的身影蹲在墻根。
是沈清墨。
她蹲在地上,面前放著一個紙箱子,箱子里是一只臟兮兮的橘貓。貓的腿好像受傷了,一直在叫。
“你在這兒干嘛?”
沈清墨抬頭,臉上有點不好意思:“撿了只貓,腿斷了。我想帶它去看獸醫,但附近的寵物醫院都關門了。”
“你撿它干嘛?”
“它疼啊。”沈清墨說這話的時候特別認真,好像“它疼”這兩個字就是全部理由。
林舟蹲下來看了看貓的腿,骨頭沒斷,應該是扭傷了。他伸手摸了摸貓的關節,貓叫了一聲但沒有咬他。
“回去拿冰塊敷一下,別動它,明天就好了。”
“你懂這個?”
“小時候養過貓。”林舟把貓放進紙箱子里,端起來,“走吧,回去給它處理一下。”
兩人一前一后上樓。沈清墨走在前面,突然回頭問了一句:“你找到工作了嗎?”
“沒。”
“那你明天有什么打算?”
“明天再說。”
沈清墨沒再問。到了門口,她掏鑰匙開門的時候,林舟看見她手腕上有一道紅印,像是被什么東西勒過。
“你手怎么了?”
沈清墨下意識地把手縮回去:“沒事,做實驗的時候被儀器勒了一下。”
林舟沒多想。兩人進了屋,他把貓放在客廳地板上,去廚房找了條毛巾包了幾塊冰,敷在貓的腿上。貓舒服地瞇起眼睛,發出咕嚕咕嚕的聲音。
沈清墨蹲在旁邊看,突然說:“你知道嗎,我選醫學專業的時候,我爸說學醫沒前途,又累又沒錢。讓我學計算機,說程序員掙錢多。”
“那你為什么沒聽他的?”
“因為我覺得,人比代碼重要。”沈清墨抬頭看他,“代碼出錯了可以重寫,但人出錯了就沒機會了。”
林舟看著她,突然覺得這句話很重。
但他沒來得及細想,因為他的手機響了。一個陌生號碼。
他接起來,對面是一個男人的聲音,很年輕,說話帶著點南方口音。
“是林舟嗎?”
“我是。”
“我叫陳放,是周明遠的學生。周老師讓我聯系你。”
林舟愣了一下。周明遠?這個名字他好像在哪里聽過。
“周明遠是誰?”
“你不知道他正常,但你知道他在九十年**的那個操作系統內核嗎?至今還在用。”電話那頭的聲音壓低了,“周老師看了你在技術論壇上發的帖子,關于AI對抗樣本的那篇。他想見你。”
林舟心臟猛跳了一下。他確實在論壇上發過一篇帖子,是用匿名賬號發的,內容是討論AI系統的對抗性攻擊原理。他以為沒人會看,沒想到……
“他在哪兒?”
“就在本市。你明天有空嗎?”
林舟看了一眼桌上那最后一袋泡面,又看了一眼正在敷貓的沈清墨。
“有空。”
掛了電話,沈清墨問他:“誰啊?”
“一個老頭。”林舟說,“可能是我下一頓飯的飯錢。”
他不知道的是,這個“老頭”會在接下來的日子里改變他的一生。而此刻,在那間被換鎖的舊房間里,他那臺摔壞的電腦已經被房東當廢品賣掉了,正在去往某個回收站的路上。
電腦硬盤里,還存著他寫了半年的一個項目——一個專門用來檢測AI系統漏洞的程序。
這個程序,后來被人叫做“火種”。
“發個屁。”陸鳴開了兩瓶,遞給他一瓶,“上個月跑外賣掙了八千,這個月只剩四千了。”
“怎么少了這么多?”
“系統改了。”陸鳴咬了一口羊肉,腮幫子鼓得像倉鼠,“以前是按單算錢,現在按‘效率值’算。你跑得快,效率值高,單價就高。你跑得慢,效率值低,單價就低。問題是效率值是AI算的,你永遠不知道它怎么算的。”
林舟皺眉:“這不就是變相壓價嗎?”
“對,而且你還找不到人說理。”陸鳴灌了一口啤酒,“我有個兄弟,跑了三年外賣,從來沒出過事故。上個月系統突然給他打了個低分,理由是‘駕駛行為風險評估偏高’。你猜怎么著?就因為他有一次在路口等紅燈的時候,車頭稍微超出了停車線。”
“AI攝像頭拍的?”
“不然呢?現在滿大街都是AI攝像頭,你打個噴嚏都能被識別出來,然后系統給你貼標簽。”陸鳴越說越氣,“我**現在覺得,以前老板罵你至少還當面罵,現在被AI整了,你連罵回去的對象都沒有。”
林舟沒說話,腦子里卻在轉一個念頭。他這幾天雖然投簡歷沒回音,但一直在研究AI系統的底層邏輯。他發現一個問題——所有AI系統的判斷邏輯,都是基于“概率”和“統計”,而不是基于“規則”。
這意味著什么?
意味著AI永遠在追求“大概率正確”,但它處理不了“小概率例外”。而人類的日常生活,恰恰充滿了小概率例外。
“你想什么呢?”陸鳴在他面前晃了晃手。
“在想一個事情。”林舟喝了口酒,“你說,如果有一種方法,能讓AI系統‘看不見’你,你覺得有人愿意花錢買嗎?”
陸鳴愣了一下:“你是說……隱身?”
“不是隱身,是讓AI的系統判定里,你的數據變成‘噪音’。”林舟放下酒瓶,“AI的識別邏輯是靠特征匹配的,只要你能制造足夠多的干擾特征,AI就沒辦法準確判斷你。”
“聽不懂,但感覺很牛。”陸鳴撓了撓頭,“你打算搞這個?”
“先想想,不一定能成。”
陸鳴盯著他看了幾秒,突然笑了:“你這個人,每次說‘先想想’的時候,其實都已經想好了。”
林舟沒否認。
他確實想好了。這幾天他翻遍了各種技術論壇和論文,發現了一個被所有人忽略的事實——AI系統的“智能”是建立在海量數據和算力基礎上的,但它的底層架構非常脆弱。只要你知道它的算法邏輯,你就可以構造出專門針對它的“對抗樣本”。
這不是什么高深的技術,這是最基礎的逆向思維。
但問題是,他現在連一臺能跑代碼的電腦都沒有。他那臺舊筆記本被房東扔出來的時候摔壞了硬盤,現在開機都開不了。
“陸鳴,你知道哪里有便宜電腦嗎?越舊越好,最好是十年前的那種。”
“你要那么舊的電腦干嘛?”
“越舊的電腦,AI系統越不熟悉。現在所有AI的訓練數據都是近五年的,十年前的系統架構對它來說是盲區。”
陸鳴似懂非懂地點了點頭:“行,我幫你問問。我認識一個收廢品的,他那經常有別人扔的舊電腦。”
兩人又喝了幾瓶,陸鳴開始念叨他那個被AI扣錢的事。林舟聽著,腦子里卻在想另一件事。
他昨天在網上看到一個新聞。一個程序員因為被AI系統錯誤地標記為“高風險人員”,被銀行凍結了賬戶、被房東趕出了房子、甚至連網約車都打不了。那個程序員最后在社交媒體上發了一條動態:“我是被AI**的人,連**都不會有人發現。”
這條動態下面,最高贊的評論只有一句話:“歡迎來到***。”
林舟不知道這個***會變成什么樣,但他知道一件事——如果連寫代碼的人都被淘汰了,那這個世界一定出了問題。
**攤的老板娘過來收桌子,看了一眼林舟:“你是不是住前面那棟樓的?前幾天被房東趕出來的那個?”
林舟臉一黑:“你也知道了?”
“這巷子里什么事傳不開啊。”老板娘嘆了口氣,“沒事,年輕人嘛,誰還沒個落魄的時候。我老公當年也是程序員,零幾年的時候,一個月掙八千,風光得很。后來互聯網泡沫破了,也一樣被人從公司里趕出來。”
“那他現在呢?”
“現在?”老板娘指了指**攤,“這不,跟我一起烤串呢。”
林舟看了一眼正在烤爐前忙活的老板,五十來歲,圍裙上全是油漬,手上都是燙傷的疤。
“他也是程序員?”
“北郵畢業的,當年寫C++的。”老板娘把桌子擦干凈,語氣平淡得像在說別人的故事,“泡沫破了之后就找不到工作了,干過銷售、跑過保險、開過出租。后來覺得還不如烤串,至少餓不死。”
林舟心里堵得慌。他想起自己當初選計算機專業的時候,家里人高興得跟中了彩票一樣。**逢人就說:“我兒子學計算機的,以后去大公司,一個月好幾萬。”
現在呢?**還不知道他被裁了。他不敢說。
“林舟!”陸鳴突然喊他,“你看這個。”
陸鳴把手機遞過來,屏幕上是一個新聞標題:“星輝科技CEO顧維鈞:AI將徹底取代程序員,未來只需要‘需求表達師’。”
林舟點進去看,里面有一段采訪視頻。顧維鈞穿著一身剪裁考究的深色西裝,坐在一間極簡風格的辦公室里,身后的落地窗外是整座城市的天際線。
“代碼的本質是什么?是人和機器溝通的語言。但既然AI已經能理解人類的自然語言了,為什么還需要代碼?”顧維鈞的聲音很穩,像是在陳述一個不需要討論的事實,“未來的軟件開發,只需要你說出你的需求,AI會自動生成代碼。程序員這個職業,就像當年的打字員一樣,會自然消亡。”
記者問:“那您覺得程序員應該怎么辦?”
顧維鈞笑了一下:“擁抱變化。或者,被變化淘汰。”
視頻下面有一萬多條評論。林舟翻了幾頁,發現大部分都是程序員在罵。但也有一些評論讓他心里發涼——
“罵有什么用?人家說得對,你寫代碼的速度能比AI快?”
“我就是程序員,已經轉行送外賣了。”
“建議各位同行趁早想出路,別等到被裁了才后悔。”
林舟把手機還給陸鳴,一口氣把瓶里剩下的啤酒灌完。
“我回去了。”
“這么早?”
“有事想。”
林舟站起來,掃碼付了錢。三十串羊肉加一箱啤酒,一百四。他支付寶里只剩兩百出頭了。
走回巷子的時候,經過一棟老樓的拐角,他看見一個熟悉的身影蹲在墻根。
是沈清墨。
她蹲在地上,面前放著一個紙箱子,箱子里是一只臟兮兮的橘貓。貓的腿好像受傷了,一直在叫。
“你在這兒干嘛?”
沈清墨抬頭,臉上有點不好意思:“撿了只貓,腿斷了。我想帶它去看獸醫,但附近的寵物醫院都關門了。”
“你撿它干嘛?”
“它疼啊。”沈清墨說這話的時候特別認真,好像“它疼”這兩個字就是全部理由。
林舟蹲下來看了看貓的腿,骨頭沒斷,應該是扭傷了。他伸手摸了摸貓的關節,貓叫了一聲但沒有咬他。
“回去拿冰塊敷一下,別動它,明天就好了。”
“你懂這個?”
“小時候養過貓。”林舟把貓放進紙箱子里,端起來,“走吧,回去給它處理一下。”
兩人一前一后上樓。沈清墨走在前面,突然回頭問了一句:“你找到工作了嗎?”
“沒。”
“那你明天有什么打算?”
“明天再說。”
沈清墨沒再問。到了門口,她掏鑰匙開門的時候,林舟看見她手腕上有一道紅印,像是被什么東西勒過。
“你手怎么了?”
沈清墨下意識地把手縮回去:“沒事,做實驗的時候被儀器勒了一下。”
林舟沒多想。兩人進了屋,他把貓放在客廳地板上,去廚房找了條毛巾包了幾塊冰,敷在貓的腿上。貓舒服地瞇起眼睛,發出咕嚕咕嚕的聲音。
沈清墨蹲在旁邊看,突然說:“你知道嗎,我選醫學專業的時候,我爸說學醫沒前途,又累又沒錢。讓我學計算機,說程序員掙錢多。”
“那你為什么沒聽他的?”
“因為我覺得,人比代碼重要。”沈清墨抬頭看他,“代碼出錯了可以重寫,但人出錯了就沒機會了。”
林舟看著她,突然覺得這句話很重。
但他沒來得及細想,因為他的手機響了。一個陌生號碼。
他接起來,對面是一個男人的聲音,很年輕,說話帶著點南方口音。
“是林舟嗎?”
“我是。”
“我叫陳放,是周明遠的學生。周老師讓我聯系你。”
林舟愣了一下。周明遠?這個名字他好像在哪里聽過。
“周明遠是誰?”
“你不知道他正常,但你知道他在九十年**的那個操作系統內核嗎?至今還在用。”電話那頭的聲音壓低了,“周老師看了你在技術論壇上發的帖子,關于AI對抗樣本的那篇。他想見你。”
林舟心臟猛跳了一下。他確實在論壇上發過一篇帖子,是用匿名賬號發的,內容是討論AI系統的對抗性攻擊原理。他以為沒人會看,沒想到……
“他在哪兒?”
“就在本市。你明天有空嗎?”
林舟看了一眼桌上那最后一袋泡面,又看了一眼正在敷貓的沈清墨。
“有空。”
掛了電話,沈清墨問他:“誰啊?”
“一個老頭。”林舟說,“可能是我下一頓飯的飯錢。”
他不知道的是,這個“老頭”會在接下來的日子里改變他的一生。而此刻,在那間被換鎖的舊房間里,他那臺摔壞的電腦已經被房東當廢品賣掉了,正在去往某個回收站的路上。
電腦硬盤里,還存著他寫了半年的一個項目——一個專門用來檢測AI系統漏洞的程序。
這個程序,后來被人叫做“火種”。