苏念念虽然让韩路一别熬夜,但是当天晚上十一点,她就把整理好的需求文档发过来了。
看着手里需求清晰、还把阶段性目标一一列出来的需求文档,韩路一感觉这顿饭请的真值。
不知道能不能天天请她吃饭换产品工作啊?
别看韩路一在苏念念面前夸下海口,其实一周要把完整的产品功能做出来还是有挑战的。
为此韩路一做足了准备——他在冰箱里塞满了速冻水饺和罐装咖啡,整个人进入了冲刺模式。
一开始的工作还算顺利,框架和数据库是他的舒适区,闭着眼睛都能搭。
等到开始做核心引擎的时候就有点儿卡住了,他之前习惯做的是推荐系统,数据量大,但是数据复杂度不高。
现在转成做代码分析引擎,基本的原理都是相通的,但是模式匹配逻辑怎么调都不对。
等到韩路一下楼倒垃圾的时候,冷风一吹,他突然想通了:特征提取的粒度选错了。
再后面的工作写起来就顺多了。
高强度的工作了几天,韩路一又发现了一件事。
他的身体比以前好了,估计也是视界升级的福利。
换成以前在鼎盛,连续这么高强度的工作,身体都会吃不消,现在却只是精神上的疲惫。
BugKiller的软件层初见雏形,但是匹配模型才是最核心的功能。
韩路一把用视界积累的几百种Bug模式全部结构化,做好了训练模型的准备。
最后一步就是训练了。
除开人力成本不说,这一步是最烧钱的环节。
韩路一在云平台上查了一圈价格,报价都是按秒算,看起来单价便宜,但是一乘以运行时间就会发现,训练一次就得好几万。
AI创业的第一道门槛,劝退九成独立开发者的那道门槛,现在摆在他面前了。
好在韩路一有一个别人没有的优势:数据质量极高。
别人需要十万条脏数据才能训练出基本能用的模型,他用视界标注过的三千条干净数据就能喂出来。
数据量小,训练轮次就少,算力也成比例下降。
仔细思考了之后,韩路一选了一个折中方案:用竞价实例跑正式训练,自己在外部实现了一个断点续传的功能,最后花了四万多块钱。
比直接买平台的高价实例便宜了一半。
这些钱都是从韩路一的存款里出,四万多只跑了一轮,以后要迭代,他都不敢细算。
怪不得大家都说创业难,这钱花起来是真肉疼啊。
就这么高强度开发了七天,韩路一终于敲下最后一个字符。
他把手离开键盘,然后放在鼠标上,突然有点儿不敢点测试键。
这种感觉,有点儿像考试完不敢对答案、论文写完不敢查重,也有点儿像表白完的微信不敢看回复。
越在意的东西越不敢验证。
韩路一站起身,去厨房里接了杯水喝,然后才回来坐下,深吸了一口气,开始跑测试。
在计算机领域,如果一个编程语言的编译器是用它自身写成的,就叫做自举。
把BugKiller的源代码丢进了BugKiller找Bug,这也算是一种自举吧。
运行。
进度条开始往前走:12%,31%……
盯着看了一会儿,韩路一才发现自己已经屏住了呼吸。
47%,68%,89%……
进度条走完了。
BugKiller原型的代码库并算不大,扫描也没花多长时间,韩路一却觉得过得无比漫长。
扫描结果出来了,屏幕上显示出了二十三条红色高亮。
作为对比,韩路一使用的JetBrains IDE自带的代码审查插件标出了两个黄标。
韩路一再打开视界,扫了一遍同样的代码。
结果是二十五个。
BugKiller比视界少了两个,他把两份结果拉到一起对了一遍,大部分重合。
在这一刻,韩路一确信自己的方向是正确的。
那些现实中的神奇能力且先不说,AI确实可以做到在代码审查这个细分赛道上接近金手指的水平。
接下来韩路一在BugKiller的帮助下,花了最后两个小时把所有的Bug都修复了,还把视界扫描出来、但是BugKiller没有扫描出来的那两个问题加回到数据库里。
这也是迭代的过程。
然后韩路一用BugKiller重新扫描了一遍自己的代码库。
进度条走完之后,屏幕上弹出一行绿色的字。
0 Issues Found.
爽!
韩路一把BugKiller部署到自己注册的云服务上,把网址和用户名、密码发给了苏念念。
“一周,没有食言哦。”
没过多久苏念念的电话直接打过来了。
“你也太厉害了吧!”苏念念的语气里全是惊叹,“我真没想到代码审查工具能做到这种程度,我在网上找了个开源项目跑了一下,Bug数多的我强迫症都犯了。”
韩路一在这边咧着嘴笑,但是声音尽量放平:“冷静,一般水平。”
“路一,相信我作为产品经理的直觉!这个产品有潜力的!”苏念念的语气变得严肃,“这个MVP已经比我之前测试过的所有竞品都要好了。”
“你要是放心的话,可以把用户测试的事情交给我,我找几个开发朋友先试一试,收集反馈,整理好之后给你继续迭代。”
“行。”
电话挂了之后,韩路一想了想。
东西做出来了,找人试用的事也有苏念念在做了,还差什么?
他拿出手机,翻出微信通讯录,找到顾司玥。
两人的聊天记录还停在上次她说“快闪大概率会走破产重组”,之后就没再联系过。
【NullPointer】:顾律师,方便约个时间吗?有个新的法律咨询。
晚上十一点多了,他不指望今晚有回复。
没想到回复很快。
【博衡顾司玥】:什么方向?
明天周六,韩路一看了一眼这条消息,晚上十一点秒回、周六还约客户,这人是不下班的吗?
【NullPointer】:软件著作权注册,可能还有商标注册,我做了一款软件。
韩路一记得之前在官网看过,顾司玥是做知识产权方向的,应该专业对口吧。
【博衡顾司玥】:明天下午两点来我办公室,按正常咨询费用收费。
【NullPointer】:好。
顿了一下,韩路一又加了一句。
【NullPointer】:我要带什么东西吗?
【博衡顾司玥】:带上身份证,如果有公司的话营业执照,软件开发过程中的记录最好也现场给我看一下。
第二天下午两点,博衡律师事务所。
周六的律所比上次来安静一些,走廊里大半的办公室都黑着灯。
前台把韩路一领到会议室,路过走廊的时候经过一间门没关严的办公室。
韩路一扫了一眼,办公室的桌子上是空的咖啡杯,里面还挂着几件衣服。
窗台角落有一盆绿萝,叶子耷拉着,土干得发白。
门上的铭牌写着【高级合伙人·顾司玥】。
韩路一暗暗啧舌,这个人是住在办公室了吗?
走到会议室,顾司玥已经坐在里面了。
“要创业啦。”顾司玥看了看韩路一准备的资料,说了一句。
“还比较早期,不确定能不能跑通。”
顾司玥抬头看了韩路一一眼:“加油。”
韩路一说了声谢谢,不确定她是礼貌的客气还是基于什么别的原因。
“著作权我让助理今天就开始走流程。商标查重也是,如果没有撞车的一周内帮你提交。”顾司玥在笔记本上写了几笔,“你的代码仓库在哪个平台?”
“GitHub,私有仓库。”
“好,源代码文档和软件功能说明整理一份发我邮箱,越快越好。”
韩路一点头。
顾司玥的笔记本上好像有个清单,她正在一个一个打勾,打着打着停下来了。
“你原来公司有竞业协议吗?”
韩路一愣了一下:“入职的时候签过,但签离职协议的时候我没有收到HR的《竞业协议启动告知书》,也没有收到过补偿金。”
他虽然是第一次离职,但是见人离职并不少,对这个还是了解的。
企业想启动竞业协议,不让离职员工从事相关行业,需要正式告知、持续打钱,不然不算数的。
哪知道顾司玥听完之后接着问道:“协议在手上吗?”
“在家里。”
“回家拍给我看看。”
韩路一皱了皱眉:“你觉得鼎盛会启动竞业协议?”
顾司玥抬起头看向韩路一:“我是律师,我要确认你没有风险,只有看到协议之后才能确认。当然,竞业协议很多是不启动的,但不启动不代表没有风险,你之前在科技公司工作,现在创业的领域也是AI工具,你说有没有风险?”
韩路一在脑子里快速过了一遍离职那天的场景。
说实话,他其实不太愿意回忆。
“我回去拍给你。”他说道。
顾司玥“嗯”了一声,低头继续记录。
韩路一出了会议室,往电梯走,又经过那间门没关严的办公室,余光扫到角落的绿萝,叶子耷拉在那里。
不知道为什么,那盆绿萝在他的脑海里留下了很深的印象。
出了大楼之后,韩路一又看了看手机上的备忘录。
竞业协议啊……