一秒记住【笔趣阁】
xbiquge365.net,更新快,无弹窗!
第三百零五埋雷(第1/2页)
凌晨三点十五分,何明盯着屏幕上那条锯齿状的曲线,手指敲桌面的节奏越来越快。
节点三的内存占用图像被一把钝锯来回切割,波峰和波谷之间的差距比三小时前扩大了近一倍。何明滚动替换节点七之后,系统运行平稳,唯独节点三像被人从内部撕裂。
他抓起电话打给炜杰。
二十分钟后,炜杰披着外套冲进机房,李彦强跟在后面,头发乱糟糟的。
“不是兼容性问题。“何明把两张打印出来的曲线图摊在桌上,“节点七换上去之后,所有新旧模块之间的数据握手都正常。但节点三的老主板跟新内存条之间存在底层时序冲突,这毛病平时藏在负载下面,一旦替换其他节点引发全局调度变化,它就浮上来了。“
炜杰看着那条越来越大的锯齿:“会炸吗?“
“说不准。“何明罕见地用了模糊词,“最坏的情况是连锁反应——节点三崩溃,负载瞬间倒灌到相邻节点,如果那时候我们正在替换节点五或者节点六,整个集群可能一锅端。“
李彦强凑过来看屏幕:“能不能修主板?“
“修不了。这是硬件设计缺陷,除非换整机。“何明摇头,“但我们没有备用整机。“
炜杰开口:“跳过节点三。“
何明和李彦强同时看向他。
“节点三不动,先换四、五、六。“炜杰指着机柜,“把节点三从负载均衡池里摘出来,让它只跑最基础的缓存服务,降低压力。等全部替换完成,我们再回头处理它。“
何明皱眉:“这意味着整个升级周期延长至少一周。“
“总比全军覆没强。“炜杰转向李彦强,“志远走了,分词那边我天亮后去处理。你盯着产品进度,别让这件事打乱腾信交付的节奏。“
李彦强点头,没说话。
上午九点,炜杰推开了分词团队的办公室门。
屋里只有一个人。老周坐在靠窗的位置,戴着老花镜,正对着一本翻开的《现代汉语词典》发呆。他是北大中文系毕业的,今年五十七岁,负责千度的词典编辑——给分词系统提供词汇库和语义规则。他不会写程序,但没有人比他更懂中文的词性、搭配和歧义。
“志远走了,你知道吧?“炜杰拉过一把椅子坐下。
老周摘下眼镜,从口袋里摸出一块布慢慢擦:“知道。昨天夜里他回来收拾东西,我刚好在。他没跟我打招呼,我也没问。“
“分词团队现在剩几个人?“
“算我三个。“老周伸出三根手指,“小王和小李,两个兼职的北大研究生,每周来三天。志远一走,核心算法那块就空了。“
“你能顶上吗?“
老周把眼镜重新戴上,看着炜杰:“炜总,我这辈子没写过一行代码。你让我改词典、标词性、理语义规则,我没问题。但让我动模型、调参数,那是叫一个厨子去打铁。“
“我不是让你写代码。“炜杰身体前倾,“我要你当分词团队的临时负责人。代码可以让小王和小李写,但他们缺的是方向——不知道哪些词该优先处理,不知道歧义怎么断。你懂中文,你给他们定规矩。“
老周沉默了一会儿:“腾信那边急吗?“
“三个月,一天不能多。“
“三个月……“老周咂摸着这个数字,“那得再招人。两个兼职研究生不够,至少再招两个全职的算法工程师。“
“已经在写了。“炜杰从包里抽出一张纸,“招聘启事,你看有没有要改的。“
老周接过去逐字读。启事写得直白:千度招聘自然语言处理工程师,要求熟悉统计学习或规则分词,有编程基础,薪资面议,工作地点中关村。末了加了一行字:“参与国内最大搜索引擎核心模块开发,直接服务千万级用户。“
“这行加得好。“老周把纸还回去,“现在的年轻人不在乎钱,在乎事够不够大。你跟他们说这是在造一艘大船的龙骨,比说给多少工资管用。“
炜杰起身:“分词这边交给你了。有任何事直接找我,不用过李彦强。“
老周点点头,重新低下头看词典。他的手指停在一个词条上——“切分“。释义里写着:“把整体分成若干部分。“他盯着这两个字看了很久。
反击是在中午开始的。
小陈把搜乎在北大未名论坛发的悬赏帖截图存了下来,配上简短说明,发到了清华、人大、北航、北邮等十几所高校的论坛。截图清清楚楚:搜乎出价五千块推荐费挖千度员工,被挖者额外拿三个月薪水签约奖金。帖子末尾,小陈加了一句话:“各位同学,这就是搜乎的格局——不用产品说话,用钞票挖墙脚。“
与此同时,千度官网上线了一份《千度搜索引擎技术透明度报告》。报告里列出了千度的团队规模——二十三名全职员工加九名兼职研究生,列出了千度的服务器配置——八台节点集群正在升级中,列出了千度的日均索引量——超过一千万网页。没有一句攻击竞争对手的话,全是数字和事实。
但最有杀伤力的不是报告,是何明做的一段技术演示。
他用屏幕录像软件录了一段五分钟的视频,标题叫《同一个词,千度和搜乎看到的有什么不同》。视频里,他在千度和搜乎的搜索框里输入同一组搜索词:“清华大学计算机系“。千度的结果页第一条就是清华大学计算机系的主页,摘要精准截取了系简介的前两行。搜乎的首条结果却是某培训机构打着“清华计算机“旗号的广告页。
(本章未完,请点击下一页继续阅读)第三百零五埋雷(第2/2页)
第二组:“北京协和医院挂号“。千度第一条是协和医院官方网站。搜乎第一条是一个第三方挂号中介。
第三组搜索词更刁钻:“苹果多少钱一斤“。千度识别出“苹果“是水果,结果页混入了一家水果电商。搜乎把“苹果“理解成了电脑品牌,首页全是数码产品。
视频最后,何明打了一行字:“分词不是魔法,是对中文的理解。“
小陈把这段视频传到了各个高校论坛。到晚上八点,帖子下面的回复已经翻了三页。
“搜乎那个推荐费帖子我看到了,当时就觉得很掉价。“
“千度只有二十三个人?不太可能吧……但如果真是这样,那效率也太恐怖了。“
“何明那个视频我试了,是真的,搜乎确实分不清苹果是水果还是电脑。“
“搜乎最近到处挖人,我室友就接到过电话,开口就是双倍工资,连技术面都没做。“
舆论的风向在转。
下午四点,炜杰接到了陈琳的电话。
“炜总,腾信这边技术团队已经准备好了。马总的意思是,下周一开始需求对接,你们派两个人过来深圳,待三到五天,把定制引擎的功能清单过一遍。“
“周一?“炜杰看了眼日历,“可以。我安排分词和架构各一个人过去。“
“好。另外马总让我转达一句话——“陈琳顿了顿,“他说他知道你们最近在忙升级,也知道搜乎那边动作多。但腾信的合作不等人,三个月的期限,他希望千度能守住承诺。“
“告诉马总,三个月后千度的引擎会准时出现在腾信的服务器上。“炜杰说。
挂了电话,炜杰在办公室里坐了很久。二十三个人,节点三随时可能爆炸,分词团队刚失去核心,腾信催着要人——每一根绳都在往不同方向拽。
他拿起笔在纸上列人选。架构这边何明走不开,只能派刘芳。分词这边……老周不懂代码,研究生没出过差。最后炜杰在纸上写了一个名字:自己。
分词的需求对接,他亲自去。
晚上十一点,炜杰还在办公室改深圳之行的需求文档。分机响了,是老周。
“炜总,你现在能过来一趟吗?分词这边……有点事。“
老周的声音不像平时那么慢条斯理,尾音里带着紧绷。
炜杰快步穿过走廊,推开了分词办公室的门。老周一个人坐在屏幕前,小王和小李已经回校了。
“你看这个。“老周指着屏幕上一段代码,“这是志远走之前最后提交的版本,我今晚闲着没事,一条一条过他的改动日志。大部分改的是模型参数,正常。但这里——“他把光标停在一行上,“这一行,藏得很深。“
炜杰俯身看屏幕。那是一段条件判断语句,嵌在分词模型的初始化函数里,被三层循环包裹着,不逐行读根本不可能发现。
代码的逻辑是:如果系统检测到词典文件的校验码发生变化,并且变化发生在某个特定的时间窗口内,分词模型会触发一个隐藏分支——输出的不是正常分词结果,而是将整段文本的切分粒度降到最低,所有连续汉字都被切成单字。
这意味着什么?意味着如果有人未经授权修改千度的核心词典,整个分词系统会瞬间“瘫痪“——不报错,不崩溃,只是输出无意义的结果。用户看到的搜索摘要会变成一堆零散的单字,排序算法也会跟着失效。
“这是……“炜杰盯着那行代码。
“后门。“老周说,“或者,志远管它叫‘礼物‘。文件注释里他留了一个标记,就两个字——‘礼物‘。“
炜杰没说话。
王志远临走前,在千度最核心的代码里埋了一颗雷。这颗雷不会自己炸,只有人动了词典才会引爆。是防竞争对手抄袭?还是防千度在他走后改代码?又或者,是给搜乎留的后手——等搜乎抄千度功能时,这颗雷会跟着被抄过去,在某个时刻炸掉搜乎的搜索质量?
“善意还是恶意?“老周问。
炜杰直起腰:“现在不知道。“
“那……拆吗?“
炜杰沉默了很久。窗外的中关村已经安静下来,只有远处几盏灯还亮着。他想起王志远递辞职信时那张脸——三个字,“对不起“,没有解释,没有告别。
“先不动。“炜杰说,“但要把它看死。老周,这段代码的触发条件你记清楚,任何人对词典的改动,必须经过我签字。“
老周点点头,把眼镜摘下来又擦了一遍。
炜杰转身往门口走,脚步比平时重。他身后,屏幕上那行被光标高亮的代码像一只沉默的眼睛,藏在几千行模型逻辑的最深处。
王志远留下的是一道保险,还是一把匕首——答案只有在它引爆的那天才会揭晓。