韩路一一般是在家里工作。
但是如果约了苏念念,在家里就不太方便了。
他提前一点来到了Bug Cafe。
老周看了一眼表:“都下午一点了,今天上班迟到了啊。”
韩路一啼笑皆非:“怎么我来你这还得打卡了?”
“年轻人,正式奋斗的时候,可别像我一样过退休生活。”老周开玩笑,“今天不试试手冲?”
韩路一再次拒绝了老周的推荐,点了一杯冰美式。
然后他在角落的老位置坐下,打开电脑。
CodeSafe公测之后的评价不错,网上时不时就蹦出来一个新的测评文章夸它。
每篇测评韩路一都看了。
他能看出有些是买的公关稿,有些不是。
韩路一点开CodeSafe的官网,用个人邮箱注册了一个公测账号,然后把公测版本下载下来,本地装好。
运行。
紧接着韩路一打开了视界。
灰色的代码流从在屏幕上方浮现出来,像透视图一样在他的眼前展开。
前端框架、后端微服务、数据管道、模型推理层——
CodeSafe的整个技术栈在韩路一的面前一览无余。
前端用的是React加TypeScript,组件划分得很规范,交互的动效也很流畅。
显然CodeSafe的团队里有专门的UX设计师和前端工程师来实现这些动效。
BugKiller就没有。
后端的微服务都是用Go写的,性能不错,也支持高并发,中间用Kafka消息队列做了防丢。
完全是标准的现代化技术选型。
这套系统的工程化水准放在大厂里也算顶尖的了。
韩路一暗自点头。
斯坦福的计算机科学人工智能方向的博士,再加上谷歌的工作经历。
这个赵文渊,不差。
然而就像韩路一在文章里自己说的,作为一个代码审查工具,最重要的还是检测率。
检测率的高低完全是靠模型来的。
韩路一视界没关,注意力已经深入了CodeSafe的核心引擎。
在他的视野中,一行黄色的警告提示赫然就在眼前。
【工具:CodeSafe】
【架构风险:检测引擎采用专用大模型全量遍历】
【性能预测:代码库小于5万行时表现优秀,随代码库规模变大,误报率将非线性上升】
【漏洞原因:特征提取未做分层剪枝,大规模代码库的上下文窗口溢出导致模型幻觉】
韩路一仔细看了视界预测的、CodeSafe在不同大小的代码库上运行时的误报率。
5万行,3%。
20万行,17%。
50万行,41%。
三个数字,非线性上升。
现在CodeSafe的用户全是个人开发者和小团队,代码库普遍在5万行以下。
这恰好是CodeSafe的甜点区,估计所有的用户体验都很好。
但是企业代码的用户,尤其是那些使用单体仓库(Monorepo)的企业,互相依赖的代码库的大小动辄几十万行。
所以那些测评里很多人都是真心觉得好。
只是他们的场景格外适合而已。
韩路一现在考虑的是,这件事,赵文渊知道吗?
大概率不知道,他们成立半年多了,如果知道这么致命的缺陷不至于到现在还不改。
但是公测期的用户也全都是小项目,这个问题还是暴露不出来。
要等到他们真的接到了企业用户才能发现这件事有多棘手了。
毕竟核心引擎不是那么好改动的,甚至他的模型可能都需要重新训练。
韩路一刚看完,苏念念推开咖啡馆的门走了进来。
“我刚注册了CodeSafe。”苏念念在韩路一对面坐下,拿出电脑放在桌上,“我们现场跑个对比测试试一试?”
韩路一来了兴致,刚才他看到的都是视界推测出来的,他也想看看CodeSafe真运行起来是什么样子。
两人在网上找了一个大概八万行的开源项目,然后一台电脑放入BugKiller,另一台电脑放入CodeSafe,两台电脑同时开始运行。
BugKiller的进度条先到底,CodeSafe慢了一分钟左右。
结果出来,苏念念把两个窗口并排放在一起。
BugKiller报出50个Bug,CodeSafe报出了36个。
韩路一又开视界扫了一遍,51个Bug。
他拿视界的结果当答案,逐条比对
BugKiller:50个里48个是真的,2个误报,漏了3个。
CodeSafe:36个里32个是真的,4个误报,漏了19个。
看了二十分钟源码确认之后,韩路一把误报数据告诉苏念念。
苏念念在电脑上拉了一个表格。
“误报率,我们是百分之四,他们高达百分之十一。”
韩路一在旁边看着,漏报率他没提,不好跟苏念念解释自己为什么知道真实答案是51个。
所以他只是在心里默算了一下,百分之六比百分之三十七。
八万行代码库上,CodeSafe的误报率明显比较高。
两边的用户体验也不太一样。
在同一个Bug的检测结果里,BugKiller写的是:高并发场景下触发概率约12%,修复优先级P0。
然后还支持一键修复的功能。
苏念念打开CodeSafe对应的同一个Bug,里面写的是:发现潜在空指针异常,建议检查。
韩路一突然笑了。
苏念念转头:“你笑什么?”
韩路一指着那个Bug,说道:“它发现我了。”
苏念念又回过头看屏幕,好一会儿才反应过来韩路一在说什么:空指针异常,可不就是NullPointerException吗?
好冷的笑话。
她回头看向韩路一:“不是,你就一点儿不会紧张吗?”
“这有什么好紧张的,你都看到了,我们的检测能力比他们强。”韩路一说道,“而且他们的引擎在更大的代码库上出的问题更多,我们的不会。”
苏念念眯了一下眼睛:“你怎么知道的?”
韩路一看天花板:“猜的。”
苏念念盯着韩路一看了一会儿,看他没有再解释的意思,放弃了追问。
她在电脑上开了一个新文档:“他们已经公测这么久了,我们也得抓紧了。”
“这个是你的专业了,按照什么方案上线?”
“我们现在的讨论度不低了,在论坛和其他几个地方发帖,然后在内测群里让他们也推广一下。”苏念念说,“咱们钱不多,也不能大规模地投放,靠我刚才说的那些,只要第一天的注册能突破五百就算成功了。”
然后她突然看了眼韩路一:“你让马小飞再发个视频呗?他收不收你钱?”
韩路一笑眯眯:“不收的。”
哪有儿子收老子钱的道理。
苏念念点了点头:“那让马小飞也发个视频宣传一下,不用白不用。”
苏念念又打开日历看:“马上五一放假了,假期回来第一天上线,你的时间够用吗?”
“够用。”韩路一说道,“只是害你也过不成假期了。”
苏念念又嗔怪地看了他一眼,没说话。
两人各自开始工作,一直忙到晚上八点半。
老周过来收桌子:“二位,打烊了。”
苏念念抬头一看时间:“都这么晚了?”
然后她噗嗤一笑:“老周,你这话跟店小二似的。”
老周露出一脸无奈的表情:“我这可是咖啡馆,你们见哪家咖啡馆开到晚上的?”
韩路一和苏念念收拾东西出门,韩路一照例送她去地铁站。
到了地铁站口,苏念念突然开口:“路一。”
“嗯?”
“我还挺期待这个五一的。”苏念念说道。
“我也很期待。”韩路一笑着说,“五一结束,BugKiller就要上线了。”
苏念念又看了他一眼。
“明天见。”
她转身进了地铁站。