“開始!”
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數據面板,新增註冊連續三天爲負,卸載的比註冊的多。
投資人的微信消息他沒回,第一條還客氣,第二條直接了:“下週董事會我需要一個說法。”第三條他沒看。
媒體的採訪請求也沒回。
他打開了一個從來沒仔細看過的頁面,大型項目測試日誌。
公測以來跑的都是五萬行以下的項目,沒人往大代碼庫測過。
現在他看了,全量遍歷在二十萬行以上指數級增長,上下文窗口溢出,模型幻覺——架構選型的根本錯誤。
他知道怎麼修,要花六到十二個月,但賬上的錢撐不了那麼久。
社區已經給CodeSafe判了死刑,“38%”三個字比任何分析文章都有殺傷力。
趙文淵靠在椅子上,閉了一會兒眼。
然後拿起手機。
通訊錄翻到底部,這麼多天一直沒播的那個號碼——王志遠。
他按下了撥號鍵。
響了兩聲。
“王總,鼎盛雲的事……直播的結果您應該看到了。我想問一下,您這邊的意向還在嗎?”
電話那頭沉默了一秒,然後王志遠笑了。
“趙博士,你覺得我爲什麼找你?”
趙文淵沒說話。
“你的產品好不好,跟我有什麼關係?”王志遠的語氣輕鬆得像在聊天氣,“鼎盛雲採購代碼審查工具,走的是集團信息化預算。預算批了,錢就得花掉,花在誰身上,那是我說了算的事。”
頓了一下。
“你需要一張大單活下去,我需要一個合作愉快的供應商,這事從頭到尾就這麼簡單。”
趙文淵握着手機,後背貼在椅子上。
“……明白了。”
“明天下午,我讓人把合作方案發你,細節咱們見面聊。”
趙文淵掛了電話。
手機放在桌上,屏幕滅了,映出他自己的臉。
他閉上眼,王志遠說得很清楚了,產品好不好無所謂,38%還是3%無所謂。錢是預算裏的錢,花不花、花給誰,是另一套邏輯。
上一次他還可以談條件,現在他只能接條件。
籌碼變了。
韓路一不知道這通電話,他在502寫v1.2的新功能。
窗外老小區的燈一盞盞亮起來。