第二十九章 道高一丈
「開始。」
BugKiller的綠色進度條勻速推進。跟前兩輪沒有區別。10%、20%、30%,速度幾乎一樣。
CodeSafe的藍色進度條從一開始就不對。
10%的時候還正常。20%的時候明顯變慢。30%的時候幾乎是在一格一格地挪。右側實時面板上標記的問題數在跳——
標記數:14...21...35...
彈幕先注意到的不是數字,是速度。
「CodeSafe卡住了?」
「沒卡,在跑,就是巨慢」
「BugKiller三十五萬行跟前兩輪一個速度,CodeSafe這是怎麼了」
40%。標記數跳到58。
彈幕開始算帳了。
「BugKiller掃同樣的項目根本不卡,CodeSafe40%就跑了快三分鐘?」
「第二輪12萬行慢兩分鐘,這次35萬行怕不是要慢十分鐘」
「這不是線性增長,這是指數級的吧……」
50%。標記數79。進度條挪一格要七八秒。
「我現在的心情就像看著溫度計往上走」
「趙博士臉色不好看了」
韓路一坐在五米外,屏幕上BugKiller的掃描早就跑完了。他沒說話。
CodeSafe的進度條還在爬。60%。70%。標記數過了一百。
彈幕已經從討論變成了圍觀。
「這已經不是競爭了」
80%。
全場等著。
100%。標記總數:123個。
專家組核驗了將近四十分鐘。
等待期間,主持人拿著話筒走到兩人中間。「核驗還需要一些時間,我們先跟兩位聊聊。趙博士,第三輪的感受?」
趙文淵坐在座位上沒動。「等結果吧。」
三個字。主持人愣了半秒,轉向韓路一。
「NullPointer這邊呢?三輪下來什麼感受?」
韓路一靠在椅背上,挺鬆弛的。「感受談不上。說說BugKiller的影響評估吧,剛才專家組提過,我們每條檢出結果會附帶一個修復成本估算。這個功能底層邏輯是把Bug跟業務場景做關聯,不只告訴你哪裡有問題,還告訴你這個問題上線之後會虧多少錢。」
彈幕:「NullPointer開始賣產品了」「這人心態是真好」「趙博士那邊氣氛不太對啊」
主持人追問:「這個功能是怎麼想到的?」
「接自由單的時候。甲方不關心你修了什麼Bug,關心的是修完之後他少虧多少。看多了就知道,Bug本身不值錢,Bug造成的損失才值錢。」
彈幕刷了一波:「這個insight值一個億」「產品經理看了沉默」
主持人又轉向趙文淵。「趙博士對影響評估這個方向怎麼看?」
趙文淵看了一眼還在核驗的專家組。「是個好方向。」
沒了。彈幕開始刷省略號。
核驗區那邊,一位專家摘了眼鏡揉眼睛,看了兩遍同一段代碼才落筆。
核驗結果上屏。
CodeSafe:標記總數123個,確認Bug 76個,誤報47個。誤報率38.2%。
BugKiller:標記總數132個,確認Bug 127個,誤報5個。誤報率3.8%。
專家組組長拿起話筒停了一下。
「CodeSafe在三十五萬行級別,誤報率38%。誤報集中在深層調用鏈和跨模塊依賴,檢測引擎處理大規模代碼時出現了系統性偏差。不是個別誤判。」
停頓。「BugKiller誤報率3.8%,跟前兩輪持平。一百二十七個檢出里有幾個修復成本估算精確到人天級別,這個能力我們在同類工具上沒見過。」
在線五萬三千人。
彈幕徹底失控。
「38%????」
「系統性偏差,專家原話」
「這不是代碼審查,這是占卜」
「博士三千字白寫了」
「讓產品說話,產品說了,我是假的」
最後這條彈幕一秒之內被複製了幾十遍。滿屏都是「讓產品說話,產品說了,我是假的」。
趙文淵從第三輪開始就沒說過一句話。
他面前的屏幕亮著。89個檢出,34個誤報。他比任何觀眾都清楚這些數字意味著什麼。三萬行的時候沒問題,十二萬行開始暴露,三十五萬行全面崩潰。這不是參數調不調得好的問題,是檢測引擎的核心架構在大代碼庫上扛不住。
他在公測階段從來沒跑過三十五萬行的項目。
主持人等了三秒。
「趙博士,最後總結一下?」
趙文淵抬頭看了一眼鏡頭。
「感謝社區的監督。我們會認真復盤。」
然後他站起來,摘下領夾麥放在桌上,走了。
攝像機跟了他兩秒。直播間在線人數在他推門的瞬間又漲了三千。
彈幕最後一波高潮——
「完了。徹底完了」
「趙博士確實體面。但體面有什麼用,38%就是38%」
「讓產品說話。產品說:我死啦。」
蘇念念在床上看到第三輪結果的時候一腳把被子蹬開了,差點把電腦踹下床。
她把三輪數據錄進表格,截了六張彈幕精華圖。BugKiller後台,直播還沒結束的時候註冊就開始漲了。
當天新增註冊突破兩千。
兩天後。直播錄像播放量破百萬。「38%誤報率」成了技術圈的梗。
馬小飛的精華剪輯視頻標題,《CodeSafe創始人說「讓產品說話」,產品說了,「我是假的」》。三十萬播放。
BugKiller註冊用戶一周之內從三千多飆到八千多。
趙文淵三天沒發任何社交媒體動態。
CodeSafe內部發了一封全員郵件:暫停所有市場推廣,全力修覆核心引擎。
韓路一在Bug Café靠窗的位子上喝咖啡。蘇念念坐在對面,筆記本電腦開著,手指沒停過。她在整理直播後的用戶數據和註冊趨勢。
整理到一半,她頭也沒抬說了一句。
「他不該來的。」
韓路一端著杯子沒接話。
「他的產品在小項目上是真的好。如果沒有這場直播,他至少還有時間慢慢修。現在全世界都知道了。」
韓路一喝了口咖啡。
「他不會放棄的。」
蘇念念抬頭看了他一眼。
「這話什麼意思?」
韓路一沒解釋。
五月十七號。直播三天後。
趙文淵坐在井安區的辦公室里。兩塊屏幕都亮著,但他只盯著左邊那塊。
CodeSafe數據面板。新增註冊連續三天為負,卸載的比註冊的多。
投資人的微信消息他沒回。第一條還客氣,第二條直接了:「下周董事會我需要一個說法。」第三條他沒看。
媒體的採訪請求也沒回。
他打開了一個從來沒仔細看過的頁面,大型項目測試日誌。
公測以來跑的都是五萬行以下的項目。沒人往大代碼庫測過。
現在他看了。全量AST遍歷在二十萬行以上指數級增長,上下文窗口溢出,模型幻覺。架構選型的根本錯誤。
他知道怎麼修。六到十二個月。帳上的錢撐不了那麼久。
社區已經給CodeSafe判了死刑。「38%」三個字比任何分析文章都有殺傷力。
趙文淵靠在椅子上,閉了一會兒眼。
然後拿起手機。
通訊錄翻到底部。三天前那個沒回的號碼。王志遠。
三天前他還可以談條件。
他按下了撥號鍵。
響了兩聲。
「王總。鼎盛雲的事……直播的結果您應該看到了。我想問一下,您這邊的意向還在嗎?」
電話那頭沉默了一秒。然後王志遠笑了。
「趙博士,你覺得我為什麼找你?」
趙文淵沒說話。
「你的產品好不好,跟我有什麼關係?」王志遠的語氣輕鬆得像在聊天氣。「鼎盛雲採購代碼審查工具,走的是集團信息化預算。預算批了,錢就得花掉。花在誰身上,那是我說了算的事。」
頓了一下。
「你需要一張大單活下去。我需要一個合作愉快的供應商。這事從頭到尾就這麼簡單。」
趙文淵握著手機,後背貼在椅子上。
「……明白了。」
「明天下午,我讓人把合作方案發你。細節咱們見面聊。」
趙文淵掛了電話。
手機放在桌上。屏幕滅了,映出他自己的臉。
他閉上眼。王志遠說得很清楚了,產品好不好無所謂,38%還是3%無所謂。錢是預算里的錢,花不花、花給誰,是另一套邏輯。
三天前他還可以談條件。現在他只能接條件。
籌碼變了。
韓路一不知道這通電話。他在502寫v1.2的新功能。
窗外老小區的燈一盞盞亮起來。
BugKiller的綠色進度條勻速推進。跟前兩輪沒有區別。10%、20%、30%,速度幾乎一樣。
CodeSafe的藍色進度條從一開始就不對。
10%的時候還正常。20%的時候明顯變慢。30%的時候幾乎是在一格一格地挪。右側實時面板上標記的問題數在跳——
標記數:14...21...35...
彈幕先注意到的不是數字,是速度。
「CodeSafe卡住了?」
「沒卡,在跑,就是巨慢」
「BugKiller三十五萬行跟前兩輪一個速度,CodeSafe這是怎麼了」
40%。標記數跳到58。
彈幕開始算帳了。
「BugKiller掃同樣的項目根本不卡,CodeSafe40%就跑了快三分鐘?」
「第二輪12萬行慢兩分鐘,這次35萬行怕不是要慢十分鐘」
「這不是線性增長,這是指數級的吧……」
50%。標記數79。進度條挪一格要七八秒。
「我現在的心情就像看著溫度計往上走」
「趙博士臉色不好看了」
韓路一坐在五米外,屏幕上BugKiller的掃描早就跑完了。他沒說話。
CodeSafe的進度條還在爬。60%。70%。標記數過了一百。
彈幕已經從討論變成了圍觀。
「這已經不是競爭了」
80%。
全場等著。
100%。標記總數:123個。
專家組核驗了將近四十分鐘。
等待期間,主持人拿著話筒走到兩人中間。「核驗還需要一些時間,我們先跟兩位聊聊。趙博士,第三輪的感受?」
趙文淵坐在座位上沒動。「等結果吧。」
三個字。主持人愣了半秒,轉向韓路一。
「NullPointer這邊呢?三輪下來什麼感受?」
韓路一靠在椅背上,挺鬆弛的。「感受談不上。說說BugKiller的影響評估吧,剛才專家組提過,我們每條檢出結果會附帶一個修復成本估算。這個功能底層邏輯是把Bug跟業務場景做關聯,不只告訴你哪裡有問題,還告訴你這個問題上線之後會虧多少錢。」
彈幕:「NullPointer開始賣產品了」「這人心態是真好」「趙博士那邊氣氛不太對啊」
主持人追問:「這個功能是怎麼想到的?」
「接自由單的時候。甲方不關心你修了什麼Bug,關心的是修完之後他少虧多少。看多了就知道,Bug本身不值錢,Bug造成的損失才值錢。」
彈幕刷了一波:「這個insight值一個億」「產品經理看了沉默」
主持人又轉向趙文淵。「趙博士對影響評估這個方向怎麼看?」
趙文淵看了一眼還在核驗的專家組。「是個好方向。」
沒了。彈幕開始刷省略號。
核驗區那邊,一位專家摘了眼鏡揉眼睛,看了兩遍同一段代碼才落筆。
核驗結果上屏。
CodeSafe:標記總數123個,確認Bug 76個,誤報47個。誤報率38.2%。
BugKiller:標記總數132個,確認Bug 127個,誤報5個。誤報率3.8%。
專家組組長拿起話筒停了一下。
「CodeSafe在三十五萬行級別,誤報率38%。誤報集中在深層調用鏈和跨模塊依賴,檢測引擎處理大規模代碼時出現了系統性偏差。不是個別誤判。」
停頓。「BugKiller誤報率3.8%,跟前兩輪持平。一百二十七個檢出里有幾個修復成本估算精確到人天級別,這個能力我們在同類工具上沒見過。」
在線五萬三千人。
彈幕徹底失控。
「38%????」
「系統性偏差,專家原話」
「這不是代碼審查,這是占卜」
「博士三千字白寫了」
「讓產品說話,產品說了,我是假的」
最後這條彈幕一秒之內被複製了幾十遍。滿屏都是「讓產品說話,產品說了,我是假的」。
趙文淵從第三輪開始就沒說過一句話。
他面前的屏幕亮著。89個檢出,34個誤報。他比任何觀眾都清楚這些數字意味著什麼。三萬行的時候沒問題,十二萬行開始暴露,三十五萬行全面崩潰。這不是參數調不調得好的問題,是檢測引擎的核心架構在大代碼庫上扛不住。
他在公測階段從來沒跑過三十五萬行的項目。
主持人等了三秒。
「趙博士,最後總結一下?」
趙文淵抬頭看了一眼鏡頭。
「感謝社區的監督。我們會認真復盤。」
然後他站起來,摘下領夾麥放在桌上,走了。
攝像機跟了他兩秒。直播間在線人數在他推門的瞬間又漲了三千。
彈幕最後一波高潮——
「完了。徹底完了」
「趙博士確實體面。但體面有什麼用,38%就是38%」
「讓產品說話。產品說:我死啦。」
蘇念念在床上看到第三輪結果的時候一腳把被子蹬開了,差點把電腦踹下床。
她把三輪數據錄進表格,截了六張彈幕精華圖。BugKiller後台,直播還沒結束的時候註冊就開始漲了。
當天新增註冊突破兩千。
兩天後。直播錄像播放量破百萬。「38%誤報率」成了技術圈的梗。
馬小飛的精華剪輯視頻標題,《CodeSafe創始人說「讓產品說話」,產品說了,「我是假的」》。三十萬播放。
BugKiller註冊用戶一周之內從三千多飆到八千多。
趙文淵三天沒發任何社交媒體動態。
CodeSafe內部發了一封全員郵件:暫停所有市場推廣,全力修覆核心引擎。
韓路一在Bug Café靠窗的位子上喝咖啡。蘇念念坐在對面,筆記本電腦開著,手指沒停過。她在整理直播後的用戶數據和註冊趨勢。
整理到一半,她頭也沒抬說了一句。
「他不該來的。」
韓路一端著杯子沒接話。
「他的產品在小項目上是真的好。如果沒有這場直播,他至少還有時間慢慢修。現在全世界都知道了。」
韓路一喝了口咖啡。
「他不會放棄的。」
蘇念念抬頭看了他一眼。
「這話什麼意思?」
韓路一沒解釋。
五月十七號。直播三天後。
趙文淵坐在井安區的辦公室里。兩塊屏幕都亮著,但他只盯著左邊那塊。
CodeSafe數據面板。新增註冊連續三天為負,卸載的比註冊的多。
投資人的微信消息他沒回。第一條還客氣,第二條直接了:「下周董事會我需要一個說法。」第三條他沒看。
媒體的採訪請求也沒回。
他打開了一個從來沒仔細看過的頁面,大型項目測試日誌。
公測以來跑的都是五萬行以下的項目。沒人往大代碼庫測過。
現在他看了。全量AST遍歷在二十萬行以上指數級增長,上下文窗口溢出,模型幻覺。架構選型的根本錯誤。
他知道怎麼修。六到十二個月。帳上的錢撐不了那麼久。
社區已經給CodeSafe判了死刑。「38%」三個字比任何分析文章都有殺傷力。
趙文淵靠在椅子上,閉了一會兒眼。
然後拿起手機。
通訊錄翻到底部。三天前那個沒回的號碼。王志遠。
三天前他還可以談條件。
他按下了撥號鍵。
響了兩聲。
「王總。鼎盛雲的事……直播的結果您應該看到了。我想問一下,您這邊的意向還在嗎?」
電話那頭沉默了一秒。然後王志遠笑了。
「趙博士,你覺得我為什麼找你?」
趙文淵沒說話。
「你的產品好不好,跟我有什麼關係?」王志遠的語氣輕鬆得像在聊天氣。「鼎盛雲採購代碼審查工具,走的是集團信息化預算。預算批了,錢就得花掉。花在誰身上,那是我說了算的事。」
頓了一下。
「你需要一張大單活下去。我需要一個合作愉快的供應商。這事從頭到尾就這麼簡單。」
趙文淵握著手機,後背貼在椅子上。
「……明白了。」
「明天下午,我讓人把合作方案發你。細節咱們見面聊。」
趙文淵掛了電話。
手機放在桌上。屏幕滅了,映出他自己的臉。
他閉上眼。王志遠說得很清楚了,產品好不好無所謂,38%還是3%無所謂。錢是預算里的錢,花不花、花給誰,是另一套邏輯。
三天前他還可以談條件。現在他只能接條件。
籌碼變了。
韓路一不知道這通電話。他在502寫v1.2的新功能。
窗外老小區的燈一盞盞亮起來。