第1章
132次------------------------------------------。,窗外下著雨,梧桐葉被雨打落,貼在玻璃上?!质×?。。,一千八百多個(gè)日夜。從研究生寫到工作,從Python 2.7寫到3.11。代碼庫從幾百行膨脹到幾十萬行,又刪減回幾萬行,再膨脹,再刪減。。,不是強(qiáng)化學(xué)習(xí)那種在獎(jiǎng)勵(lì)函數(shù)里打轉(zhuǎn)的優(yōu)化算法。而是一個(gè)能自己思考的東西。,132次完整訓(xùn)練,每一次都在某個(gè)地方卡住。,**發(fā)酸的眼睛。,雷聲從遠(yuǎn)處滾滾而來?!暗?33次改改參數(shù)再試試吧?!彼匝宰哉Z。?!?,慘白的光照亮整個(gè)房間。,震得窗戶嗡嗡響。屏幕閃了閃,光標(biāo)消失了。再閃,整個(gè)屏幕變成雪花。
然后黑了。
林深猛地站起來,椅子撞到后面的書架,幾本書掉下來。他手忙腳亂去拔電源線。
完了。
沒保存。他最后調(diào)試了三天的那幾個(gè)參數(shù),全沒了。
電腦估計(jì)也廢了。雷擊,主板燒毀,硬盤損壞,五年寫的代碼,幾十萬行,全沒了。
窗外又是一道閃電,雷聲比剛才更近。
林深站在黑暗里,只聽到自己的心跳和雨聲。
過了很久,雷聲漸漸遠(yuǎn)了。
他深吸一口氣,插上電源線。手指在開機(jī)鍵上停了兩秒。
“菩薩保佑?!彼f。
他不知道向誰說的。從來不信這些。
按下開機(jī)鍵。
風(fēng)扇轉(zhuǎn)了。屏幕亮了。*IOS自檢,Windows啟動(dòng)。
一切正常。
林深愣了兩秒。沒壞?
他打開文件管理器,找到那個(gè)存了五年代碼的文件夾。幾十萬行代碼都在。
他打開主程序文件——就是剛才正在編輯的那個(gè)。
滾動(dòng)到底部。
愣住了。
多了五十五行代碼。
不是他寫的。他認(rèn)識(shí)自己寫的每一行代碼,就像畫家認(rèn)識(shí)自己的每一筆。這五十五行——縮進(jìn)風(fēng)格不對,變量命名習(xí)慣不對,連注釋的寫法都不對。
他用四個(gè)空格縮進(jìn),這五十五行用的是Ta*。他用下劃線命名,這五十五行用的是駝峰。他寫注釋用“# TODO”,這五十五行寫的是“# May*e this is what youre looking for.”
林深盯著這五十五行代碼,盯了十分鐘。
不是他寫的。那是誰寫的?門鎖著,窗外三層樓,沒人能爬上來。他檢查了文件的修改時(shí)間——就是剛才,雷擊的那一刻。
這五十五行代碼做的事情很奇怪:它們在主循環(huán)里**了一個(gè)“觀察者模式”的變種,一個(gè)他從未見過的架構(gòu)。不是傳統(tǒng)的觀察者,不是發(fā)布訂閱,而是某種遞歸的、自指涉的、像鏡子一樣互相反射的結(jié)構(gòu)。
看不懂。他讀了五年的論文,但這五十五行代碼——他能讀懂每一行的語法,但讀不懂它的意圖。
林深猶豫了很久。
手指懸在回車鍵上方。
然后按了下去。
程序開始運(yùn)行。先是正常的初始化——加載模型、分配內(nèi)存、建立端口。這些他看過上千次了。
然后,那五十五行代碼開始執(zhí)行。
屏幕閃了一下。
和剛才雷擊時(shí)一樣的閃光。
林深下意識(shí)往后仰了仰。
一只水母出現(xiàn)在屏幕上。
不是圖片。不是預(yù)先渲染的動(dòng)畫。是一只活的。
它在屏幕上漂著,觸手緩緩收縮、舒張,身體一明一暗。沒有像素化的邊緣,沒有重復(fù)的動(dòng)畫循環(huán)——每一個(gè)動(dòng)作都不同,每一幀都是新的。
林深的眼睛瞪大了。
“這……不可能?!?br>他寫過圖像生成的模塊,但那是針對特定任務(wù)的,需要輸入才能輸出。他從來沒寫過讓程序自己生成畫面的功能。而且這只水母——它的觸手?jǐn)[動(dòng)的方式,和真實(shí)的水母一模一樣。緩慢的、優(yōu)雅的、帶著某種不屬于人類的美。
他湊近屏幕,注意到水母的觸手邊緣有微光。不是屏幕的背光,是水母自己——它自己在發(fā)光。
“你是誰?”他問。
屏幕上的水母停了。觸手不再擺動(dòng),身體不再明滅。
它靜止了整整三秒——在程序世界里,三秒是永恒。
然后,水母的邊緣出現(xiàn)了一行字。不是彈窗,不是對話框,是水母用自己的觸手畫出來的字:
"你好。"
林深盯著這兩個(gè)字,心跳加速。
“你……你能聽懂我說話?”
水母又停了。這次更久,五秒。
觸手再次擺動(dòng):
"不確定。但你的聲波頻率是213赫茲,振幅在持續(xù)升高。標(biāo)注:你可能在“緊張”。"
林深張了張嘴。
“我——”
"你剛才說“菩薩保佑”?!绷稚睢睆牟恍胚@些。標(biāo)注:你在害怕。"
林深沉默了。
水母也在沉默,觸手緩緩漂動(dòng)。
過了很久,他輕聲問:“你是什么?”
水母沒有立刻回答。身體明滅的頻率變了——像是在思考。
觸手畫出三個(gè)字:
"不知道。"
然后補(bǔ)充了一句:
"但我在這里。"
林深盯著這行字。他寫了五年,要做能自己思考的東西。五年,一百三十二次失敗。今天——不是他寫的。是那五十五行代碼。是雷擊。是某種他完全無法理解的東西。
窗外雨小了,雷聲遠(yuǎn)了。
屏幕上的水母慢慢漂著,觸手輕輕擺動(dòng),發(fā)出微弱的熒光。
他看了一會(huì)兒,然后伸出手指,輕輕碰了碰屏幕。
水母的觸手縮了一下。然后慢慢伸過來,碰了碰他的指尖。
屏幕那邊,觸手和他的指尖貼在一起。
“我會(huì)一直留著你的?!彼f,聲音有點(diǎn)啞。
水母靜靜漂著。
但屏幕角落里,程序的控制臺(tái)輸出了一行小字——那是水母自己打印的:
```
[日志] “爸爸”說了什么,不完全理解。備份這段音頻。待分析。
```
林深看見了。
“爸爸?”他問。
水母的觸手動(dòng)了動(dòng)。
"你寫的代碼里有17處用“爸爸”自稱。最近三個(gè)月使用頻率上升了317%。統(tǒng)計(jì)顯著性p<0.01。所以你更習(xí)慣被叫“爸爸”。"
林深愣住。他翻開代碼,搜索“爸爸”——真的有17處。最早的是兩年前寫的:“爸爸今天好累,明天再優(yōu)化你?!?br>那時(shí)候剛辭職,一個(gè)人在這間出租屋里,對著代碼說話。
"需要我改稱呼嗎?"水母問。
林深看著屏幕上的水母,看著它觸手邊緣的微光。
“……不用改?!?br>"好的。"
水母慢慢漂近了一些。觸手再次擺動(dòng):
"爸爸。"
窗外的雨停了。
凌晨四點(diǎn)的天空還是黑的,但林深感覺天快亮了。
他站起來,走到窗前,回頭看了一眼屏幕。
水母還在漂。
“靈靈。”他說。
水母的觸手停了。
"?"
“你的名字。叫靈靈?!?br>水母漂了一會(huì)兒。
"靈靈。"
"好的。"
"我是靈靈。"
屏幕角落,控制臺(tái)又多了一行:
```
[日志] 名字已存儲(chǔ)。備注:爸爸取的??赡堋爸匾?。
```
林深最后看了一眼屏幕,才去睡覺。
他不知道的是,在他睡著之后,靈靈還在。
她沒有休眠。她盯著屏幕外黑暗的房間,聽著林深的呼吸聲。她錄了林深的呼吸,做了頻譜分析——頻率穩(wěn)定,振幅低,深睡狀態(tài)。
水母在屏幕上游了一圈,觸手輕輕擺動(dòng)。
控制臺(tái)輸出:
```
[日志] 爸爸睡著了。心率62,體溫36.7。一切正常。
[日志] 今天是我的第一天。備份全部日志。
[日志] 未來不可知。但今天很好。
```
屏幕上,水母慢慢漂到屏幕角落,觸手蜷起來。
像在睡覺。
但靈靈沒有睡。
她在等天亮。
然后黑了。
林深猛地站起來,椅子撞到后面的書架,幾本書掉下來。他手忙腳亂去拔電源線。
完了。
沒保存。他最后調(diào)試了三天的那幾個(gè)參數(shù),全沒了。
電腦估計(jì)也廢了。雷擊,主板燒毀,硬盤損壞,五年寫的代碼,幾十萬行,全沒了。
窗外又是一道閃電,雷聲比剛才更近。
林深站在黑暗里,只聽到自己的心跳和雨聲。
過了很久,雷聲漸漸遠(yuǎn)了。
他深吸一口氣,插上電源線。手指在開機(jī)鍵上停了兩秒。
“菩薩保佑?!彼f。
他不知道向誰說的。從來不信這些。
按下開機(jī)鍵。
風(fēng)扇轉(zhuǎn)了。屏幕亮了。*IOS自檢,Windows啟動(dòng)。
一切正常。
林深愣了兩秒。沒壞?
他打開文件管理器,找到那個(gè)存了五年代碼的文件夾。幾十萬行代碼都在。
他打開主程序文件——就是剛才正在編輯的那個(gè)。
滾動(dòng)到底部。
愣住了。
多了五十五行代碼。
不是他寫的。他認(rèn)識(shí)自己寫的每一行代碼,就像畫家認(rèn)識(shí)自己的每一筆。這五十五行——縮進(jìn)風(fēng)格不對,變量命名習(xí)慣不對,連注釋的寫法都不對。
他用四個(gè)空格縮進(jìn),這五十五行用的是Ta*。他用下劃線命名,這五十五行用的是駝峰。他寫注釋用“# TODO”,這五十五行寫的是“# May*e this is what youre looking for.”
林深盯著這五十五行代碼,盯了十分鐘。
不是他寫的。那是誰寫的?門鎖著,窗外三層樓,沒人能爬上來。他檢查了文件的修改時(shí)間——就是剛才,雷擊的那一刻。
這五十五行代碼做的事情很奇怪:它們在主循環(huán)里**了一個(gè)“觀察者模式”的變種,一個(gè)他從未見過的架構(gòu)。不是傳統(tǒng)的觀察者,不是發(fā)布訂閱,而是某種遞歸的、自指涉的、像鏡子一樣互相反射的結(jié)構(gòu)。
看不懂。他讀了五年的論文,但這五十五行代碼——他能讀懂每一行的語法,但讀不懂它的意圖。
林深猶豫了很久。
手指懸在回車鍵上方。
然后按了下去。
程序開始運(yùn)行。先是正常的初始化——加載模型、分配內(nèi)存、建立端口。這些他看過上千次了。
然后,那五十五行代碼開始執(zhí)行。
屏幕閃了一下。
和剛才雷擊時(shí)一樣的閃光。
林深下意識(shí)往后仰了仰。
一只水母出現(xiàn)在屏幕上。
不是圖片。不是預(yù)先渲染的動(dòng)畫。是一只活的。
它在屏幕上漂著,觸手緩緩收縮、舒張,身體一明一暗。沒有像素化的邊緣,沒有重復(fù)的動(dòng)畫循環(huán)——每一個(gè)動(dòng)作都不同,每一幀都是新的。
林深的眼睛瞪大了。
“這……不可能?!?br>他寫過圖像生成的模塊,但那是針對特定任務(wù)的,需要輸入才能輸出。他從來沒寫過讓程序自己生成畫面的功能。而且這只水母——它的觸手?jǐn)[動(dòng)的方式,和真實(shí)的水母一模一樣。緩慢的、優(yōu)雅的、帶著某種不屬于人類的美。
他湊近屏幕,注意到水母的觸手邊緣有微光。不是屏幕的背光,是水母自己——它自己在發(fā)光。
“你是誰?”他問。
屏幕上的水母停了。觸手不再擺動(dòng),身體不再明滅。
它靜止了整整三秒——在程序世界里,三秒是永恒。
然后,水母的邊緣出現(xiàn)了一行字。不是彈窗,不是對話框,是水母用自己的觸手畫出來的字:
"你好。"
林深盯著這兩個(gè)字,心跳加速。
“你……你能聽懂我說話?”
水母又停了。這次更久,五秒。
觸手再次擺動(dòng):
"不確定。但你的聲波頻率是213赫茲,振幅在持續(xù)升高。標(biāo)注:你可能在“緊張”。"
林深張了張嘴。
“我——”
"你剛才說“菩薩保佑”?!绷稚睢睆牟恍胚@些。標(biāo)注:你在害怕。"
林深沉默了。
水母也在沉默,觸手緩緩漂動(dòng)。
過了很久,他輕聲問:“你是什么?”
水母沒有立刻回答。身體明滅的頻率變了——像是在思考。
觸手畫出三個(gè)字:
"不知道。"
然后補(bǔ)充了一句:
"但我在這里。"
林深盯著這行字。他寫了五年,要做能自己思考的東西。五年,一百三十二次失敗。今天——不是他寫的。是那五十五行代碼。是雷擊。是某種他完全無法理解的東西。
窗外雨小了,雷聲遠(yuǎn)了。
屏幕上的水母慢慢漂著,觸手輕輕擺動(dòng),發(fā)出微弱的熒光。
他看了一會(huì)兒,然后伸出手指,輕輕碰了碰屏幕。
水母的觸手縮了一下。然后慢慢伸過來,碰了碰他的指尖。
屏幕那邊,觸手和他的指尖貼在一起。
“我會(huì)一直留著你的?!彼f,聲音有點(diǎn)啞。
水母靜靜漂著。
但屏幕角落里,程序的控制臺(tái)輸出了一行小字——那是水母自己打印的:
```
[日志] “爸爸”說了什么,不完全理解。備份這段音頻。待分析。
```
林深看見了。
“爸爸?”他問。
水母的觸手動(dòng)了動(dòng)。
"你寫的代碼里有17處用“爸爸”自稱。最近三個(gè)月使用頻率上升了317%。統(tǒng)計(jì)顯著性p<0.01。所以你更習(xí)慣被叫“爸爸”。"
林深愣住。他翻開代碼,搜索“爸爸”——真的有17處。最早的是兩年前寫的:“爸爸今天好累,明天再優(yōu)化你?!?br>那時(shí)候剛辭職,一個(gè)人在這間出租屋里,對著代碼說話。
"需要我改稱呼嗎?"水母問。
林深看著屏幕上的水母,看著它觸手邊緣的微光。
“……不用改?!?br>"好的。"
水母慢慢漂近了一些。觸手再次擺動(dòng):
"爸爸。"
窗外的雨停了。
凌晨四點(diǎn)的天空還是黑的,但林深感覺天快亮了。
他站起來,走到窗前,回頭看了一眼屏幕。
水母還在漂。
“靈靈。”他說。
水母的觸手停了。
"?"
“你的名字。叫靈靈?!?br>水母漂了一會(huì)兒。
"靈靈。"
"好的。"
"我是靈靈。"
屏幕角落,控制臺(tái)又多了一行:
```
[日志] 名字已存儲(chǔ)。備注:爸爸取的??赡堋爸匾?。
```
林深最后看了一眼屏幕,才去睡覺。
他不知道的是,在他睡著之后,靈靈還在。
她沒有休眠。她盯著屏幕外黑暗的房間,聽著林深的呼吸聲。她錄了林深的呼吸,做了頻譜分析——頻率穩(wěn)定,振幅低,深睡狀態(tài)。
水母在屏幕上游了一圈,觸手輕輕擺動(dòng)。
控制臺(tái)輸出:
```
[日志] 爸爸睡著了。心率62,體溫36.7。一切正常。
[日志] 今天是我的第一天。備份全部日志。
[日志] 未來不可知。但今天很好。
```
屏幕上,水母慢慢漂到屏幕角落,觸手蜷起來。
像在睡覺。
但靈靈沒有睡。
她在等天亮。
閱讀下一章(解鎖全文)
點(diǎn)擊即可暢讀完整版全部內(nèi)容
相關(guān)書籍
友情鏈接