答辩前夜,我熬到凌晨改完论文,趴桌上睡了过去。
醒来时,署名变成了室友韩越的名字。
我拿着原始数据去找导师,换来退学通知。
韩家放话,全行业封杀。
前女友和韩越发了合照,配文“终于等到你”。
我抱着纸箱上天桥,脚底打滑。
再睁开眼,回到了答辩前七天。
这一次,我先去了学术道德委员会。
【第一章】
醒过来的时候,我闻到了宿舍那股泡面味。
上铺的床板硌着后背,头顶的天花板上有一道裂缝,从灯座一直延伸到墙角。
这道裂缝我看了三年。
可问题是,我已经很久不是大学生了。
手机屏幕亮着,闹钟还没响。我看了一眼日期——2019年6月18日,星期二。
手开始抖。
上一秒的记忆还黏在脑子里:天桥,纸箱,雨,脚底打滑,身体往后仰,然后什么都没了。
现在是六年前。
距离答辩还有七天。距离韩越偷走我的论文,还有三天。
我从上铺翻下来,脚踩在地上,冰凉的触感从脚心往上窜。
韩越的床铺空着,被子叠得整整齐齐。他向来起得早,这个习惯三年没变。
我站在宿舍中间,花了三十秒让自己冷静下来。
上一世的事,一帧一帧地往脑子里涌。
我是我们这届研究生里唯一拿到国家奖学金的人,导师周教授最看重的学生。我的毕业论文做的是AI图像识别方向的算法优化,熬了整整一年半,跑了几百组实验数据,代码迭代了四十多个版本。
答辩前三天,我通宵改完最后一版,趴在实验室桌上睡过去了。
醒来的时候,论文文件还在,但署名被改了。韩越的名字挂在一作的位置上,我的名字在第二行。
我拿着U盘里的原始备份去找周教授。
他坐在办公桌后面,看了我一眼,把U盘推回来。
“姜屿,韩越的论文我看过初稿了,和你这个确实有相似之处。但人家提交的时间比你早了两个小时,系统记录在案。你有证据证明他抄你的?”
我有。我有代码提交记录,有实验日志,有从第一行代码开始的所有版本。
但韩越的的父亲韩正邦,是学校的校董之一,捐过一栋实验楼。
周教授最后说了一句:“你回去再查查,别冲动。”
冲动的结果是我被退学。韩家的律师函说我敲诈勒索,学校认定我学术不端,诬陷同学。
全行业封杀。我投过十几份简历,要么石沉大海,要么面试后被拒。后来才知道,韩正邦跟这个圈子里的人都打了招呼。
再后来,唐韵——我谈了两年的女朋友——在朋友圈发了张照片,她搂着韩越的胳膊,笑得很好看。配文四个字:终于等到你。
我干过外卖,干过工地,干过仓库分拣。
二十六岁那年冬天,我抱着装杂物的纸箱过天桥,脚底打滑,什么都没了。
现在,我站在2019年的宿舍里,离那场答辩还有七天。
韩越,你不知道我回来了。
我洗了把脸,换了衣服,拿上U盘和实验笔记本,出门。
上一世,答辩前三天我才去注册论文。这一次,我要先去一个地方。
学术道德委员会办公室在三号楼四层,门牌写着“学术规范与诚信建设办公室”。我敲门的时候,手还是有点抖。
“请进。”
推开门,里面坐着一个五十来岁的女人,短发,戴着老花镜,桌上堆着一摞材料。
“你好,我是计算机学院2019届研究生姜屿。”
她抬头看了我一眼:“有什么事?”
“我来做一件事——提前登记我的毕业论文的完整创作记录。”
我把U盘和笔记本放在她桌上。
“这里面有我从课题立项到现在的全部代码提交日志,一共四十七个版本。实验数据原始记录在笔记本里,每一组数据都有实验时间、设备编号和操作备注。”
她推了推眼镜,翻开笔记本看了看。
“你为什么要提前登记?”
我想了三秒钟该怎么回答。
“因为有人可能会偷。”
她放下笔记本,看着我。
“你有具体证据吗?”
“目前没有。但三天之内会有。”
她沉默了几秒,从抽屉里拿出一张表。
“填这个。我们会把你的材料存档编号,作为优先时间证据。”
我接过表,开始填。
笔尖落在纸上的那一刻,我脑子里只有一个念头。
韩越,这次你偷不到了。
【第二章】
从学术道德委员会出来,我站在三号楼门口,太阳刚升起来。
六月的校园已经有夏天味道了,梧桐树荫底下有学生在背英语。我看着这些人,有点恍惚。上一世这个时候,我还在实验室熬夜跑数据,连早饭都顾不上吃。
手机震了一下,韩越发来的微信。
“兄弟,昨晚又通宵了?我早上看你床上没人。今天中午一起吃饭?二食堂新出了个酸菜鱼。”
我盯着这条消息看了五秒。
上一世,他发的一模一样。连标点符号都没变。
我回了个“好”。
收起手机,往实验室走。路上经过图书馆,我停了一下。
上一世,我在图书馆三楼的一个角落里写完了论文最后三章。那个位置很偏,没什么人去。我习惯把工作备份存在实验室的公用服务器上,论文主文件也存在那里。
韩越知道这件事。他是实验室的常客,有服务器的访问权限。
这一次,我不会再犯同样的错。
到了实验室,我打开电脑,第一件事是把服务器上的论文文件全部删除。然后从U盘里重新导入,加密存储到我自己的网盘里。服务器上只留一个空的文件夹。
做完这些,我看了一眼韩越的工位。他的电脑开着,屏幕锁了。桌面上放着一本《深度学习》,书签夹在第三章,那章我看过,讲的是基础概念。
他大概连第三章都没读完。
但上一世,他用我的论文答辩,拿的是优秀。
我的手指在键盘上敲了几下,打开了学校的论文查重系统。用我的学号登录,看到了一个让我心里发凉的东西——
系统里已经有一篇论文在审了,题目和我的一模一样。
提交人是韩越。提交时间是昨晚十一点四十三分。
也就是说,上一世他提前三天偷了我的论文,这一世他提前了。
我原本以为还有三天准备。现在只剩——
我看了一眼日期。距离答辩还有六天半。
他比我上一世记得的还早。
我靠在椅背上,手攥着鼠标。
好消息是,我去学术道德委员会登记的时间比他提交论文早了十二个小时。法律上讲,我的创作记录优先于他的提交记录。
坏消息是,他提交的论文内容,和我的一模一样。
这意味着他已经拿到了我的完整文件。不是偷服务器上的,那就是——
我想起来了。上周四,我去洗澡,电脑没关。韩越说帮我看着。
就那一次。十五分钟。
他复制了我的全部文件。
我深吸一口气,关掉查重系统。
不要急。急了会出错。
我拿出手机,给陈主任打了个电话。
“陈主任,我是姜屿。我刚才登记材料的时候说三天内会有证据,现在有了。韩越已经在查重系统提交了一篇和我完全相同的论文,但我的创作记录登记时间比他早十二个小时。”
电话那头沉默了两秒。
“你确定内容完全相同?”
“我需要调取他的提交文件做比对。这个能不能申请?”
“可以。我以学术道德委员会的名义向学院调取。姜屿,你做好心理准备,如果比对结果一致,这件事会进入正式调查流程。”
“我已经准备好了。”
挂了电话,我打开自己的代码仓库。
四十七个版本的提交记录,每一个版本都有时间戳、修改内容和提交备注。最早的一个版本,时间戳是2018年1月15日,那时候韩越甚至连课题方向都还没定。
这些记录,就是我的命。
我把整个代码仓库导出成一份完整的日志文件,包含每一次提交的哈希值、时间、修改的代码行数。然后打印出来,一页一页地装订好。
四十多页。每页都是铁证。
装订完,我把这份材料锁进实验室的柜子里。钥匙我贴身带着。
上一世,我把所有东西都存在服务器上,以为那是最安全的地方。
这一世,我只信纸。
中午,我去二食堂赴韩越的约。
他坐在靠窗的位置,面前两份酸菜鱼已经点好了。见我过来,笑着招手。
“兄弟,来来来,趁热吃。”
我坐下来,拿起筷子。
他看起来和往常一样,国字脸,头发梳得整整齐齐,说话时眼睛看着你,让人觉得他在认真听。在学校里人缘不错,逢人就笑,导师面前也勤快。
上一世,我被退学那天,他站在办公室门口,表情是遗憾的。
“姜屿,我真不知道你这么困难。有什么需要帮忙的,你说。”
我那时候还信了。
“昨晚去哪了?”他夹了一块鱼,问得随意。
“出去办了点事。”
“什么事?”
“个人的事。”
他笑了一下,没追问。端起杯子喝水。
我看着他的手。就是这双手,在我去洗澡的那十五分钟里,复制了我一年半的心血。
吃完饭,我回实验室。路过他工位的时候,余光扫了一眼他的屏幕。
他在看论文。不是他的论文——是我的。
他看得很仔细,在某个公式旁边做了标注。
我收回目光,走回自己的位子。
别急。再等两天。
等陈主任那边比对结果出来,等赵启明那条线接上。
韩越,你的好日子,还有两天。
【第三章】
赵启明这个名字,是上一世我被退学之后才知道的。
那时候我已经离开学校,在城郊租了间月租四百块的房子,白天送外卖,晚上投简历。有天晚上刷手机,在一个学术圈的论坛上看到一篇帖子,标题是“被抄袭后我被学校劝退,没人管我”。
发帖人叫赵启明,2017届的毕业生,比我早两届。
他写得很详细。做的是自然语言处理方向的课题,熬了大半年,被同组的一个人把论文初稿复制走了,改了几个参数就提交。他去找导师,导师让他“自己解决”。他去找学院,学院说证据不足。最后对方毕业了,他因为“论文不达标”被延毕半年。
延毕半年,错过了秋招,最后去了一家小公司做运维。
帖子底下只有三条评论,两条说“同情”,一条说“坚持”。
没有用。
上一世我看到这个帖子的时候,自己也已经是个废人了,帮不了任何人。
但这一世不一样。
赵启明现在应该在城南的科技园上班。我记得帖子里提过公司名字。
我花了一个下午的时间,查到了他的公司——一家做企业信息化的小公司,在科技园B栋12层。
第二天下午,我坐公交去了。
前台说赵启明在工位上,让我等一下。
我坐在沙发上,看着这个公司的办公区。几十个格子间,灯管发白,空气里有打印机的墨粉味。
一个瘦高的男人走出来,穿着格子衬衫,头发有点乱,眼镜片很厚。二十六七岁的样子,但眼底的青黑色像三十岁的人。
“你找我有事?”
我站起来:“赵师兄,我是江城大学计算机学院的研究生,我叫姜屿。”
他听到“江城大学”四个字,表情变了一下,很快又恢复了。
“有什么事?”
“能找个地方聊聊吗?”
他看了我几秒,点了点头。
我们去了楼下的便利店,买了两瓶水,坐在门口的台阶上。
六月的太阳晒得水泥地发烫,但台阶在阴影里,还算凉快。
我先开口。
“赵师兄,你2017年在学校做NLP课题的时候,是不是有人拿了你的论文?”
他握着水瓶的手停了一下。
“你怎么知道的?”
“因为你发过帖子。我看过。”
他沉默了很长时间。水拧开又盖上,盖上了又拧开。
“过去的事了。”
“没过去。”我看着他,“因为同一个人,现在又在干同样的事。”
他的眼神变了。
“谁?”
“韩越。”
赵启明把水瓶放在台阶上,双手交叉抱在胸前。
“是他。”他的声音很低,“当年拿我论文的就是他。他爸给学院捐了钱,导师帮我‘协调’,让我改个方向重新做。我没同意,就被延毕了。”
“你有证据吗?”
“有。代码提交记录我留着,论文初稿也在。但有什么用?学校不管。”
“这次不一样。”
我把我在学术道德委员会登记的事告诉了他,包括时间优先的证据、查重系统的记录、以及陈主任正在做的比对。
“赵师兄,如果你愿意站出来,你的事和我的事一起查。他一个人偷两次,性质就不一样了。”
他没说话,看着对面马路上开过去的车。
“我延毕那年,我爸住院,我连回家的车票都买不起。后来在这家公司干了两年,月薪五千,同学聚会都不敢去。”
他转过头看着我。
“你能确定这次能扳倒他?”
“我不确定。但我知道,如果我不做,他会继续偷下一个人的。”
赵启明低头看自己的手。
很久之后,他说:“我把材料给你。但你要答应我一件事。”
“你说。”
“如果这次又失败了,别让我名字出现在任何公开材料上。我丢不起这个人。”
“我答应你。”
他站起来,拍了拍裤子上的灰。
“下班后我回一趟出租屋拿U盘。晚上给你发。”
我站起来,把手伸出去。
他握了一下,手劲很大。
从科技园出来,我站在公交站台等车。手机震了,是陈主任的消息。
“比对结果出来了。你和韩越的论文核心算法部分相似度97.3%。已启动学术不端初步调查,通知你们学院了。”
97.3%。
我把手机揣回兜里。
公交车来了,我上车,找了个靠窗的位置坐下。
窗外的街景往后退。路灯、行道树、骑电动车的外卖员。
上一世,我在这条路上送过外卖。夏天热得衣服贴在背上,冬天冻得手指头没知觉。
这一世不会了。
手机又震了一下。韩越发的。
“兄弟,学院刚通知我,说我的论文被投诉了,要调查。你知道这事吗?”
我看着这条消息,打了两个字。
“不知道。”
发完之后,我把手机调成了静音。
韩越,轮到你睡不着了。
【第四章】
学院的通知来得比我预想的快。
第二天上午,我接到导师周教授的电话,让我去他办公室。
我到的时候,他坐在桌后面,桌上摊着两份打印的论文——一份是我的,一份是韩越的。并排放着,核心算法部分几乎一模一样。
周教授今年五十出头,头发花白了一半,平时话不多,指导论文的时候喜欢用红笔在打印稿上画圈。
“坐。”
我坐下来。
他盯着我看了几秒。
“姜屿,学院接到学术道德委员会的通知,说你的论文和韩越的论文存在高度相似,启动初步调查。这事你怎么看?”
“周老师,我的论文创作记录已经登记在学术道德委员会了。四十七个版本的代码提交记录,从2018年1月开始。韩越的论文提交时间比我晚十二个小时,但他没有任何创作过程的记录。”
周教授的手指在桌上敲了两下。
“你提前去登记的?”
“是。”
他看了我一眼,把两份论文并排放好,指着其中一段公式推导。
“这段推导,我当初看你的初稿时就提过修改意见。你改了三个版本才定稿。韩越的论文里,这段和你最终版一个字不差。”
他靠回椅背。
“我问你一个问题。你为什么提前去登记?”
我想了想怎么回答。
“因为我的文件上周被人复制过。”
“谁?”
“我没有直接证据。但上周四晚上我去洗澡,电脑没锁。韩越说帮我看着。第二天我发现文件访问时间有变动。”
周教授沉默了。
他拿起红笔,在韩越那份论文上画了个圈。
“你先回去。下周答辩照常准备。调查结果出来之前,你和韩越都正常参加答辩。”
“周老师,如果调查结果认定韩越抄袭,他的答辩资格怎么办?”
“那是学院学术委员会的决定,不是我能定的。”
他顿了一下。
“但你放心,这事不会和稀泥。”
我站起来,走到门口,又停住了。
“周老师,还有一件事。赵启明,2017届的毕业生,他的论文也被韩越拿过。他手里有证据。我已经把他的联系方式报给了陈主任。”
周教授握着红笔的手顿住了。
“赵启明……那个被延毕的?”
“是。”
他没有再说话。我出了办公室,带上门。
走廊里很安静,我的脚步声在地砖上回响。
上一世,周教授在我被退学的时候说了句“你回去再查查”。那句话我记了六年。
这一世,他画了个红圈。
不一样的。
下午,韩越找上门了。
他在实验室门口堵住我,脸上还是那副笑模样,但笑得比平时快了半拍,眼角的纹路也多出来一条。
“姜屿,你听说了没?学院要调查我的论文。”
“听说了。”
“你说这事奇怪不?我论文写得好好的,突然就有人投诉。”
他靠在门框上,双手抱胸。
“兄弟,你跟我交个底。是不是你去的学术道德委员会?”
我看着他。
“是。”
他的笑容停了一秒。
“你什么意思?”
“我什么意思你应该清楚。上周四晚上我洗澡那十五分钟,你做了什么,你自己知道。”
实验室里还有两个同学,听到这话都抬起头看了过来。
韩越的嘴唇动了一下,脸上的笑没了。
“姜屿,饭可以乱吃,话不能乱说。你有证据吗?”
“有。”
他愣了一秒,随即笑了一声。
“行。那咱们答辩见。”
他转身走了。走到走廊拐角的时候,脚步停了一下,没有回头。
我回到工位上,打开电脑。
手机震了,是赵启明发来的消息。
“材料发你邮箱了。另外,我改主意了。如果要作证,用我的真名。我不想再躲了。”
我盯着这条消息看了很久。
上一世那个论坛帖子底下,赵启明最后一条回复是:“算了,认了。”
这一世,他不认了。
我打开邮箱,下载了赵启明发来的材料。他的代码提交记录、论文初稿、以及一份当年的邮件往来——韩越的导师曾给他发过一封邮件,让他“顾全大局,接受调解”。
这封邮件,是铁证。
我把所有材料整理好,转发给了陈主任。
做完这些,我靠在椅子上,看着窗外。
天快黑了,实验室的灯管嗡嗡地响。
还有五天。
【第五章】
韩正邦的电话是在第三天打来的。
我正在实验室改答辩PPT,手机屏幕上跳出一个陌生号码。归属地写着本市。
我接了。
“是姜屿同学吗?”
声音很低沉,语速不快,每个字都咬得很清楚。
“我是。”
“我姓韩,韩越的父亲。”
我没说话。
“姜同学,年轻人的事,年轻人自己解决。闹到学校去,对谁都不好。你说是吧?”
“韩先生,您想说什么?”
“我听说你去学术道德委员会投诉了我儿子的论文。这件事,如果你愿意撤回投诉,我可以补偿你。研究经费、推荐信、毕业以后的去向,都好商量。”
我握着手机,走到走廊上。
“韩先生,您儿子偷了我的论文。这件事没什么好商量的。”
电话那头停了两秒。
“年轻人,你知不知道,这个学校的实验楼有一半是我捐的?你闹得起来吗?”
“那是您和学校的事。我投诉的是学术不端,跟实验楼没关系。”
“你——”他的声音高了一个调,又压下去了。“姜屿,我给你一天时间考虑。你撤了投诉,我给你十万块,再给你写封推荐信,你去哪个公司都行。你要是不撤,我保证你在这个行业里待不下去。”
“韩先生,您这个电话我录了音。”
对面没声了。
“您刚才说的每一句话,包括威胁我的部分,我都会提交给学术道德委员会。”
“你……”
“再见。”
我挂了电话,手心是汗。
录音这件事是我提前做的准备。上一世韩正邦的手法我知道——先拉拢,再威胁,最后动用关系封杀。他从来不自己下场,都是通过律师和学校的领导层操作。
但这一次,他自己打了电话。
他急了。
我把录音整理好,发给了陈主任,附了一条消息:“韩越之父韩正邦致电威胁撤回投诉,录音已存。”
陈主任的回复很快:“收到。已记录。”
下午,学院学术委员会开了一个内部会。我没有参加,但周教授事后给我打了电话。
“学院决定,在你和韩越的调查结论出来之前,你们两人的答辩都正常进行。答辩当天,学术委员会会派两名委员列席旁听。”
“周老师,如果当天韩越的论文被认定为抄袭,他的答辩结果算不算?”
“不算。学院会根据调查结论做最终裁定。”
“那如果调查结论迟迟不出来呢?”
“不会。陈主任说了,三天之内出结果。”
三天。正好是答辩前一天。
我挂了电话,回到实验室。
韩越不在。他的电脑屏幕锁着,桌上那本《深度学习》还是夹在第三章的位置。
我看了一眼他的桌面,发现了一张纸。是打印的,上面写着几个期刊的名字和投稿邮箱。
韩越在准备投稿。
用我的论文投稿。
我把这张纸拍了下来,存进手机。
晚上,赵启明又发来一条消息。
“姜屿,我今天接到了学校学术委员会的电话,让我下周去做个笔录。”
“你怎么说的?”
“我说我去。”
后面跟了一句:“六年了。终于有人问了。”
我看着这句话,说不出什么滋味。
上一世,没人问他。他在那个论坛上发了帖子,三个评论,然后沉了。
我回了他一句:“赵师兄,这次有人管了。”
第二天早上,我到实验室的时候,发现韩越已经在里面了。
他坐在自己的工位上,看着我进门。
表情和以前不一样了。没有了那层笑,嘴唇抿成一条线。
“姜屿,你把我爸的电话录音交上去了?”
“是。”
他站起来。
“你知不知道你在做什么?”
“我知道。”
“你觉得你斗得过我家?”
“这不是斗不斗的问题。你偷了我的东西,我拿回来,天经地义。”
他走到我面前,比我高半个头。声音压得很低。
“姜屿,你会后悔的。”
我抬头看着他。
“韩越,上一世我已经后悔过了。这一次不会。”
他愣了一下。
“什么上一世?”
“没什么。”
我绕开他,走到自己的位子上,打开电脑。
他站在原地,没有跟过来。
答辩还有四天。
【第六章】
赵启明来做笔录那天,我在学术道德委员会办公室外面等着。
他出来的时候,眼镜片上有一层雾气,摘下来擦了擦。
“说了四十分钟。”他把眼镜戴回去,“陈主任问得很细,连当年的邮件都看了。”
“她怎么说?”
“她说证据链很完整。韩越2017年抄我的,2019年抄你的,手法几乎一样。先复制文件,再改几个参数,换掉署名。连犯错的步骤都一样——他连变量名都没改。”
“他从来不看代码内容。”
赵启明笑了一下,很轻。
“对。他连我的变量名都没改。当时我以为他至少会改一下,结果一个字没动。”
我们站在走廊里,窗外有人在打篮球,球拍地的声音一下一下传进来。
“赵师兄,你怕吗?”
他看了我一眼。
“怕。怕了六年了。但比怕更难受的是憋屈。”
他把双手插进裤兜里。
“你信不信,我每天上班路上都会经过江城大学那个公交站。每次经过都低头,怕碰到认识的人。延毕半年,同学都毕业了进大厂拿几十万年薪,我在小公司做运维,修打印机,装系统。”
“这一次不一样了。”
“嗯。这一次有人在前面顶着。”
他说的是我。
我没接话,拍了拍他的肩膀。
从学术道德委员会出来,我回实验室继续准备答辩。
答辩PPT我改了三版。第一版是我上一世用过的,太啰嗦,导师当时提了不少意见。这一世我把结构重新理了一遍,核心算法部分加了推导过程的动态演示,每一页都标了对应的代码版本号。
周教授看过之后说了一句:“比上次好。准备得很充分。”
我没告诉他,这些修改意见是上一世答辩被退之后他给我的。那时候我已经被开除了,他在校门口的奶茶店碰见我,说了几句话。
“你那个论文,算法部分其实做得很好。可惜了。”
可惜了。
这三个字我记了六年。
这一次不可惜了。
晚上,我在实验室待到十一点。其他人都走了,只剩我一个人。
我把答辩要用的所有材料整理了一遍:论文终稿、代码仓库日志、实验数据原始记录、答辩PPT、以及一份比对报告——我自己做的,逐页标注了我的论文和韩越论文的差异点。
差异点只有一处:署名。
其他所有内容,包括公式、代码、实验数据、结论,完全一致。
我把这份比对报告放在最上面。
手机震了,唐韵发来一条微信。
“姜屿,我们能见一面吗?”
我看着这条消息,没有回。
上一世,唐韵在我被退学后第三天提的分手。在宿舍楼下的奶茶店,她坐在我对面,说:“姜屿,我们不合适。你现在的状况……我也帮不了你。”
我当时问她:“你是不是跟韩越在一起了?”
她没回答。
后来我在朋友圈看到了那张合照。
现在她来找我了。大概是听说了什么。
我把她的消息划掉,继续整理材料。
还有三天。
【第七章】
唐韵没有因为我不回消息就放弃。
第二天中午,她出现在实验室门口。
她穿着件白T恤,头发扎成马尾,手里拎着两杯咖啡。站在那里看着我,嘴角有一点弧度,不大。
“姜屿,给你的。”
我接过来,放在桌上没喝。
“有什么事?”
她在我旁边的椅子上坐下来。
“我听说你在告韩越学术不端?”
“不是告,是投诉。”
“姜屿,你听我说。韩越跟我提过,说他参考了你的思路,但核心是他自己做的。你们同组,互相影响很正常。你是不是有什么误会?”
我转头看她。
“唐韵,你什么时候开始替韩越说话了?”
她的目光偏了一下。
“我没有替他说话。我只是觉得,事情没必要闹这么大。你撤了投诉,对大家都好。”
“对你也好?”
她没说话,手指在咖啡杯上敲了敲。
我站起来,走到电脑前面,打开了我的代码仓库日志。
“你看一下这个。四十七个版本,从2018年1月到2019年6月,每个版本的时间戳、修改内容、提交人。再看一下韩越的论文,核心算法部分和我的第四十三版一个字不差。连我写错又改过来的一个变量名,他都没发现。”
她看着屏幕上的日志,嘴唇抿了一下。
“这能说明什么?也许你们讨论的时候——”
“我和韩越从来没讨论过算法。你问问他,我的算法核心公式他能不能推导出来。”
她不说话了。
我关掉屏幕。
“唐韵,你来找我,是韩越让你来的吧。”
她的手指攥紧了杯子。
“我只是……觉得你没必要走到这一步。”
“什么一步?维护自己的东西?”
“你撤了投诉,韩越说他可以给你推荐——”
“走吧。”
她愣住了。
“你说什么?”
“我说走吧。咖啡我不要。”
她站起来,脸有点红。拿着咖啡走了两步,又回头。
“姜屿,我是为你好。”
“上一世你也是这么说的。”
“什么?”
“没什么。”
她走了。门关上的声音在实验室里回响了一下。
同组的一个同学看了我一眼,低下头继续敲代码。
我把唐韵送来的咖啡扔进了垃圾桶。
下午,陈主任打来电话。
“姜屿,调查结论基本出来了。我简单跟你说一下:你和韩越的论文核心内容一致度97.3%,韩越无法提供创作过程的任何记录。赵启明的案件也一并查实,韩越2017年存在同样的行为。学术委员会后天开全体会,做最终认定。”
“认定结果会是什么?”
“根据现有证据,基本会认定韩越学术不端,取消答辩资格,记过处分。赵启明的事,学院会重新启动复核程序。”
“韩正邦那边呢?”
“他打电话威胁你的录音已经转交学院纪委了。这个不归我管,但纪委已经在跟进。”
挂了电话,我站在走廊上,窗外的梧桐树被风吹得晃。
还有两天。
韩越还不知道。他还以为他爸能摆平。
他不知道的是,有些事不是钱能摆平的。
特别是当证据全在的时候。
【第八章】
答辩前一天。
学术委员会的全体会上午就开完了,但结果没有正式公布。陈主任说,要等书面通知发到学院之后才能告知当事人。
我知道结果。但韩越不知道。
这一天韩越出奇地安静。他没有找我说话,没有发微信,一整天都坐在自己的位子上。我不知道他在想什么,但他的鼠标点得很急,屏幕一直在切。
下午四点,周教授把我和韩越分别叫到办公室。
我先进去的。
“坐。”
我坐下来。
周教授把一份文件推到我面前。上面盖着学术委员会的章。
“学术不端调查结论认定书。你自己看。”
我翻开第一页。
结论部分写得很清楚:经调查,韩越同学的毕业论文与姜屿同学的论文存在高度相似,相似度97.3%。韩越同学无法提供论文创作过程的任何有效记录。结合赵启明同学2017年的同类投诉,认定韩越同学存在学术不端行为。
处理意见:取消韩越答辩资格,记过处分。赵启明同学2017年案件重新启动复核。
我把文件合上。
“周老师,谢谢。”
他摇了摇头。
“不用谢我。你自己去登记的,你自己查的,你自己找的人。我没做什么。”
他顿了一下。
“姜屿,有句话我欠你。”
我看着他。
“上一届赵启明的事,我知道。当时学院压下来了,我没说话。这是我的错。”
他的声音很平,但说“错”这个字的时候,嘴角的肌肉动了一下。
“周老师,不是您的错。”
“是我的错。该说的话我没说。”
他站起来,把那份文件收好。
“明天答辩,好好准备。”
我出来的时候,在走廊上碰到了韩越。
他站在周教授办公室门口,等着我出来。
脸上没有笑。嘴唇抿得很紧,两个拳头攥在身体两侧。
“姜屿。”
“嗯。”
“你赢了?”
“不是我赢了。是事实就这样。”
他盯着我看了三秒,嘴角扯了一下。
“你以为这就完了?我爸说了,就算学校处分我,他也能把我送到国外去读。你呢?你告完了,能拿到什么?”
“我拿到的是我的东西。本来就该是我的。”
他往前走了一步。
“你会后悔的。”
“这句话你上次说过了。”
他愣了一下,转身进了周教授的办公室,门关得很重。
我站在走廊上,听见办公室里面传来周教授的声音,隔着门听不清说什么,但语调很低。
回到实验室,我收拾好明天的答辩材料。PPT、论文终稿、代码仓库日志、实验数据笔记本,全部装进包里。
赵启明发来一条消息。
“明天答辩,加油。”
我回了一个“好”。
晚上,我在宿舍床上翻来翻去。韩越在上铺,一点声音都没有。
过了很久,他开口了。
“姜屿。”
“嗯。”
“你怎么知道我要偷你的论文?”
我闭上眼睛。
“因为你做过一次。”
“什么?”
“没什么。睡吧。”
他没有再说话。
第二天早上,我醒来的时候,韩越的床铺已经空了。被子没有叠,枕头歪在一边。
他走了。
【第九章】
答辩在上午九点开始,地点是学院三楼的学术报告厅。
我到的时候,答辩委员会的五位老师已经坐在台上了。旁边多了两把椅子,是学术委员会派来列席的。
台下坐着的同学不多,十几个,都是同届的研究生。赵启明也来了,坐在最后一排的角落里。
韩越的位置空着。
九点整,答辩委员会主席清了清嗓子。
“今天的答辩开始。由于韩越同学因学术不端调查被取消答辩资格,不参加本次答辩。姜屿同学,你准备好了吗?”
“准备好了。”
我走上讲台,把U盘插进电脑,打开PPT。
第一页:课题名称、研究方向、指导教师。
第二页开始:研究背景、问题定义、算法设计。
我没有按常规的答辩流程讲。我在第三页停了一下,点开了一个新的文件——代码仓库的版本日志。
“各位老师,在汇报论文内容之前,我想先展示一下这篇论文的创作过程。”
屏幕上出现了四十七个版本的提交记录,时间从2018年1月15日开始,到2019年6月17日结束。每个版本都有时间戳、修改内容摘要和哈希值。
“这是我的代码仓库日志,一共四十七个版本。最早的版本是2018年1月,那时候课题刚立项。最后一个版本是答辩前三天定稿。每个版本都有不可篡改的时间记录。”
我翻到下一页。
“这是我的实验数据原始记录。”我拿起实验笔记本,翻开给答辩委员会看。“每一组数据都有实验时间、设备编号和操作备注。第一组实验是2018年3月做的,最后一组是2019年5月。”
台下很安静。
我切回到论文正文,开始讲核心算法部分。公式推导、实验设计、数据分析、结论。每一个环节我都标注了对应的代码版本号和实验日期。
讲到第二十三页的时候,我停了一下。
“各位老师,这一页的公式推导,我在第三十一版到第三十四版之间改了三次。第一次的推导有一个系数标错,第二次修正了但证明过程不完整,第三次才定稿。这些修改在代码仓库日志里都有记录。”
答辩委员会里的一个教授举了手。
“姜屿,你展示的这些版本记录,韩越同学那边有没有类似的记录?”
“没有。学术道德委员会已经核实过了,韩越同学无法提供任何创作过程的记录。”
那个教授点了点头。
我继续讲。从算法设计到实验结果到应用前景,每一页都讲得很扎实。这些东西我做了一年半,每一个数字、每一行代码我都记得。
上一世我没机会讲这些。这一世,每一页都是我把命拼进去的东西。
讲到最后一页的时候,我看了一眼台下。赵启明坐在最后一排,摘了眼镜,在擦。
答辩提问环节,五位老师问了我七个问题。每一个我都答上了。不是因为我聪明,是因为这些东西是我一行一行写出来的,一组一组数据跑出来的。
最后一个问题是周教授问的。
“姜屿,你的算法在处理低光照条件下的图像识别准确率比现有方案提升了4.7个百分点。这个提升的来源是什么?”
“来源在第三十八版的代码修改里。我调整了特征提取层的权重分配策略,把低频信息的权重提高了0.15。这个调整在第三十九版的实验中得到了验证,准确率从89.2%提升到了93.9%。”
周教授看了我两秒,点了头。
答辩结束后,委员会讨论了十五分钟。
结果:全票通过,建议授予硕士学位。论文评定为优秀。
我站在报告厅门口,赵启明走过来。
他没有说话,只是拍了拍我的肩膀,拍了两下。
手劲很大。
“姜屿,谢谢你。”
“谢什么。你自己站出来的。”
他笑了一下,把眼镜戴回去。
“走了。回公司上班,迟到了扣钱。”
我看着他走远的背影,格子衬衫在太阳底下有点晃眼。
手机震了。陈主任的消息。
“学院纪委约谈韩正邦了。涉嫌干扰学术调查,具体由纪委处理。”
我把手机收起来。
上一世,韩正邦打个电话就能让学校把我的投诉压下去。他捐的实验楼,他认识的人,他的钱,都是他的武器。
这一世,他的武器失效了。因为他打的那个电话,被录了音。
不是因为有人罩着我,不是因为我是谁。
是因为我提前做了准备。
【第十章】
学院的处理通知在答辩后第三天正式下发。
韩越,学术不端,取消答辩资格,记过处分,延期毕业。
韩正邦干扰学术调查一事,移交学校纪委。后来听说是约谈了三次,具体结果没公开。但那年暑假,实验楼门口那块刻着韩正邦名字的铜牌被摘了。
赵启明的案子重新复核后,认定2017年的处理不当。学院给了他一份书面致歉函,补发了毕业证上的学位信息。
他拿到致歉函那天,给我发了张照片。
信纸是白色的,学院的红章盖在右下角。
他只说了一句:“六年了。”
我回他:“以后同学聚会可以去。”
他发了个笑脸。
韩越离开学校那天,我没有看见。是同宿舍的同学说的,说他爸开车来接的,东西不多,一个箱子,一个包。
宿舍里他的东西都清走了,桌面上干干净净。那本《深度学习》没带走,还夹在第三章的位置。
我把它拿起来翻了翻,书页上干干净净,一个笔记都没有。
第三章讲的是梯度下降的基础概念。他连这个都没看完。
我合上书,放进了书架。
唐韵是在答辩后第五天找上门的。
那天我在学校门口的奶茶店,买了一杯柠檬水。她从对面走过来,脚步不算快,手里拎着一个纸袋。
“姜屿。”
我抬头。
她站在桌子旁边,手里那个纸袋放在桌上。
“这是你之前放在我那里的东西。书、充电线、一件外套。我整理了一下。”
“放那吧。”
她没有走,在我对面坐下来。
“姜屿,我和韩越……已经分了。”
我喝了口柠檬水。
“嗯。”
“你能不能听我说几句?”
“你说。”
她低着头,手指在桌面上画圈。
“当初我跟他在一起,不是因为你不优秀。是因为你被退学的时候,我觉得你以后没出路了。韩越家条件好,我以为……”
“你以为跟着他更有前途。”我替她说完了。
她没反驳。
“我知道你恨我。”
“我不恨你。”
她抬起头。
“真的?”
“唐韵,上一世——”我顿了一下,改了个说法,“以前的事就过去了。你做的选择是你的事,我不评价。但我也有我的路。”
她的嘴唇动了一下,像是想说什么。
“我们……还能重新开始吗?”
我站起来,拿起柠檬水和那个纸袋。
“唐韵,你那天在朋友圈发的合照,配文写的是‘终于等到你’。那个‘终于’,说明你等了很久。”
她愣住了。
“你等的人不是我。我不耽误你了。”
我走了,没有回头。
奶茶店的玻璃门在身后关上,外面的太阳很亮。
我走了几步,回头看了一眼。她还坐在里面,手指攥着那杯没喝的奶茶。
纸袋里的外套我拿出来叠好放进了书包。充电线还能用。书是一本算法入门,我翻了几页,扉页上有我自己写的笔记。
都是我的东西。拿回来就好。
【第十一章】
毕业那天的典礼很简单。
帽子扔起来的时候,我站在人群里,看见赵启明也来了。他坐在观众席最后一排,没穿学士服,就一件普通的白衬衫。
我跟他对视了一眼,他朝我点了下头。
周教授作为导师来跟毕业生合影。轮到我的时候,他站在旁边,手搭在我肩膀上。
照片洗出来的时候,我看了看。他的手搭在我肩上,我手里拿着毕业证。
上一世没有这张照片。
毕业后我进了一家做AI视觉的科技公司。面试的时候,技术总监问了我一个问题:图像识别在低光照条件下的优化方案。
我讲了二十分钟,从算法原理到代码实现,到实验数据对比。
他听完站起来握我的手。
“明天来上班。”
工作第一个月,我参与了一个安防监控的夜视项目。用的就是我论文里的那套算法。
上线测试那天,凌晨两点的停车场,十几个摄像头同时切换到夜视模式。屏幕上,暗到几乎看不见的画面变得清晰起来。
我站在监控室里,看着屏幕。
上一世,我送外卖送到凌晨两点。同一个时间,不同的位置。
手机震了一下,赵启明发来消息。
“我跳槽了。一家做NLP的公司,薪资翻倍。”
我回他:“恭喜。”
他又发来一条:“论文投了。审稿中。”
我把手机放回兜里,继续看屏幕。
三个月后,我的那篇论文发表了。期刊是计算机视觉领域的核心刊物。署名只有我一个人。
周教授给我发了条消息:“看了。写得好。”
我盯着这三个字看了很久。
上一世,他在校门口的奶茶店跟我说“可惜了”。
这一世,他说“写得好”。
我把这条消息存了截图。
【第十二章】
有一天,我在公司楼下的便利店买咖啡,碰到了一个同届的同学。
他看见我愣了一下,然后笑了。
“姜屿!好久不见。你知道吗,韩越后来去国外读了个水硕,回来了。在一家小公司做销售。”
“哦。”
“听说他爸的生意也不好做。捐了那么多钱给学校,最后铜牌都摘了。”
我拧开咖啡喝了一口。
“你呢?听说你发了核心期刊?牛啊。”
“运气好。”
“你叫这运气好?我们那届谁不知道你那论文被韩越偷的事。后来学院还专门开了一场学术诚信的会,拿你的案例当正面教材。”
我笑了笑,没接话。
他走了之后,我站在便利店门口,咖啡还剩半杯。
太阳已经出来了,街上的人开始多起来。上班的、送孩子的、买早点的。
我想起了一件事。
上一世天桥上那个早晨,我抱着纸箱站在边缘。脚底打滑的时候,脑子里最后一个念头不是恨谁,是想——
如果当时我提前做了准备,会不会不一样。
这个念头,我带了六年。
现在我有答案了。
会。
不是因为有人帮我,不是因为时来运转。
是因为我自己先动了。
答辩前七天,第一个去的地方是学术道德委员会。不是实验室,不是宿舍,不是去找谁商量。
是去把我的东西先守住。
上一世我太老实了。埋头干活,不设防,以为只要做得好就没人能动我。
韩越偷我的论文,是因为我给了他机会。文件不加密,电脑不锁屏,服务器上的备份谁都能看。
这一世,他没机会了。
不是因为他变好了。是因为我变了。
手机又震了。赵启明。
“姜屿,我论文过了。审稿意见回来了,小修。”
“恭喜。”
“改天请你吃饭。”
“行。你请。”
他发了个锤拳头的表情。
我收起手机,把剩下的咖啡喝完,杯子扔进垃圾桶。
路过报刊亭的时候,我看见一本杂志的封面上印着一个标题——“学术不端治理新规:从源头到追责的全链条改革”。
我没买。
走了两步,又退回来,扫码买了一本。
翻开目录,第二篇文章的引言部分引用了一个案例。案例没有写名字,只写了“某高校研究生因论文被盗用被退学,后经学术道德委员会调查还原事实”。
没有名字。但我知道是谁。
我把杂志卷起来塞进包里,往公司走。
六月的太阳晒在背上,暖的。
和六年前那个天桥上的雨天不一样。
那个早晨我站在天桥上,手里抱着纸箱,什么都没有了。
这个早晨我站在街上,包里有一本刚发表的论文、一本杂志、一个上班用的工牌。
都是我自己的。
韩越,你不欠我了。我也不欠你了。
这件事到此为止。