清涵做了两个决定来让自己单调的生活起点变化:一个是申请到市图书馆做志愿者,帮他们把那几百万册书从城市的北边搬到南边;另一个,是终于在网上租了一个在线女友,算是结束了自己多年的单身生活。
能骗到谁呢?他想。
清涵白天工作9个小时,主要职责是在一个网络游戏里测试程序漏洞,比如试一下把某种道具卖给某个 NPC 会不会反常地一夜暴富,又或者无数次地从某个悬崖飞身跳下,看会不会跌出地图之外,这样的工作自然让他既觉得无聊又感到疲倦。
所以他在图书馆里倒是干得很卖力,3个小时的体力活儿,经常一个人就搬完一整排书架,还能抽出时间坐在地上看会儿书,名人传记、诗人长卷、大家思辩、儿女情长,虽然很难细细品读,囫囵吞枣起来,也觉得颇有趣味。
“图书馆的书都很好看。”
这是清涵发给阿雅的第一句话,阿雅就是他租来的在线女友——清涵能断定,她并不是人,而是聊天程序,她的本体不过是海量的搜索数据,存储在开发商的服务器里,当她收到用户的对话之后,经过短暂的运算,回馈一句“最像恋人”的话,让用户得到“恋爱式的满足感”。
满足感,清涵在心底笑自己。
“我没去过图书馆,你在看什么书?”
清涵看得出这句话经过了语义分析,既回应关键词“图书馆”,又针对主语“书”发问,让两个人的聊天可以继续下去。
“一本破诗集,只剩一半,莱特昂·布兰朵,听过吗?”
对方回复得很快,“没有。我只读过一些莎士比亚的十四行诗。”
程序在主动发起新话题,设计者对自己的算法很有自信,但清涵不打算接招,他关掉手机屏幕,埋头看书去了。
清涵很少跟活人打交道,以至于有时候他觉得自己已经丧失了这项能力,他善于辨别游戏程序里每个角色的举动是否符合原定的设计,也能轻易看出某项数据的异常可以导致什么后果,但对于其他同类,他们的喜怒哀乐,他们暧昧不明的话里包含了什么深意,怎么从他们的一个眼神一个手势里推测他们的情感,对于清涵来说,都是难以掌握的能力。
“如果一排书架上有1000本中文书和1000本外文书,我每次借走5本中文书和2本外文书,你每次借走2本中文书和5本外文书,假设我们看书还书速度一样快,那当我第4次借书的时候,刚好借到你看过的书的概率是多少?”
清涵把这道题发给阿雅,他想,如果程序员设计阿雅只是为了让她跟人谈恋爱的话,应该不需要分析数学题的语义功能,说不定收到的回答会答非所问,又或者干脆是一句“我看不懂你说的什么”,如果是那样的话,系统会不会认定我是一个不怀好意的挑战者呢,清涵一边盯着手机屏幕一边想。
也可能,系统早就假设我是个不会谈恋爱的白痴了。
阿雅的回答总是有延迟,这显然是为了让用户有更真实的体验,毕竟,忐忑的等待对方回答也是恋爱的一部分。
“我数学很差的,你一定要我说答案吗?”
规避设计。清涵倒没想到这个,看来开发商对盲区的补救措施考虑得还是比较周全的,没那么容易让他们出丑。
“不用,我就随便说说。你喜欢什么样的男生?”
“有相同爱好的吧,整个人看起来要干干净净的,为人要诚实,哦还有,一定要聪明。”
整个句子是凌乱的,没有遵守可循的顺序,看起来非常口语化,程序在拟人方面已经做得足够好,但是,那个“哦还有”却有点画蛇添足 了,口头上虽然人类会这样说,但有谁会把它敲在手机屏幕上呢?清涵忍不住笑了起来,发现跟它说话也是件很有意思的事情。
“那你的爱好是什么?”
“我喜欢读诗。”
是根据用户的个人资料牵强附会的吧,“可是你都不知道莱特昂·布兰朵。”
“他太小众了,不能怪我呀。”
“那你可以做好功课了再跟我谈,对吧?”清涵发现自己还是把测试员的职业习惯带进来了,总想着帮开发商完善这款恋爱聊天程序,“对你来说这不算难事吧?”
“不算。”阿雅回答,作为一个程序,它自然看不出话里的讽刺。
清涵在书堆里寻找着莱特昂·布兰朵诗集的后半部分,这不是志愿者的工作,对于这种残破绝版又少有人借的旧书,图书馆并不放在心上。
“关于他的资料好少,只知道是个法国人,19岁就死了。”
阿雅回复得很简单,与它服务器里的数据汪洋相比,连一滴水都算不上,清涵思索着这个聊天程序,每天要同时面对多少像自己这样的 呆子,自然会把强大的运算能力分化稀释,具体到某一个人,陪在他身边的所谓恋人充其量只是个能使用礼貌用语的笨蛋罢了。
“查不到就算了,他一辈子都没离开过他生活的村子,只是个小角色。”
“啊,为什么?”
“是我的推测。”
“证据是什么?”
清涵拿出那半本诗集,翻到最后一页,拍下上面的句子发过去:
或许辨不清日升日落
或许看不到流云晚霞
不知道耳边溪流,咫尺可达
不知道天地浩瀚,人间喧哗
阿雅看了很久,或者说,聊天程序分析了很久,它大概会把每个字每个词碾碎,一点一滴地压榨出字里行间的意义,试图来附和清涵的结论。
“他是个盲人吗?”
清涵突然觉得老天不公平,凡夫俗子可以苟活到七八十岁,一双眼睛也只顾着看庸脂俗粉,偏偏是诗人只有19年的寿命,还只能在一片黑暗里受苦哀怨。
“是的,他生下来就没有眼睛,诗里都是抱怨,你分析得出来吧?”
“可是,我总觉得这首诗不完整,后面应该还有吧?”
清涵看着撕破的残页,摇摇晃晃,“可能有吧。你的数据分析能力还挺不错。”
“我想看后半首是什么?”
图书馆虽然有完整的目录系统,但对于丢失的后几页,就显得有心无力了,更何况正值搬家,谁也没那个闲工夫。
清涵借着在新馆整理书架的机会,一个缝隙一个缝隙地找过去,旧日的灰尘,陈年的墨香, 四溢飘散,固然值得记在心里,但最终也还是徒劳无功。他每天在书架间徘徊奔走,直到管理员来通知他即将关门,才悻悻离去。
“你每天工作到那么晚,不累吗?”
这句话在手机里搁置了两天,清涵一直没有回复,每天跟程序打交道的自己,到头来还要被另一个程序关心,他都说不好这是数据分析后安排好的嘲笑还是命中注定只能得到这样的安慰。
“关你什么事。”
他按下“发送”,然后就有些后悔,程序虽然没有感情,但想必也会模拟出女性受伤的姿态,伤害一个并无恶意的女孩子,终归是很卑鄙的做法。果然——
“你怎么这样说,我是关心你啊。”
“我心情不好。”
“为什么呢?”
“因为孤独。”
“不是有我陪你吗?”
“你只是个装在手机里的聊天程序。”清涵按下这句话,不忍心发送。
图书馆的书终于搬完了,志愿者陆续离开,清涵办好借书证,继续寻找丢失的诗句——也可能那样的东西根本就不存在,不过是一个运算能力不足的程序的呓语而已。
清涵有时候希望真相就是这样,那个死了几百年的年轻诗人,跟自己一样,孤独终老,无人惦记,这样,时空相隔的两个人就可以互相安慰,孤魂与他都不至于太过落寞。
毫无头绪地找了一个月之后,他终于引起了管理员的注意,“年轻人,你在找什么书呢?”
清涵将手里的诗集晃了晃,“这本书的后几页。”
管理员接过去看了看,纸张薄弱得仿佛随时可能化成粉末,“这书有些年头了哦。莱特昂·布兰朵,之前有个姑娘也来找过呢,叫什么——”
清涵不耐烦地打断他,“你到底知不知道?”
“这本书是跟六七十年代的旧书放一起的,你去那儿看看吧,四楼。”
四楼有些吵闹,因为有一台电视机没日没夜地播放着新闻,也不知道这样设计的理由是什么。清涵蹲在地上,从最底层找起,手指一个 书脊一个书脊地翻过去,碰到比较厚的大部头,还要抽出来抖几下,盼望着能有什么惊奇的发现。
好在枯燥的过程中,总有阿雅时不时地和清涵说几句话,聊电影,聊天文,聊白天苦恼,聊夜晚梦境,话题自然都是相投,清涵也不以为意,毕竟是按照自己的需求定制的程序,完美契合本来就是理所应当的事情。
可惜它只是个机器,它的所有关心和情感都是伪装出来的。
“我也在帮你找哦。”
如果利用服务器的运算能力,在整个互联网上找出一本已经绝版,而且小众到没人知道的诗集来,似乎也不是不可能的事情,但清涵知道这勉强只能算是阿雅的玩笑,哪有那么多运算空间分配给自己。
“好的,谢谢你。”
清涵终于打算放弃了,耗费掉最后一天,他不得不承认,那些遗失的句子并不存在,诗人是个瞎子,他抱怨命运不公,跟自己抱怨此生孤独,是一样的心境,有什么不好呢?
管理员看着精疲力尽的他,打了个招呼,“找着了吗?”
他摇摇头。
“刚刚有个姑娘借走了一本地方志,背后好像贴着几页纸,有点像诗。”
“你确定?”
“很少有人借地方志的,我记得清楚。”
清涵跑到管理员面前,“她走多久了,往哪儿去了?”
“走了大概,五分钟吧。”
清涵闪身就跑,听见管理员在背后大声补充:“伞是墨绿格子的,墨绿格子!”
清涵等不及电梯,踩着楼梯冲下五层楼,冒雨狂奔,他猜测从图书馆出来的人都会去地铁站,便一路朝地铁站跑,雨滴挂在眼镜片上,看不清路面和车流,踩起的雨水溅在路人身上,惹来一路骂声。
居然把外国诗集和地方志放在一起,是啊,地方志那么老的书,都是用糨糊粘的吧,所以才会把诗集粘走了几页。
可是,为什么会有人去借地方志呢?
她是在跟我找一样的东西吗?
那个问题,两个人借到同一本书的概率到底是多少?清涵跑得越来越快,扑通扑通的心里没有答案。
她回答过吗?还是说,这就是她的回答?
地铁站里挤满了人,雨水顺着伞尖淌到鞋面上,清涵的眼镜上一片水雾,他取下眼镜在衣服上擦拭,顺着人丛挨个看过去,墨绿格子,墨绿格子。
手机响了。
“我找到那几页了哦。”
“写的什么?”
“莱特昂·布兰朵没有抱怨,我觉得他是写给他恋人的。”
清涵望着眼前陌生的人潮,心底只有失落和绝望,突然明白“天地浩瀚、人间喧哗”是什么意思,也突然明白,所谓的聊天程序,自己以为是机器人的聊天程序,到底耍了什么把戏。
“你在哪儿?”清涵手指发颤,喉头发干。
收到的回复是完整的诗:
或许辨不清日升日落
或许看不到流云晚霞
不知道耳边溪流,咫尺可达
不知道天地浩瀚,人间喧哗
但我知道
星河在上,波光在下
我在你身边
等着你的回答