首富从AI浪潮开始 第11节

  他关掉了视界。

  屏幕回到了正常的外包需求页面,右上角有两个按钮:【接受需求】和【忽略】。

  韩路一的手指停在鼠标上。

  接?救陈博文?我是傻逼吗?

  然后点了【忽略】。

  不接。

  他关掉了外包页面,端起桌上已经凉了的咖啡喝了一口。

  不接归不接,但有些东西憋着也浪费。

  他打开论坛,以NullPointer的身份花了四十分钟写了一篇《推荐系统架构改造的七个经典陷阱》,纯技术分享。

  这些坑都是陈博文正在踩的,但是他知道,以陈博文的水平,就算看到也看不懂。等到系统真的崩溃那天,这个帖子再被挖出来,难以想象陈博文的脸色会有多精彩。

  发完帖子,他关掉论坛。

  脑子开始转了。

  这140个Bug,这两周接单修过的上百个Bug,再往前,五年里经手的几千个Bug。

  它们长得不一样,但模式都一样。

  同样的模式,在不同的项目里反复出现,他每次修Bug,本质上就做两件事,认出模式,匹配方案。

  这不就是喂给AI干的活吗?

  他放下杯子,掏出手机翻到备忘录里那行字

  “代码审查工具,连接代码与现实场景,BugKiller?”

  把视界看到的Bug模式全部整理出来,特征、触发条件、修复路径,喂给AI,让它学会“看到代码就知道上线后会出什么问题”,AI不需要拥有视界,它只需要学会视界看到过的东西。

  就像教AI下棋不需要教它思考,只需要让它看够多的棋局。

  韩路一打开电脑,新建文件夹,命名“BugKiller”,新建文档:《Bug模式数据库 v0.1》。

  然后他开始写,写得很快,五年里踩过的坑,全从记忆里涌出来,按类型自动归位,内存类、并发类、数据流类、接口类,每一类下面是触发条件、典型表现、修复路径。

  他像在给一个什么都不懂的新手编一本《Bug大全》。

  写了两个小时,停下来。

  不够,一个人的经验撑不起一整个数据库,他需要更多样本,更系统的分类。

  他需要一个产品经理。

  韩路一拿起手机,找到苏念念的微信对话框。

  “念念,上次聊的AI代码审查方向,我有个想法,今晚有空吗?吃个饭聊聊。”

  发出去不到三十秒,苏念念回了:“今晚?!几点?”

  “七点。”

  “没问题!下班正好六点半,什么想法?先说说?”

  “到了再说。”

  对话框顶部的“对方正在输入…”闪了好几次,最后发过来的不是追问,是:

  “那我先选个餐厅,你想吃什么?”

  “随意,不挑。”

  “好,我来定。”

  韩路一觉得有点好笑,明明是他约的人,三句话下来主导权就到对方手里了。

  不过也正常,苏念念做产品经理的,抢需求主导权是本能。

  韩路一放下手机,又闷头写起了文档,再抬起头已经是下午四点半了。

  离七点还有两个半小时。

  他回头看了看屏幕上刚建好的BugKiller文件夹,想了想,没有继续写文档。今晚跟苏念念聊的时候,脑子里得是活的想法,不能是写僵了的文字。

  他关掉电脑,起身去洗了个澡,换了件干净的衬衫。

  出门的时候,隔壁传来林朵朵的声音,在跟林晚晴讲幼儿园的事。

  韩路一带上门,往地铁站走去。

  晚风不凉也不暖,三月中旬的海城,恰好卡在两个季节的缝隙里。

第十三章 辣得莫法

  晚上七点,苏念念选的餐厅。

  不是什么高档地方,是他家附近商圈的一家湘菜馆,叫“辣得莫法”。

  他到的时候,苏念念已经在靠窗的位置坐着了。

  韩路一拉开椅子坐下,抬头看了她一眼。

  上次在Bug Café是下午,阳光从落地窗照进来,苏念念坐在逆光里,干净清爽,像一杯温水。现在是晚上,餐厅暖色的吊灯从上方打下来,她的眉眼轮廓比白天更深,长发散着垂到肩上,浅杏色的针织衫衬得锁骨那截细链格外显眼,整个人多了一点白天没有的味道。

  “今天真好看。”韩路一坐定了,语气随意得像在说今天天气不错。

  “……哪天不好看了?”

  “没有不好看的时候,上次是上次的好看,今天是今天的好看。”

  他说得太顺了,顺到苏念念没办法判断这是真心话还是嘴贫,接了像在撒娇,不接又显得小气。

  “嘴真贫。”她最后只说了这三个字,转头看向窗外,耳朵尖有一点点红,但灯光昏黄,看不太出来。

  她面前摆着一台打开的苹果电脑,屏幕上密密麻麻的都是表格。

  服务员走过来,苏念念刚要拿菜单,韩路一已经开口了。

  “一个剁椒鱼头、一个小炒黄牛肉、一个虎皮青椒、一个酸辣土豆丝,米饭两碗,再来一扎酸梅汤。”

  苏念念看着他,手里的菜单举了一半,没放下也没打开。

  “……你点这么快?”

  “我家就在附近,这家店来过几次。”韩路一顺手接过她手里的菜单递还给服务员。

  等菜的时候,苏念念把电脑转过来给他看。

  “你说有想法要聊,又不给我剧透,我只好自己猜了,关于代码审查,我先把赛道摸清楚了。”她抬了抬下巴,“产品经理的基本功。”

  屏幕上是一份竞品分析表:十七款产品,每一款都列了核心功能、技术路线、定价策略、用户评价、融资轮次,最右边一列是她自己标的评分,满分五分,最高的一款只拿了三分。

  “你什么时候做的?”韩路一问。

  “上次跟你聊完就开始整理了,本来只是随手查查,结果越查越多。”苏念念说得很轻松,像在说一件不值一提的事。

  韩路一看了她一眼,她眼下有一层薄薄的遮瑕,盖住了熬夜的痕迹。

  “你给最高分的这款,缺什么?”他指着表格问。

  “跟上次我跟你说的一样,只能做静态分析,找到了Bug,但不能告诉你这个Bug在真实业务场景里会造成什么影响,程序员需要的不是「你这行代码有问题」,而是「这行代码上线后会炸成什么样」。”

  “所以核心痛点是”

  “是「代码和现实之间的鸿沟」。”苏念念用手指敲了敲桌面,“你上次的原话,我回去想了好几天,越想越觉得你说到点子上了。”

  剁椒鱼头端上来了,热气腾腾的。韩路一拿起公筷,挑了几块鱼腮边最嫩的肉放到苏念念碗里。

  “先吃,凉了腥。”

  苏念念低头看了一眼碗里的鱼肉,全是最好的部位。

  她没说谢谢,拿起筷子吃了一口。

  “我想做一款工具。”他说,“名字我都想好了,BugKiller。”

  “BugKiller?”苏念念念了一遍,嚼着鱼肉,皱了下眉,“名字太geek了,程序员听着过瘾,但以后要做商业化的话不好卖,先当内部代号用吧,回头再想个正式的。”

  “它不只是找Bug,它要做的是”韩路一在脑子里组织了一下语言,“建立一个Bug模式数据库,把各种类型Bug的特征、触发条件、影响范围、最优修复路径全部结构化,然后用这些数据训练AI模型,让AI学会「看到一段代码就知道它上线后可能会出什么问题」。”

  苏念念放下筷子,身体前倾。

  “等等,你说的Bug模式数据库,数据从哪来?这是最关键的问题。市面上的竞品之所以做不好,就是因为训练数据只有代码本身,缺乏「代码在真实场景中的表现」这一层。”

  “从我这里来。”

  苏念念眨了两下眼睛。

  韩路一解释:“我这些年写了几十万行代码,debug过的系统也少说有几十个,最近自由接单又修了上百个项目,每一个Bug的特征、触发条件、修复路径,我都在记录。”

  这是实话,只不过他省略了视界的部分。

  “你的个人经验当然有价值,但一个人的样本量不够啊,”苏念念皱眉,“AI训练需要大量数据。”

  “对,所以第一步是做最小可用产品,用我现有的模式数据库做一个原型,先验证思路能不能跑通。如果跑通了,第二步再想办法扩大数据源,比如接入开源社区的Bug报告、公开的代码漏洞库、技术论坛的问答数据。”

  “MVP先行,数据飞轮后做。”苏念念总结了一句。

  “对。”

  “那你的MVP打算多长时间做出来?”

  “一周。”

  苏念念正在喝酸梅汤,差点呛了。

  “一周?你认真的?”

  “我已经开始写了,今天下午搭了Bug模式数据库的框架,分类结构都想好了,算法层面我有现成的经验,模型训练我也熟,一周出原型不是问题。”

  苏念念看了他三秒钟,把酸梅汤放下了。

  “你知道我在公司推那个AI代码审查项目,光需求阶段就花了两个月。”

  “因为你们有流程,有审批,跨部门协调,领导要拍板。”

  苏念念想了想,笑了:“好吧,卷王你说一周就一周,那我能帮什么?”

  “用户调研和需求文档。”韩路一说,“你比我了解用户,你来定义BugKiller应该长什么样、核心功能优先级怎么排、第一批目标用户是谁。”

  “这我在行。”苏念念已经开始在电脑上打字了。

  两个人一边吃一边聊,越聊越快,苏念念一手夹菜一手打字,韩路一说到技术方案的时候习惯性用筷子在桌上比划,被她拍了一下手背,“别拿筷子点桌子,不礼貌。”

  剁椒鱼头见底的时候,苏念念的电脑上已经有了一份完整的MVP需求文档。

  韩路一看了一遍。

  “你这需求写得太清楚了。”他说。

  “不然呢?写需求含糊其辞等着开发骂我?”苏念念哼了一声,“而且……”

  她停了一下,语气变轻了一点。

  “好久没碰到这么聊得来的开发了,我在公司跟技术团队掰扯一个需求能掰扯一个礼拜,你这儿四十分钟就搞定了。”

首节上一节11/248下一节尾节目录