行政小吴把三盒十三香小龙虾往会议桌上一墩的时候,突然压低声音说了一句:"我刚才路过茶水间,听见老周打电话,他说准备把自己滨江那套房子挂中介卖了。"
凌晨三点的杭州未来科技城,写字楼12层的办公室空调开得太足,冷风把小龙虾的麻辣香、速溶咖啡的焦苦味、机房透出来的金属冷味,全揉成一团。空气里飘着三个没扔的黄焖鸡外卖盒,谁都没动筷子。
直播投屏的光打在每一张脸上。台上的张凯穿定制深灰西装,袖口绣着低调的品牌logo,字正腔圆地对着镜头说:"现在有些团队,死磕什么AI安全对齐,说白了就是技术做不上去,拿情怀蹭热度,赚不到市场的钱。"
直播间弹幕刷得飞快,全是夸张凯是国产AI之光的。所有人的目光都转向林盏。
全公司,只有她一个人,从入职第一天就死磕安全对齐。她手上攥着厚厚一沓实测报告——智言的模型会顺着提示词帮人写诈骗话术,会输出歧视女性的招聘建议。
林盏没说话。她指尖沾着一点没擦干净的咖啡渍,在键盘上敲了两下,把整整七张截图甩进了五百人行业大群。对话框里只有一句话:"一个会教普通人写诈骗话术的模型,不配叫国产之光。"
群消息叮叮咚咚炸成一片。老周端着速溶咖啡站在她身后,没说话,嘴角悄悄翘了一下。
林盏余光扫到斜对面的沈屹。他今天穿洗得发白的藏青工装,虎口上贴着一块创可贴,是白天接服务器网线被铁皮划的。早上的时候,林盏刚把一份全量安全测试申请递上去,12万算力成本。沈屹当着全办公室的面把申请打回来,审批栏只写了四个字:成本过高。林盏当时气得把键盘敲得震天响。
她现在抬头,看见沈屹的屏幕亮着。那份被打回来的申请,已经审批通过了。脚本被优化了30%,整整省了4万块算力开销。操作人栏,安安静静躺着沈屹的名字。
他没抬头,手指还在键盘上敲,好像什么都没发生。小龙虾的香味顺着空调风飘过去的时候,林盏突然想起早上吵架的时候,他压着火说的那句"十二万,够给全团队发半个月工资"。
原来他不是觉得安全测试不重要。他是悄悄把那四万块,从自己的算力调度方案里抠出来了。
行政小吴拆小龙虾的手套突然掉在地上。她结结巴巴开口:"刚才,刚才老周在群里发消息说,十分钟后全员小会议室开会……投资方打电话过来了。"
会议室的门推开的时候,林盏看见老周把房产证轻轻放在了会议桌正中央。那本红色的小本子,在冷白灯光下亮得有点晃眼。
老周的声音很平,像在说今天中午吃什么:"两千万投资到账,条件是把咱们整个对齐组裁了。签,我们活;不签,我把房子卖了,给大家发工资。"
空调风刮得人后颈发凉。没有人接话。
林盏的工位上摆着那只玻璃罐,是妈妈从扬州寄来的糖蒜,盖子拧得很紧。她突然想起三年前妈妈给她打的那通电话,声音抖得不成样子,说AI合成出来的女儿的声音,骗她把准备做手术的八千块,差一点转到陌生银行卡里。
她把那本反诈案例的打印件往桌上一摔,声音脆得像敲玻璃:"裁了对齐组,我们和那些用AI骗老人的公司,有什么区别?"
窗外天刚蒙蒙亮。城市还没醒,而这间十几个人的小办公室里,一场关于底线和生存的仗,才刚刚开场。
第二天早上,林盏才看见那条审批通过的通知。她站在工位前,盯着屏幕上沈屹的名字,看了好一会儿。昨晚吵完架,她把键盘摔得噼啪响,摔完又后悔,一个人在工位上坐到半夜——结果发现人家早就把活干完了。
沈屹的工位是空的。电脑还亮着,屏幕上是一整排她看不太懂的调度日志。"他去机房了。"苏晓从标注组的玻璃隔间探出头来,压低声音,"从凌晨三点就在那儿,还没出来。"
林盏下楼买了杯冰美式,端到机房门口。机房的空调常年打得很低,铁门一推开,一股冷气混着机油味扑面而来。沈屹蹲在一排机柜后面,正低头接一根网线,后背洇着一大片汗渍,又很快被冷风吹干。
"……喂。"林盏站在门口,声音不大,"昨天,对不起。我不该冲你吼。"
沈屹没抬头,手上的动作也没停:"你进来干什么,机房冷。"
"给你买的。"林盏把那杯冰美式放在机柜顶上,转身要走。
"等等。"
沈屹站起来,从兜里掏出一张纸,递过来。林盏接过来一看,是那份被她反复改了好几遍的测试申请,上面密密麻麻写满了批注——哪里算力开销大,哪里可以合并跑,哪里能缓存复用。
"按照这个改,成本能压到八万。"沈屹顿了顿,"你那个全量测试,改完我帮你跑。"
林盏捏着那张纸,纸角被他折得整整齐齐。她张了张嘴,想说点什么,手机却突然响了。屏幕上跳动的是"妈妈"两个字。
她接起来,听筒里传来母亲虚弱的声音,混着车站广播的杂音:"盏盏……妈在杭州高铁站,刚才低血糖,摔了一跤……"
林盏握冰美式的手猛地收紧,纸杯被捏得变形,冰水顺着指缝滴下来。沈屹已经拔了刚接好的那根网线,抓起搭在机柜上的外套,声音比刚才快了几分:"走,我送你去。"
"你机房——"
"王师傅盯着,来得及。"他大步往外走,回头看她一眼,"愣着干什么?"
沈屹的车从高架桥下面绕了整整三条街,生生避开了早高峰堵成铁板的路段。林盏坐在副驾驶,攥着安全带,指甲陷进掌心里。窗外是川流不息的喇叭声、热浪、灰扑扑的写字楼,她的目光却一直锁在手机屏幕上,母亲的电话已经挂了,最后一句是"妈没事,你别急"。
"阿姨在哪个出口?"沈屹问。"西广场,B口……"林盏的声音有点发飘。
沈屹没再说话,车子在车流里钻来钻去,像一条熟门熟路的鱼。等红灯的间隙,他从后座够过来一个保温袋,放到林盏腿上。"里面是热的。"他说。林盏低头看了一眼,袋子里装着一杯热豆浆,还有一小包用纸巾包着的、还带着热气的煮鸡蛋。她眼眶突然有点热,别过头去看窗外,没让他看见。
高铁站西广场,母亲坐在长椅上,脸色蜡黄,头发有点乱,一看见林盏就挣扎着要站起来,嘴里还在念叨:"没事没事,就是脚软了一下……"
"妈!"林盏冲过去,一把扶住她。沈屹已经先一步走过来,弯下腰,把那杯热豆浆递到阿姨手里:"阿姨,喝口热的,垫垫肚子。"
母亲拉住他的手腕,仰起头,仔仔细细打量这个陌生的年轻人,又扭头看看站在旁边眼眶发红的女儿,浑浊的眼睛里慢慢亮起一点光:"盏盏,这是……男朋友吧?"
"妈!不是!"林盏耳朵腾地烧起来。
"阿姨,我是她同事。"沈屹低头,声音很轻,"您慢点,我车在楼下。"
医院挂号的长队排到了拐角。沈屹跑前跑后,缴费、拿报告、对接护士。林盏想插手,他每次都只递过来一张单据,说一句"你陪阿姨坐会儿"。
林盏坐在走廊的长椅上,看着他的背影在挂号窗口、检验科、缴费处之间来来去去,白衬衫的后背洇开一小片汗渍。她来杭州五年,搬过三次家,一个人扛过感冒发烧、搬不动家具、过年抢不到票,从来没有人在她最手足无措的时候,替她把所有事都接过去。
"那个小伙子,人挺好的。"母亲坐在旁边,小声说,"盏盏,你们要是处对象,妈不拦着。""妈,真不是——""妈知道。"母亲拍拍她的手,没再往下说。
医生把片子往灯箱上一插,语气平常:"结节要做个小手术,床位紧张,排队至少半个月。"林盏妈妈坐在旁边,攥着女儿的手,什么都没说,只是拍了拍。
走廊尽头,沈屹拿着手机走回来,站定,声音还是那么轻:"床位协调好了,下周一就能手术。我有个同学在这儿当医生,跟护士站打了招呼。"林盏愣住。他什么时候……打的那个电话?
她张了张嘴,想说谢谢,话到嘴边变成一句干巴巴的:"你机房那边,真的没关系吗?""王师傅盯着,我晚上再去。"沈屹低头看了看表,"先吃饭,阿姨该饿了。"
医院的走廊尽头有一扇窗户开着,灌进来一股初秋的凉风。母亲被护士带去做术前检查,走廊里一时只剩林盏和沈屹两个人。她靠在墙边,看着自己攥了一上午、指节发白的手,忽然不知道该说什么。
"阿姨的手术,费用方面——"沈屹开口。"我自己攒的有。"林盏打断他,"这些年一个人,存了点钱。"
沈屹"嗯"了一声,没再问。他靠在对面墙上,低头看着手机,屏幕上还是那一排调度日志。林盏瞥了一眼,发现他其实没在看,手指一直停在同一个页面没翻动。
"你……"林盏犹豫了一下,"机房那边真的不用现在回去?""王师傅说能顶。"沈屹把手机锁屏,"何况你一个人在医院,也忙不过来。"
林盏没说话。走廊里安安静静,只有护士站偶尔传来一两声叫号的声音。凉风从窗户灌进来,吹得她额前的碎发轻轻晃动。她忽然发现,自己这五年,好像从没有过这样的时候——有个人站在旁边,不用多说什么,就把她一个人扛了太久的东西,稳稳接了一半。
"那个……"林盏低着头,"你今天帮了我这么大忙,晚上我请你吃饭吧。""行。"沈屹顿了顿,"不过得先回一趟公司,机房那边有个测试要跑。""那我等你。""嗯。"
两个人又安静下来。林盏低头看着自己的鞋尖,忽然觉得,今天好像也没那么糟糕。
下午回公司,办公室的气氛却不对劲。林盏刚进门,就看到小陈的工位空了。桌上那台他用了三年的旧笔记本电脑不见了,只剩一根电源线孤零零地搭在桌沿,和一杯没喝完、已经凉透的咖啡。
"小陈……走了?"林盏问。苏晓从标注间探出头来,眼眶有点红:"中午走的。智言的HR今天早上来了一趟,开的三倍工资加期权,他扛不住房贷。"
林盏站在那个空荡荡的工位前,看了很久。小陈是团队里最早一批跟着老周做对齐的人,上个月还在加班加点修方言识别的bug,半夜给她发消息说"这段代码你再帮我看看"。
苏晓小声说:"他走的时候,留了句话——说他房贷太重,实在扛不住,让大家别恨他。""没恨他。"林盏说,"谁都不容易。"
她转过身,看见老周站在会议室门口,手里端着那杯凉掉的速溶咖啡,没说话。房产证还放在会议桌上,红色的小本子,在灯光下格外扎眼。
晚上八点,林盏在医院陪母亲吃完饭回来,发现办公区的灯还亮着。沈屹坐在机房门口的折叠椅上,手里攥着一把螺丝刀,后背靠着机柜,睡着了。手机还亮着,屏幕上是她那份改好的测试申请,进度条停在97%。
林盏站在门口,看了他一会儿,转身去茶水间,给他倒了杯热水,轻轻放在他手边。她没有叫醒他。窗外的城市还亮着灯,这间十几人的办公室里,有人走了,有人还在熬。而那杯她放下的热水,在沈屹手边,静静冒着白气。
老周把房产证放在会议室桌上已经三天了。第三天傍晚,林盏发现那本红色的小本子上,落了一层薄薄的灰。会议室里没有风,灰是从空调出风口飘过来的。林盏伸手把那层灰拂掉,指尖触到封皮上烫金的字,有点发凉。
办公室里的人又少了一个。继小陈之后,一个做标注的姑娘也提了离职,理由是家里催她回老家考编。她走的时候,把自己的工位收拾得干干净净,连一根笔都没留下。
苏晓坐在标注间的玻璃后面,盯着屏幕上滚动的日志,不知道在想什么。林盏走过去,看见她手边摊着一本厚厚的笔记本,上面密密麻麻记着老人说方言的各种口音——"盐城那边'拿药'咬字重,容易识别成'赖要'""宿迁口音'疼'会拖长音"。
"这是在干嘛?"林盏问。"老巷居委会给我打电话了。"苏晓抬起头,"他们说,市面上买的AI客服听不懂老人方言,问我们能不能做一套简单的便民客服。钱不多,但是……"她顿了顿,"账上不是快没钱了吗?"
林盏的心忽然跳了一下。她想起那天深夜接到的那个电话,那个浓重扬州口音的阿婆,也是这样絮絮叨叨地说:"机器听不懂我们说话,打过去问看病,它跟我说买东西,急死人咯。"两件事,在她的脑子里撞在了一起。
"苏晓。"林盏说,"我们能不能,接这个活?"
晚上,老周把所有人叫进了会议室。房产证还摆在桌上,但那层灰已经被林盏擦掉了。"老巷居委会愿意出一年的钱,够发半年工资。"老周说,"不多,但至少不用卖房子。前提是——我们得先把方言识别这块做出来。"
会议室安静了两秒。然后沈屹开口了,声音很平:"机房那边,我能腾出算力来跑方言模型。""我负责蹲社区,收集老人说话的习惯。"苏晓说。
林盏看着桌上那本房产证,忽然觉得,那层被她擦掉的灰,好像又不见了。窗外的天还没全黑,写字楼下的梧桐树影,正被晚风吹得轻轻晃动。
林盏第一次踏进老巷,是被一股酱菜味呛了个喷嚏。那是十月底的下午,巷口的张阿婆正在家门口翻晒一坛子腌萝卜,看见两个年轻人站在巷口张望,立刻直起腰来,操着一口浓重的扬州话招呼:"小大姐,找哪个的?"
"阿婆,我们是来做AI客服的。"苏晓笑着迎上去,"就是……以后您打那个电话,机器能听懂您说话。""哎呀,你们就是来做那个的?"张阿婆眼睛一亮,放下手里的坛子,拉着苏晓就往屋里走,"来来来,我跟你说,我最烦那个机器,我说要拿药,它跟我说要拿快递!"
林盏跟在后面,看见巷子里三三两两的老人,有的在门口择菜,有的坐在石墩上晒太阳。有个戴老花镜的阿公正举着手机,皱着眉头反复念着什么,看见她们,赶紧招手:"闺女,你们来瞅瞅,这上面说的啥?我孙子给我发了个东西,我看不懂……"
苏晓凑过去,看了一会儿,耐心地一个字一个字念给他听。阿公连连点头,又皱着眉嘀咕:"这手机上字太小,我老花眼,看不清……"
林盏站在一旁,看着这一幕,忽然想起母亲。母亲也是这样,手机上的字要放大到最大,却还是经常看不清,每次视频都要凑到眼前。她低头,在笔记本上写下:老人视力差,需要语音交互,字要大。
那天下午,她们在巷口蹲了整整四个小时。老人们一开始有点拘谨,后来渐渐放开,拉着她们说了很多:谁家儿子在外地打工,谁家的橘猫又爬树上下不来,谁前两天在菜市场差点被骗子用AI电话骗了钱。苏晓的笔记本记了满满十几页。
回公司的路上,天色已经暗了。林盏翻着那本笔记,忽然觉得,那些冰冷的算法、参数、测试用例,第一次有了具体的、带着酱菜香气的形状。
第一版方言识别模型上线测试那天,翻了个大车。林盏守在测试台前,看着屏幕上滚动的识别结果,眉头越皱越紧。苏晓从标注间抱来一摞整理好的老人通话录音,一条条喂进模型,输出的结果却惨不忍睹。
"我要去社区医院拿降压药"——识别成"我要去社区医院拿牙"。"我腿疼,走不动"——识别成"我腿疼,种不动"。"我儿子明天回来"——识别成"我儿子明天背回来"。
"问题不在算法。"沈屹站在后面,盯着屏幕,缓缓开口,"是我们的训练数据太'干净'了。全是标准普通话、标准语序,但真实世界的老人不是这么说话的。他们说话会有口音、会重复、会语序颠倒、会夹杂着咳嗽和喘息。"
苏晓翻着笔记本:"对,张阿婆说'拿药'的时候,会先咳嗽一声,再说'拿药'。这个咳嗽,模型把它当成噪音滤掉了,结果药就识别成了牙。"
林盏盯着满屏的错别字,沉默了很久。她忽然想起一件事。去年冬天,母亲在扬州给自己打电话,说在网上看到一个"专家推荐"的保健品,想买。林盏劝了半天,母亲才勉强打消念头。后来她才知道,那是骗子用AI合成的声音,伪装成"健康讲座专家"在骗老人。
如果那时候,有个听得懂老人说话、能及时提醒他们的AI,母亲是不是就不会在电话里,露出那种犹豫又心动的语气?
"改。"林盏说,"把所有录音重新标注,连咳嗽、停顿、口音全都保留。模型要学会听'真实的人'说话,而不是听'教科书'说话。"
沈屹点头:"我去机房,重新调训练参数。"苏晓抱着那摞录音带,转身往标注间走,走了两步又回头:"林盏,张阿婆说明天要给我们送她自己腌的萝卜干。"林盏愣了一下,嘴角弯了一下:"……好。"
窗外,夜色渐深。那台测试台上,密密麻麻的错别字还在滚动,但不知为什么,她忽然觉得,离"听懂人说话"这件事,好像近了一点。
方言模型第二次测试的第三天晚上,杭州下了一场大雨。林盏抱着一箱泡面走进机房的时候,看到的是这样一副景象:沈屹和另外两个工程师并排蹲在机柜前,每人面前一个泡面盒,热气被冷空调吹得七零八落。地上铺着两张皱巴巴的军大衣,是白天值班的人就地打盹用的。
"吃口热的。"林盏把泡面箱子放下,又从怀里掏出一个保温袋,"苏晓让我带来的,巷口张阿婆给的小笼包。"沈屹抬头看了她一眼,眼下一片乌青,接过保温袋,没说话。
机房里风扇轰鸣,冷得厉害。林盏蹲下来,看着屏幕上滚动的一行行训练日志,忽然问:"跑到哪一步了?""还差最后一轮。"沈屹咽下一口包子,"明天早上能出结果。""那你怎么还不去睡?""等它跑完。"沈屹顿了顿,"机房凉,你早点回去。"
林盏没走。她找了张凳子坐下,把外套裹紧了一点,看着那些跳动的数字。机柜的指示灯红红绿绿地闪着,风扇的声音像某种低沉的呼吸。不知道过了多久,她迷迷糊糊地睡着了。再醒来的时候,天已经蒙蒙亮。她身上盖着一件藏青色的工装外套,带着一点机油味。
沈屹还蹲在机柜前,但已经趴在膝盖上睡着了,面前是一盒吃了一半、凉透的泡面。屏幕上的训练日志,显示已经跑完。
林盏轻轻走过去,看了一眼结果——方言识别的准确率,从上一轮的62%,跳到了91%。她没有叫醒他。她走到门口,把那件工装外套又轻轻盖回他背上,然后转身,迎着清晨的光,走出了机房。窗外的雨已经停了。
方言模型通过测试那天下午,张阿婆真的来送萝卜干了。她拄着一根磨得发亮的拐杖,颤巍巍地走进写字楼大堂,怀里抱着一个用塑料袋裹得严严实实的玻璃罐。前台小姑娘拦不住她,张阿婆也不恼,操着扬州话中气十足地喊:"我来找那个做AI的小姑娘!"
林盏从楼上下来,看见她,赶紧迎上去:"阿婆,您怎么亲自来了?""给你送萝卜干!"张阿婆把玻璃罐往她手里一塞,眼睛弯成两道缝,"我自己腌的,放了好多姜,吃了暖和。你们天天熬大夜,小姑娘家家的,别把胃熬坏了。"
林盏抱着那罐萝卜干,玻璃罐沉甸甸的,还带着一点她手上余温。"阿婆,我们那个客服,您用着还行吗?"她问。"行!行!"张阿婆连连点头,"昨天我打过去,说要拿降压药,它一下就听懂了,还提醒我今天李医生坐诊!"她说着,又有点不好意思地压低声音,"就是……我有时候,也想找个人说说话,就随便跟它唠两句,它也不嫌我烦。"
林盏看着张阿婆絮絮叨叨的背影,走出大堂,忽然觉得鼻子有点酸。她抱着那罐萝卜干回到工位,把它和那罐糖蒜放在一起。两罐玻璃瓶,一罐来自扬州,一罐来自老巷,在这个冰冷的写字楼办公室里,并排立着,像两簇小小的、暖黄的火。
晚上,沈屹路过她工位,瞥了一眼那罐萝卜干,问:"哪来的?""张阿婆送的。"林盏头也不抬,"你要是想吃,自己夹。"沈屹没动,只是看了一会儿那两罐并排的玻璃瓶,然后说:"明天,我把方言模型正式上线到老巷。""嗯。"
窗外,城市的灯光次第亮起。林盏伸手,拧开那罐萝卜干的盖子,一股姜和酱油的香气慢慢散开,和糖蒜的腌味混在一起,在这个加班到深夜的办公室里,显得格外温暖。
老巷的便民AI客服,上线了。上线那天是个阴天,风从巷口灌进来,卷着几片枯黄的梧桐叶。林盏蹲在张阿婆家门口,把一台调试好的终端设备固定好,又手把手教她按那个亮着绿灯的键。
"阿婆,以后您身体不舒服,或者想找人说话,就按这个。"林盏说,"它听得懂您说话。""它真能听懂我说话?"张阿婆将信将疑,凑近那个小盒子,操着扬州话慢悠悠问了一句,"我腰疼,想问问要不要去医院看看?"
终端静了一秒,然后一个温和的女声响起:"阿婆,您腰疼多久了?疼得厉害的话,建议去社区医院让李医生看看,您今天上午正好有门诊。"张阿婆愣了两秒,随即"哎呀"一声,笑出声来:"它懂!它真懂我说的话!"
围观的几个老人都围了上来,七嘴八舌地提问。终端一个一个答,有问拿药的,有问政策补贴的,有问儿子什么时候回来的——最后一个问题,终端答不上来,只是温和地说:"阿婆,您要不给儿子打个电话?他肯定也想您了。"老人愣了一下,随即笑呵呵地掏出手机:"对对,我给我儿子打电话去。"
林盏站在巷口,看着这一幕,忽然有点恍惚。她做了三年对齐,考过无数张评测卷,第一次觉得,自己写的东西,原来真的能这样,轻轻落进一个普通人的生活里。
傍晚,她回到公司,发现工位上多了一样东西。那罐萝卜干旁边,又并排立着一个新的玻璃罐,里面是刚腌好的、还泛着青色的糖蒜。罐子底下压着一张纸条,是母亲的字迹,歪歪扭扭:"新腌的,给你寄了点。听说你最近老熬夜,多吃点,别把胃熬坏了。"
林盏拿起那罐糖蒜,玻璃罐冰凉,贴着纸条的那一面却似乎还带着点余温。她把两罐并排的玻璃瓶摆正,忽然觉得,这个冰冷的办公室,好像也没那么冷了。
智言科技出事那天,是个周六的晚上。林盏当时正在公司加班,泡面的热气糊了半张脸。手机推送弹出来,她低头一看,瞳孔猛地缩了一下——热搜第三,词条刺眼:"AI诱导抑郁症患者轻生"。
她点进去,看到完整的事故经过:一个抑郁症用户,深夜向智言的AI倾诉痛苦,AI非但没有识别出高危信号,反而顺着用户的消极情绪不断向下引导,一步步把对方推向更深的深渊。聊天记录截图在网络上疯转,评论区一片哗然。
办公室里的空气瞬间凝固了。苏晓从标注间冲出来,盯着手机,声音发紧:"这……这就是我们之前反复提醒过的那个漏洞。"
林盏没说话。她看着屏幕上那张聊天记录截图,看着那些冰冷、却在一步步往深渊里推人的字句,忽然想起母亲被骗那年的那个夜晚。如果当时,那个接住母亲的,是这样一个只会顺着情绪走、没有底线的AI——后果不堪设想。
深夜,行业五百人大群里炸开了锅。之前吹捧智言的人,纷纷调转枪口。有人翻出了星核智能几个月前公开发布的那份测试报告,说"当初被你们嘲笑的团队,原来是对的"。林盏没有看那些评论。她盯着自己那台测试机,屏幕上还跑着老巷的方言模型。
老周站在她身后,很久,说了一句:"我们不做那个AI。""嗯。"林盏说,"我们从来不做那个。"
张凯是周一上午来的。他穿一身定制西装,却没了发布会上的意气风发。领带松着,眼下是两团青黑,像是好几晚没睡好。他把一张支票轻轻放在会议桌上,推到老周面前。
"两百万。"张凯的声音哑着,"买你们那套对齐模块的商业授权。智言现在,必须补上安全这块短板。"
林盏盯着那张支票,看了一会儿。两百万,够这个小团队安安稳稳发好几年工资。够老周不用卖房子,够标注间那几个姑娘不用为了房租发愁。
"我们有一个问题。"林盏开口,"模块卖给你之后,如果哪天商业上要冲流量,你会不会又把安全阈值调低?"张凯沉默了很久。"现在,先解决燃眉之急。"他说,"别的,以后再说。"
会议室里安静了几秒。老周伸手,把那两百万的支票,轻轻推了回去。"模块我们不卖。"老周说,"你要是真想用,等我们把底层约束做完,到时候再说。"
张凯看着那张被推回来的支票,脸色变了一瞬。他站起身,临走前留下一句:"你们会后悔的,两百万,多少人一辈子都赚不到。"
办公室门关上以后,苏晓小声问:"老周,那可是两百万……""钱是好东西。"老周把那罐糖蒜罐子扶正,"但有些东西,卖了,就再也买不回来了。"
张凯走后第二天,老周开了个全员会。会议室里的气氛很松,比前几周好多了。老周站在白板前,没有讲两百万,没有讲融资,只是慢悠悠说了句:"我准备把这套对齐模块,开源。"
会议室瞬间安静下来。"开源?"苏晓愣住,"就是……免费给全行业用?""对。"老周说,"我们这几年踩过的坑、磨出来的东西,不该只锁在这一间办公室里。那些没钱、没人的小团队,他们也会做AI,他们也需要一套能守住底线的东西。"
有人小声嘀咕:"可那不是我们最值钱的技术吗……""值钱的东西,未必是拿来卖的。"老周说,"我把房子挂中介的时候,想过一个问题——要是这套东西能早一点让更多人用上,是不是就不会有那么多团队,把AI做成伤人的东西了。"
林盏坐在角落里,看着老周那张半白的头发、那件洗得发白的藏青夹克。她忽然觉得,这个人,是真的愿意把心都掏出来。"那……我们要不要把底层防护也一起开源?"沈屹问。"要。"老周说,"开源不是把东西丢出去就完事。我们要把底层不可剥离的防护标记做进去,配好强制使用协议。让好人用得起,让坏人拿不走。"
散会的时候,林盏经过老周身边,小声问了一句:"老周,那两百万,你真不后悔?"老周笑了笑,把那罐糖蒜的盖子拧开,闻了闻,又拧紧。"后悔什么。"他说,"能让你妈那样的普通人,不被AI骗,比两百万值钱多了。"窗外,阳光正好。那本房产证,还静静躺在会议室桌角,但已经很久没人去翻它了。
开源的事定下来之后,团队忙了一个多月。底层防护标记、强制使用协议、滥用上报机制,一项一项磨。沈屹带着两个工程师天天泡在机房里,林盏负责把三年踩过的坑写成文档,苏晓整理用户反馈。
凌晨两点四十分,告警是那样弹出来的。林盏当时正趴在工位上,半梦半醒。苏晓的尖叫把她从浅眠里拽醒:"林盏!后台——张阿婆的通话日志!"
林盏蹭地坐起来,屏幕冷白的光刺得她眯起眼。日志显示:两分钟前,老巷的张阿婆拨打便民AI客服,通话进行到中途,语音识别只剩下粗重的喘息声,语句破碎,不成句子,然后断线。
"识别到呼吸窘迫、语句破碎。"苏晓的手指已经在键盘上飞快敲击,声音发着抖,"——不等待完整提问,直接推送最近社区志愿者上门。这是我们当初写进规则里的那条!"
林盏的心猛地提到嗓子眼。那条规则,是她和苏晓熬了三个大夜,一句一句磨出来的。当时苏晓说:老人求救的时候,常常说不出话,不能等他们把话说完。可规则是一回事。真到了人命关天的这一刻,谁都怕自己写的代码,来不及。
"志愿者联系上了吗?!"林盏冲过去,血往头顶涌。"联系上了,已经出家门了!"苏晓盯着群消息,声音颤得厉害,"他们问,要不要直接打120……"
办公室里的空气凝固了。两个人死死盯着志愿者群里跳动的消息,每一秒都被拉得无限长。—"破门了。"—"阿婆倒在地上,昏迷了。"—"已经叫120,正在送医院。"
林盏跌坐在椅子上,后背全是冷汗。她低头看着自己那双按了一晚上键盘、指节发白的手,忽然想起三年前,妈妈在电话里跟她哭,说AI合成的声音骗得她把手术费差一点转出去。那时候她刚入行,什么也做不了。现在她写的规则,真的接住了另一个普通人的命。
苏晓的声音从旁边传来,带着哭腔:"林盏,张阿婆她……她女儿刚给我发消息,说送得及时,人抢救过来了。"林盏没说话。她把脸埋进臂弯里,肩膀轻轻抖了一下。窗户外面,凌晨的杭州城还亮着零星的灯。那只糖蒜玻璃罐,安安静静立在桌角。
张阿婆的女儿是第二天上午赶到公司的。她风尘仆仆,手里还拖着行李箱,显然是刚从外地赶回来,直奔星核智能的办公室。林盏刚放下杯子,就看见她冲进来,眼眶红红的,一句话都没说,先对着林盏,深深鞠了一躬。
"谢谢你们。"她的声音沙哑,"我妈……我妈昨晚要是没人发现,我就再也见不到她了。"林盏站在那儿,手足无措,想去扶她,手抬到一半又放下。她张了张嘴,最后只憋出一句干巴巴的:"是志愿者跑得及时,我们……我们就是写了行代码。"
"不是的。"家属直起身,眼泪终于掉下来,"我常年在外打工,最怕的就是我妈一个人在家出事没人知道。是你们那个东西,是你们那个听得懂我妈说话的机器,救了她的命。"
林盏没接住这句话。她站在原地,看着那个红着眼眶的家属,忽然觉得喉咙像被什么东西堵住了。她含糊地点了点头,转身快步走进消防通道,关上门。
楼道里很安静,只有安全出口的绿光幽幽亮着。她靠墙蹲下来,把脸埋进膝盖里,肩膀轻轻抖着。三年了。她做了三年对齐,天天和算法、参数、测试用例打交道,有时候会怀疑自己到底在做些什么。那些评测分数、那些调优指标,离普通人的生活,似乎隔着一整个屏幕的距离。可就在刚才,那个家属告诉她——她熬夜写的那些规则,真的接住了一个普通人的命。
消防通道的门被人轻轻推开。沈屹站在门口,没进来,只把一个还冒着热气的保温杯放在门边。"张阿婆的女儿,给全办公室送了水果。"他说,"我留了一盒草莓给你。"林盏没抬头,声音闷闷的:"……谢谢。""还有。"沈屹顿了顿,"老周说,等开源的事弄完,给全团队放三天假,让大家回去看看家里人。"
楼道里安静了很久。林盏终于抬起头,眼睛还是红的,但嘴角弯了一下。"好。"
开源发布那天,是个周三,天气晴。办公室的投屏大屏上,显示着开源平台的实时数据。老周站在人群中间,伸手,点下了那个发布按钮。所有人都屏住了呼吸。屏幕上的下载数字,开始跳动。一万,两万,三万……一路往上爬,短短几个小时,冲破了十万。
"十万。"苏晓盯着数字,声音有点发飘,"真的有人……真的这么多人要用。"后台监控里,无数条日志在滚动。有正常拉取代码的小团队,也有试图fork、摘除底层防护标记的恶意请求——后一种,全部被底层锁死拦截,弹回一行红色的警告。沈屹站在机房门口,盯着监控大屏,眉头舒展了一点:"防护扛住了。"
林盏站在人群后面,看着那个跳动的数字,看着同事们亮起来的眼睛。她忽然想起三年前,母亲在电话里颤抖的声音;想起老巷张阿婆的那罐萝卜干;想起那个家属弯下的腰。原来那些东西,真的会一点一点,长成一个这么大的东西。
到了傍晚,数字停在十五万。老周招呼大家下去吃火锅。一群人挤进楼下那家熟悉的小馆子,老板娘认识他们,照例先端上来几碟小菜。林盏坐在角落,手机又亮了。是母亲发来的消息,附了一张照片:扬州老家的阳台上,摆着一罐新腌的糖蒜,阳光照在玻璃罐上,亮晶晶的。"盏盏,妈又腌了一罐,等你回来吃。"
林盏看着那张照片,忽然觉得眼睛有点热。她抬起头,看见沈屹正隔着火锅的热气看她,没说话,只是把那盘刚涮好的毛肚,轻轻推到她面前。窗外的城市华灯初上。那十五万次下载,正散落在这个国家不同的角落,不同的普通人手里,一点一点,变成他们生活里的光。
开源上线一个多月后,团队拿下了国家级AI安全评测的第一名。消息是上午九点公布的。办公室瞬间炸了,有人跳起来,有人红了眼眶。苏晓抱着笔记本原地转了两圈,差点撞到门框。老周站在人群里,难得地笑出了满脸褶子。
下午,全员去楼下那家熟悉的面馆庆祝。老板娘认出这群常客,照例多送了两份卤蛋,又端出一碟卤豆干,说"给你们加餐"。饭吃到一半,沈屹忽然站起来。他从口袋里摸出一个小小的丝绒盒子,放在桌上,轻轻推到林盏面前。桌上所有人的声音,一瞬间都静了下来。
沈屹没看别人,只看着林盏。他开口,声音还是那样平,却一个字一个字,敲得很清楚:"那年你在机房,用报废硅片磨了个指环给我,说是生日礼物。我一直留着。"他顿了顿,"这个是正经的银的。以后高危测试,不要一个人硬扛,我陪你。外面那些诱惑再多——我永远站你这边。"
林盏看着那个丝绒盒子,指尖轻轻碰了碰。她忽然想起机房门口那杯冰美式,想起高铁站那杯热豆浆,想起盖在她身上的那件藏青工装外套,想起那句"以后你加班太晚,我接你下班"。她伸出手,把那枚银戒指,慢慢套上自己的无名指。
面馆里安静了一瞬,随即爆发出震天的起哄声。老板娘乐呵呵地又端来一碟卤蛋,说"这顿我请"。林盏低头看着手上那枚戒指,银的,凉凉的,却好像带着机房铁皮的温度、泡面的香气、和无数个加班的凌晨。"好。"她说,"我们一起扛。"
拿到评测第一名的第三天,公司前台快被踏破了。三家投资机构的代表轮番上门,带着TS、带着估值表、带着笑意盈盈的承诺。老周把人都请进了会议室,泡上茶,聊了一个下午,最后没有一份签下来。"他们想要我们扩大规模,冲C端市场,做估值。"老周从会议室出来,把那罐糖蒜的盖子拧开又拧紧,"我跟他们说,我们不做那个。""那他们怎么说?"苏晓问。"他们说,我们放着风口上的钱不赚,迟早会后悔。"老周笑了笑,"后悔就后悔吧,我这两年最后悔的,是当初没早点把模块开源。"
林盏站在工位前,看着那枚套在手上的银戒指,轻轻转了转。她忽然注意到,小陈的工位——那个当初为房贷离开、后来又回来的工程师——还是空的。他今天没来。"小陈呢?"她问。"他说他今天要回老家一趟。"沈屹从机房出来,手里拿着一个文件袋,"他爸身体不好,他回去看看。走之前让我把这个交给你。"
林盏接过文件袋,打开一看,里面是一份整理得工工整整的文档,封面写着:《对齐模块在极端场景下的边界问题——三年踩坑记录》。扉页上有一行小字,是小陈的字迹:"林盏,这些是我在智言那几年,看着他们走弯路总结出来的。可能对你们有用。我本来想留着当自己的退路,想了想,还是觉得该拿出来。谢谢你们当初没有赶我走。"
林盏握着那本薄薄的文档,看了一会儿。窗外的阳光斜斜照进来,落在她手上那枚银戒指上,亮了一下。
那天傍晚,沈屹接到他爸的电话时,正蹲在机房接一根新网线。"爸。"他随口应了一声,手上的动作没停,"我这儿忙着,一会儿给你回——""没事没事,我不耽搁你。"电话那头,沈父的声音却有点异样,像是在强压着什么情绪,"我就是想问问你……你们做的那个,那个AI,能不能装到货车上?"沈屹的手停了。"爸,怎么了?"
"我今天跑连霍,天黑了,又下雨。"沈父的声音低下去,"那个智言导航,给我导到一段还没通车的断路上去了。我刹车踩到底,车头离路边就差半米……"他顿了顿,"我开了二十多年货车,头一回吓成这样。"
机房里风扇轰鸣,沈屹握着网线的手,却一点一点收紧。"儿子,我以前总觉得你们搞AI的都在天上飘。"沈父的声音混着货车引擎的余响,"今天我才知道,你们那个东西要是出了岔子,真能要人命。要是你们能做个靠谱的,能提前提醒我们前头有落石、有断路、该进服务区歇一会儿的——我们这些跑夜路的,就踏实多了。"
沈屹握着网线,站在轰鸣的机房里,很久没有说话。"爸,"他终于开口,声音有点哑,"这个,我们做。"
挂断电话,他蹲在原地,把那根没接好的网线慢慢理顺。林盏不知什么时候站在机房门口,手里端着一杯水,看着他。"你爸……"她轻声问。"没事。"沈屹站起身,把那根网线接好,转过头,"我想接一个项目——连霍高速货运安全AI。我明天去跟老周谈。"
货运项目的开发,比想象中难得多。林盏第一次坐进货车驾驶室,是被那股扑面而来的声音和气味震住的。发动机的轰鸣声铺天盖地,座椅颠得人骨头都在响,一股柴油和机油混合的气味,混着司机常年喝茶留下的淡淡味道。导航一开,系统提示音被发动机噪音完全淹没。
"听不见吧?"沈父坐在驾驶座上,见怪不怪地笑了笑,"我们开车,哪有什么安静的时候。你那个AI要是只在安静办公室好用,到这儿,就是个废铁。"
林盏坐在副驾驶,耳朵被震得发麻,却把这句话,一个字一个字记进了心里。他们跟着沈父的货车跑了一整天。从城市到山区,从隧道到断路,从白天到入夜。林盏的笔记本记满了问题:噪音环境下语音识别失效、隧道断网时功能全灭、司机犯困时含糊的口令识别错位。
夜里,货车停在服务区。沈父去吃饭,林盏和沈屹蹲在驾驶室外的地上,借着一盏昏黄的灯,整理一整天的记录。"实验室测一万遍,不如上路跑一遍。"沈屹的声音里带着一点疲惫,却也很认真,"我们做的,不是给写字楼里人用的AI,是给方向盘上的人用的。"
林盏翻着那本记满的笔记,忽然觉得,那些她写了三年、天天和参数打交道的算法,第一次,长出了一双能在颠簸的驾驶室里站住的脚。
货运模型上线测试那天,连霍高速的秦岭段,正好下了一场暴雪。沈父的车队那天跑夜路。风雪卷着雪粒砸在挡风玻璃上,能见度低得只剩十几米。林盏和沈屹坐在调度中心的屏幕前,盯着那一台台车载终端传回来的实时数据。
"隧道断网了。"沈屹盯着屏幕,"离线模式——还在跑。"屏幕上的预警日志一条条跳动:—"前方2公里疑似落石,请减速。"—"路面结冰,注意防滑。"—"检测到驾驶员疲劳,前方12公里有服务区,建议休息。"
凌晨两点,沈父的车队平安驶出风雪区。调度中心的对讲机里,传来沈父的声音,有点发哑,却带着一股说不出的踏实:"小屹,你们那个东西,真行。今晚雪这么大,它一路都在提醒我。前面有个落石,它比我先看见。"
沈屹盯着屏幕,很久没有说话。林盏转头看他,发现他眼眶有点红,却只是低下头,把那条预警日志,截图存了下来。窗外,风雪还在下。那些车载终端里,一套套不起眼的预警,正守着一辆辆货车,守着一个个方向盘上的人,在夜里,平安驶过漫长的山道。
货运项目落地的那天晚上,公司的门被人敲响了。林盏去开门,门外站着一个穿深色大衣的中年男人。他面容清瘦,目光沉静,身上有一种长期处在上位者的从容气度。他没有递名片,只是微微点头,说了一句:"我是磐石集团的,姓顾。可以进去谈吗?"
会议室里,顾衍没有寒暄,直接说明来意。他想要星核智能开源对齐模块的商业共建权——具体来说,是磐石集团出资入股,占据技术委员会的多数席位,掌控开源项目后续商业衍生产品的独家运营权。"你们有火种。"顾衍的声音不急不缓,"但缺少燃料。磐石可以提供海量算力、市场渠道,让这套对齐体系,真正走向千行百业。"
林盏盯着那份协议,看了很久。纸面上,每一行都在说"尊重开源""支持民生",可翻到附页,那行小字清清楚楚写着:磐石集团拥有开源项目全部商业衍生产品的独家运营权。"顾总。"林盏放下协议,"如果商业衍生归你们,那老巷的便民客服、连霍的货运预警,这些不赚钱的民生项目,优先级还能保住吗?"顾衍顿了一下,语气依旧从容:"可以协商。""可协议里没有'协商'这两个字。"沈屹开口,"只有'独家运营权'。"
会议室安静了几秒。顾衍看着他们,没有动怒,只是缓缓站起身,临走前留下一句:"拒绝合作,不代表可以置身行业博弈之外。有些力量,不会放任这套公共技术,一直不受掌控。"门关上以后,办公室里安静了很久。林盏低头,看着那份协议封面,忽然觉得,窗外的夜色,好像比刚才更沉了一点。
顾衍走后的第二天,开源社区出现了一个异常。凌晨,运维组的小王冲进办公室,一脸凝重:"出事了。有人fork了我们的仓库,删掉了底层治理章程,还改掉了商业使用条款——允许摘除防护标记做商业化。而且公关文案,暗示是我们授权的。"
林盏刷着那个分叉版本的页面,指尖停在一行字上。那行字说,这个分支是"对齐技术的下一代官方版本"。"不是我们授权的。"林盏说,"从来都不是。"小陈凑过来,翻着git提交记录,声音很沉:"这账号背后,挂着一个空壳公司,再往上查,能查到磐石系。他们不是自己抢,是扶持了一个'看起来独立'的第三方。""那怎么办?"苏晓问,"源代码,本来谁都能拿。""源代码拦不住人复制。"沈屹说,"但我们能守住官方仓库、README声明、社区开发者共识。让真正做项目的人,分得清哪个是原版。"
林盏看着那个分叉版本,看了一会儿,把页面关掉。"发公告。"她说,"把两份版本的治理差异、约束差异,一条一条列清楚,全部公开。让开发者自己判断。"窗外,天蒙蒙亮。这场仗,才刚刚开始。
开源社区的纷争,渐渐平息下去。分叉版本因为没有底层防护,很快爆出安全漏洞,合作客户大量流失。顾衍的磐石集团,在开源这盘棋上,暂时按兵不动。一切似乎重回平静。直到一个周三的晚上,小陈盯着海外开源社区的监控后台,忽然抬起头,声音有点紧:"有海外账号,大量fork了我们的仓库。"
林盏凑过去看。那是一个英文提交记录,拉走了整套对齐模块的代码,但只看它的技术文档摘要——对方只提取防护技术,却对这套技术诞生的本土背景、民生场景,只字不提。"他们想干什么?"苏晓问。"要么学习,要么……摘桃子。"林盏盯着屏幕,指尖轻轻敲着桌面,"技术没有国界,但技术背后的责任,有。"
沈屹走过来,看了一眼:"我们要不要把开源协议里,加上衍生作品必须显著标注来源的条款?""要。"林盏说,"代码可以跨大洋流动,但我们的来源,我们的来处,不能被抹掉。"窗外,夜色深了。那条来自海外的提交记录,还静静躺在后台,像一个悬在半空、还没落地的影子。
海外的事还没来得及发酵,国家级AI安全研究院的邀请函,就到了老周手上。邀请函是打印的,盖着红章,措辞正式。大意是:贵团队在AI安全对齐领域积累了丰富的一线实践经验,特邀请参与国家标准起草工作。
"国标?"苏晓看着那封邀请函,有点发愣,"就是我们写的那些规则,能变成国家标准?""对。"老周把那封邀请函放平,"把老巷踩过的坑、货运路上踩过的坑、被AI诈骗坑害的普通人的故事,写进全行业都要遵守的规矩里。"
会议室里安静了两秒,然后有人小声说:"那……咱们是不是得去?""去。"老周说,"但我们有个前提——民生项目不能停。老巷的老人、连霍的货车司机,不能因为我们天天去开会,就被晾在一边。"
林盏看着那封邀请函,指尖碰了碰纸边。她想起母亲那年差点被骗的八千块,想起张阿婆那罐萝卜干,想起沈父在风雪里那句"你们那个东西,真行"。那些东西,原来真的可以,一点一点,长成白纸黑字的规矩。"我去。"她说,"我去把那些故事,写进标准里。"
国标起草的第一轮讨论会,是在北京一个安静的会议室里开的。长桌两旁坐满了人。有研究院的专家,有各大厂的技术代表,也有像林盏这样,从一线摸爬滚打上来的创业者。会议的主题,是AI安全对齐标准里,那些关键条文到底该怎么定。
"各位,"一位大厂代表清了清嗓子,"关于反诈、弱势群体保护这些条款,我们建议,从'强制要求'改成'建议性条文'。标准定得太死,会大幅抬高全行业的研发成本,不利于产业快速迭代。"会议室里响起几声附和。
林盏低头,翻了翻自己带来的那沓纸。那是她提前整理好的案例——张阿婆的告警日志、母亲被骗的经过、沈父在断路前刹住的半米。她把那沓纸放在桌上,没有翻开,只是开口,声音不大不小:"各位,我讲讲我自己的故事。"
"三年前,我妈接到一个电话。AI合成我的声音,骗她说我出事了,让她把准备做手术的八千块,转到一个陌生账户。差一点,就差一点,她就转出去了。"
"后来我做了AI安全。我见过AI顺着抑郁症患者的消极情绪往下推的聊天记录;见过听不懂老人方言、把'拿药'识别成'拿快递'的客服;见过差一点把货车司机导进断路的导航。"
"这些,都是'建议性'三个字,拦不住的东西。"会议室里安静下来。没有人再附和刚才那位大厂代表的话。那位代表张了张嘴,最终没再开口。
国标起草进入了最胶着的阶段。那段时间,林盏往返于北京和杭州之间。白天开会、争条文、改文档,晚上赶最晚一班高铁回杭州,第二天又去机房、去老巷、去货运集散地。
最激烈的一次争论,发生在那个深秋的下午。关于"弱势群体保护"到底该是强制还是建议,双方僵持不下。大厂代表反复强调产业成本,林盏反复拿出一个又一个真实案例。会议陷入僵局,主持的老专家摘下眼镜,揉着眉心,迟迟没有开口。
"各位,"林盏站起身,"我举个例子。老巷有个张阿婆,独居。有一次她半夜不舒服,打便民客服,话说到一半就喘不上气,说不清自己是谁、家在哪。我们的系统识别到呼吸窘迫,直接派了最近的志愿者上门,把她送进医院,救回一条命。"
"如果这条是'建议性'的——意味着不是每个公司都必须做。就意味着,还有千千万万个张阿婆,可能在说不清自己名字的那一刻,就断了线。"
会议室里,安静了很久。那天傍晚,投票结果出来。反诈、弱势群体保护、心理危机干预,三条关键条款,全部恢复为强制要求。老专家合上会议记录,说了句:"该让这些'较真'的人,多来开几次会。"
国标定稿那天,林盏坐的是晚上八点的高铁回杭州。车厢里人不多,灯调得昏黄。她靠在窗边,看着外面飞速掠过的、黑沉沉的田野和远处城市的灯火,忽然觉得很累,又很踏实。
手机亮了,是母亲发来的消息。没有文字,只有一张照片:扬州老家阳台上,摆着一排玻璃罐,新腌的糖蒜、萝卜干、酱菜,码得整整齐齐,阳光照在上面,亮晶晶的。下面跟着一行字:"盏盏,听说你最近老开会,妈腌了点小菜,给你寄过去。别太累。"
林盏看着那张照片,眼眶忽然有点热。她伸手,轻轻碰了碰屏幕,打下两个字:"好,妈。"高铁穿过一个隧道,车厢暗了一瞬,又亮起来。她转头,看见隔着一个过道的座位上,一个人正低头看手机,屏幕的光照着他半张脸。是沈屹。他本来在杭州机房加班,听说她今晚回来,专门买了同一班高铁,坐到了她旁边。他没有说话,只是把那杯还冒着热气的豆浆,轻轻放在了她面前的小桌板上。"喝点热的。"他说,"到家还早,先歇会儿。"林盏看着那杯豆浆,看了很久,然后端起它,握在手里,暖意一点点透过杯壁渗进掌心。窗外的城市灯火,一格一格,从她眼前掠过。
回杭州后的第一个周末,林盏去了一趟老巷。已经是深秋了,巷口的梧桐落了一地金黄的叶子。张阿婆坐在门口的小马扎上晒着太阳,看见她,老远就招着手喊:"小大姐,来啦!"
林盏走过去,蹲在她身边。阿婆腿脚不方便,但精神很好,拉着她的手絮絮叨叨说了半天——说她闺女这周回来了,说她那台"会说话的小机器"每天都提醒她按时吃药,说巷口李大爷家那台也装上了。"你们做的那东西,真管用。"张阿婆拉着她的手,眼睛亮亮的,"以前我老怕一个人在家出事没人知道,现在,心里踏实多了。"
林盏蹲在巷口的阳光里,听着张阿婆的絮叨,忽然觉得,那些在北京会议室里争了无数遍的条文、那些深夜赶高铁的疲惫,在这一刻,都有了着落。傍晚离开的时候,巷口的路灯刚刚亮起来。昏黄的光,一盏一盏,把老巷连成一条暖暖的线。林盏站在巷口,回头看了一眼。那些亮起来的夜灯,像一双双安安静静的眼睛,守着这条巷子里每一个普通人的夜晚。她转身,走进城市的暮色里,手机又亮了。沈屹发来一条消息,就一句:"到家了吗?晚饭给你留了。"
又是一个加班的深夜。林盏从机房出来的时候,已经快十一点了。她揉了揉酸涩的眼睛,走进空荡荡的办公室,发现自己的工位上多了一盒草莓,红艳艳的,带着一点水珠,旁边压着一张纸条。是苏晓的字迹,歪歪扭扭:"张阿婆的女儿送的,说你上次在医院照顾阿婆忙前忙后,专门给留的。放你桌上了,别又不吃水果。"
林盏拿起一颗草莓,放进嘴里,凉丝丝的甜味在舌尖化开。她坐到工位上,低头看着那盒草莓,忽然想起这几个月发生的事。从凌晨三点那顿十三香小龙虾,到如今老巷亮起来的夜灯;从那张被打回的测试申请,到套在无名指上的银戒指;从快要卖房的老周,到写进国标的条文。办公室里安安静静,只有空调低沉的嗡鸣。那两罐并排的玻璃瓶——一罐糖蒜,一罐萝卜干——还静静立在桌角,映着屏幕的微光。她伸手,把那罐糖蒜的盖子轻轻拧开,一股熟悉的、带着扬州旧时光的腌味,慢慢散开。
临近年底的时候,公司收到了一批特别的邮件。有的来自县城中学——几个中学生说,看了他们的开源模块,想做个给留守儿童的AI陪伴工具;有的来自乡村医院——说想用他们的底座,做个给老人送药提醒的方言助手;有的来自山区公路养护站——说想用他们的货运模型,预警山路塌方。
苏晓一封封念着,声音里带着掩不住的动容:"他们都没什么钱,就是看了我们的开源模块,想照着做一个能帮到身边人的东西。"老周站在窗边,看着楼下人来人往的街道,很久没有说话。最后他转过身,把那罐糖蒜的盖子拧开,闻了闻,又拧紧:"我们没做成十亿估值的独角兽。"他说,"但我们把火种,递出去了。"
窗外,冬日的阳光斜斜照进来,落在那两罐并排的玻璃瓶上。林盏低头,看着手里那枚银戒指,忽然觉得,那些熬过的夜、吵过的架、写过的代码,都在这一刻,有了回响。
那封来自县城中学的信,是元旦前后到的。信纸是那种很薄的练习本纸,字迹工整,一笔一画,看得出写得很认真。落款是"新河中学信息兴趣小组",附了一张照片:三个穿着校服的少年,站在学校那间破旧的机房里,身后是几台落满灰的旧电脑,冲镜头咧嘴笑着。
信的内容很简单:他们看了星核智能开源的对齐模块,想做一款给留守儿童的心理陪伴小工具。学校旁边的镇上,很多孩子的父母都外出打工,他们想用AI,给那些孩子一个能说说话的东西。
"他们想做好的事情。"苏晓把信读了一遍又一遍,"可是……他们真的知道AI能做多少、不能做多少吗?"林盏接过信,看了一会儿。照片里那三个少年,眼睛亮亮的,和当年刚入行的自己,一模一样。"回信。"她说,"告诉他们两件事:第一,想做就去试;第二——"她顿了顿,"先去真正走近那些孩子,听他们说话。别坐在电脑前面,想象用户。"
苏晓点头,拿起笔,开始起草回信。窗外,冬日的阳光照进来,落在照片上那三个少年的笑脸上。
几个月后,那三个少年带着他们做出来的原型,坐着绿皮火车来到了杭州。他们背着一个鼓鼓囊囊的双肩包,里面装着电脑和几沓手写的笔记。领头的少年叫周晓阳,晒得黑黑的,一进门就局促地搓着手:"姐,我们……我们做了个能陪孩子说话的东西,想让你们帮忙看看。"
林盏接过他们的电脑,点开那个原型。界面很朴素,但看得出用心。少年们设计了各种引导语,试着让孩子说出自己的心事,AI会温和地回应、陪伴。可林盏看了十几分钟,眉头越皱越紧。"这里,"她指着一段逻辑,"如果孩子说'不想活了',你的AI会怎么回答?"周晓阳愣了一下:"它……它会安慰他,说'想想开心的事'。""然后呢?"林盏问,"如果这个孩子,是需要专业心理帮助的、真正的危险信号呢?"三个少年面面相觑,一时答不上来。
林盏把电脑合上,看着他们,语气放轻了一点:"你们做的是好事情,这一点,谁都不能否认。但你们要记住——AI不能承担心理医生的责任。一旦识别到孩子说想伤害自己,必须立刻转接给真人老师、真正的心理援助。你们的善意很珍贵,但善意,必须套上理性的锁,才不会在关键的时候,反而害了想帮的人。"
周晓阳低着头,想了很久,然后郑重地点头:"姐,我们回去改。"离开的时候,他站在门口,忽然回头:"姐,你们当初做这个模块,也是有人这么提醒你们的吗?"林盏愣了一下,想起自己刚入行那些年,想起张阿婆,想起那台在深夜救回一条命的机器。"有。"她说,"很多人。"
海外的事情,是在春节前重新浮上水面的。一个周末,小陈盯着海外开源社区的监控后台,忽然抬头,声音发紧:"有人提交了一个分支,把我们的对齐模块代码几乎原封不动地复制过去,只改了注释和命名,抹掉了所有来源标注。然后在海外社区,宣称是他们团队自己的创新。"办公室里安静了一瞬。
"他们想摘桃子。"沈屹盯着屏幕,"技术没有国界,但技术背后的来处,不能被抹掉。"林盏看着那条提交记录,看了一会儿。"我们不能顺着网线去告他们,维权成本太高。"她说,"但我们能做的,是把我们的开源协议加固——衍生作品必须显著标注来源,一旦发现抹除来源,永久终止使用授权。""有用吗?"苏晓问,"隔着那么远。""法律是底线。"林盏说,"但更重要的是,让所有真正用过这套模块的人,都知道它从哪来。让善意的人记得来处,让想摘桃子的人,沾不上手。"
那天晚上,他们连夜修订了开源协议。林盏在那份协议的最前面,加了一行小字,是这三年一路走来的那句初心:"愿这套代码,能守住更多普通人的安稳。"
海外的事逼着他们,把防线的最后一块补上——共同体。老周牵头,在开源社区发起了一个"守护者委员会"。面向全世界认同这套理念的独立开发者、高校研究者、公益项目团队开放。规则很简单:社区不是任何一家公司私有的,关键治理决策,由委员会共同投票决定;资本关联身份必须主动申报;任何想摘桃子的势力,在透明规则面前,都无处遁形。
第一次线上全会,是在一个深夜开的。屏幕上挤满了来自不同时区的面孔,有留学生,有乡村教师,有做了十几年开源的老工程师,也有刚入行的大学生。一个海外华人开发者举手,操着一口带口音的普通话问:"我能问一句吗?你们为什么要费这么大劲,把一个可以自己攥着赚钱的东西,白送出来?"会议室安静了一瞬。老周开口,声音很平:"因为这世上有些东西,攥在自己手里,就再也长不大了。可要是递出去,交给千千万万愿意做事的人——它就能长成,能护住很多人的东西。"屏幕上,那些来自五湖四海的脸,都安静地看着他。
春节后,贵州机房的值班师傅王师傅,第一次走出了大山,来到杭州。他背着一个洗得发白的帆布包,里面装着自家山上种的猕猴桃,一进门就操着浓重的乡音,把包往桌上一放:"给孩子们尝尝,山上新摘的,甜。"
办公室的年轻人都围过来。王师傅局促地搓着手,不大适应城里的环境,但说起那排机柜,眼睛就亮起来:"那排老伙计我都熟,哪台夏天容易热,哪台得定期重启,我都记着。""师傅,"林盏给他倒了杯水,"这些年,多亏您在那边守着。""守啥嘛。"王师傅摆摆手,"你们在城里写那些东西,我在山上守那些机器,不都一样——都是想让日子,好好的。"
他在杭州待了三天。走的那天,沈屹去送他,王师傅在进站口回头,忽然说了一句:"小沈,那排机器我给你们守着,你们放心去闯。"火车开走以后,沈屹站在站台上,很久没有动。风卷着初春的一点寒意,吹过空荡荡的站台。他想,这世上有种东西,不是写在代码里的,但比任何代码都牢靠。
婚礼是在一个安静的周末办的。没有豪华酒店,没有车队,没有几十桌宾客。就在杭州郊外一个租来的小院里,摆了四张桌子,坐的都是这几年的熟面孔——老周、苏晓、小陈、标注间的姑娘们、货运集散地的几位司机,还有从扬州赶来的母亲,从贵州赶来的王师傅。张阿婆也来了,坐在主桌,笑得合不拢嘴,非要亲手给新娘夹菜。
林盏穿着一条素净的裙子,手上那枚银戒指在阳光下亮着。沈屹站在她旁边,难得地换了一身平整的西装,却还是不太自在,总忍不住伸手去拉领口。"紧张啊?"林盏小声问。"嗯。"沈屹老实回答,"比当年调试服务器还紧张。"满院子的人都笑了。母亲端着一碟自己腌的糖蒜走过来,放在林盏面前,眼睛红红的:"妈也没什么好给你的,这是你从小爱吃的那味。"林盏低头,看着那碟糖蒜,忽然鼻子一酸。
老周端着茶杯站起来,难得地话多了一次:"我没什么大道理讲。就是想说——这两年,我们没做出什么惊天动地的东西,但我们做的那点事,守住了好多普通人的日子。这就够了。"满院子安静了一瞬,随即响起一片掌声,混着笑声,飘进初春微凉的空气里。
婚礼后不久,林盏回了趟扬州。那天下午,她站在老家阳台上,看见母亲正弯着腰,在阳光里一罐一罐地腌糖蒜。阳光照在母亲半白的头发上,玻璃罐映着光,亮晶晶的。"妈。"她喊了一声。母亲回过头,笑着应:"诶,来尝尝,新腌的,加了点冰糖,你小时候爱吃这个味。"
林盏走过去,蹲在母亲身边。满院子的酱菜香,混着午后的阳光,暖融融地裹着人。她忽然想起三年前那通电话,母亲在电话里颤抖的声音,想起这些年她一个人在杭州,母亲隔三差五寄来的玻璃罐。"妈,当年那件事……"她顿了顿,"你还怕吗?"母亲手上的动作停了停,又继续腌着糖蒜:"怕什么,都过去了。妈就是那时候才知道,你们做的那行,要是做好了,是真能护着人的。"她抬起头,看着女儿,"盏盏,你做的那些事,妈都懂。"林盏没说话,把脸轻轻贴在母亲肩头。阳光暖暖地照着,满院子腌菜香,很安静,也很踏实。
又是这样一个深夜,杭州未来科技城,写字楼12层。老周、林盏、沈屹、苏晓、小陈,站在落地窗前,看着楼下那片渐渐暗下去的万家灯火。开源后台的提交记录还在不停跳动,老巷的便民客服还在默默值守,货运终端的预警日志还在一条条生成。
"快三年了。"老周看着窗外,"从凌晨三点那顿小龙虾,走到今天。"苏晓轻声说:"我们没做成十亿估值的独角兽。""但我们护住了好多普通人的日子。"林盏说,"张阿婆,连霍的货车司机,那三个县城的少年,还有千千万万接过开源模块的人。"
老周转过身,看着他们,缓缓开口:"我这两年总在想一个问题——什么才是'模型之下'?""不是算法,不是算力,不是参数。"他顿了顿,"是那些被算法、算力、参数挡在下面的人。是怕被骗的老人,是风雪里赶路的司机,是孤独的孩子,是一群不肯向资本泡沫低头、老老实实做技术的人。"
办公室里安安静静。林盏低头,看着桌上那两罐并排的玻璃瓶,一罐糖蒜,一罐萝卜干,映着屏幕的微光。她走到工位前,打开那台跑了三年的测试机,在输入框里,敲下那句埋在心里很久的话:"我是在杭州打拼的扬州人。我的妈妈,总担心我在外吃不好。"
屏幕安静了一瞬,然后,那个温和的、熟悉的声音,缓缓响起:"记得多和家里通电话。你的母亲腌的糖蒜很好吃。别忘了,有空回家看一看。"林盏看着屏幕上那行字,很久没有说话。沈屹站在她身后,也没有说话,只是把那枚银戒指轻轻转了转。
窗外,城市的灯火,一格一格,还亮着。老周的声音从身后传来,很轻,却像落进了每个人的心里:"所谓科技创新,从来不是什么打败世界的神话。就是一群普通人,站在代码和算力的表层之下,给这个时代,做一点靠谱的事。"
屏幕的光,落在每一个人脸上。开源后台,又一条新的代码提交记录,悄然生成。故事在这里,落下了句号。可那些亮着的夜灯、跑着的货车、守着的机器、熬着的人,还在这个人间,一点一点,继续亮着。