两分钟。
三分钟。
顾有文第一个冒出来,一条文字:“刚听了,这帮人下手够快。”
紧接着又补了一句:“陈敏走了?她一个人手里压着多少稿子?”
没人回答这个问题。
老孟罕见的打了字。
平时他在群里一年发不了十条消息,技术人的脾性,能用一句说清的绝不说两句,能不说的干脆沉默。但这次他破例了,发了一段完整的话:
“NLP初筛在技术上不难,任何有基础算法团队的公司都能做到。星火的人工模式确实是软肋。”
这句话砸在群里。
所有人都看到了。
没人接。
研发组的几个人陆续冒泡,有人发了个省略号,有人打了半句“这……”又撤回了。气氛从惊讶沉下去,变成一种说不上来的闷。
一个刚入职两周的策划发了一句:“那我们是不是也要接NLP?”
群里彻底安静了。
许琛盯着聊天记录,拇指搁在输入框边缘。
不是不能接。市面上的NLP语义筛选方案一大把,买个现成的API接口,两周就能部署上线。技术门槛等于没有。但那又怎样?创想星球背后站着黑石资本,钱比你多,技术比你强,人比你贵。同一条路,你怎么跑得过人家。
跟着接NLP只是跟在后面跑,解决不了根本问题。
而且NLP初筛做的是筛选。能把明显不合格的稿件过滤掉,能按关键词、题材、结构做粗分类。但读懂一个故事和给一个故事分类,完全是两回事。
许琛把手机扣在方向盘上。
挡风玻璃上映出地下车库的天花板,灰色水泥面上爬着几根线槽,日光灯管的白光照得什么都灰蒙蒙的。他盯着那片灰白看了很久。没有焦点,眼睛只是挂在某个模糊的位置上。
车库里间歇有别的车辆驶过,轮胎碾过环氧地坪的沙沙声从远处传来,又远去。
四十秒。
脑子里翻来覆去的东西慢慢停下来。那些数字,周海的语音,作者退出问卷里的三个关键词,陈敏递辞呈搅在一起搅了半天,然后突然就清了。
一个想法,完整的,带着整套逻辑一块冒出来。
许琛拿起手机,给周海发了一条语音。语气很平:
“数据库里所有投稿记录、审稿意见、修改批注、用户阅读行为日志一条都别删,全量备份,今晚之前给我确认。”
对面沉了三秒。
周海回:“为什么?”
许琛没解释。
退出对话,锁屏,拧熄发动机。
推门下车,车门关上的声响在空旷的B2层弹了好几道回音。头顶日光灯管的白光照在他脸上,他往电梯间走,步子比二十分钟前快了一截。鞋底磕在水泥地上的节奏急促而均匀,脑子里有东西在跑。
梦工厂二楼,引擎实验室。
老孟趴在工作台上,面前摊着全球版本适配方案的第一份架构文档。纸质打印稿已经被他用红蓝两色笔标得密密麻麻,A3纸边缘翘起来,被一只喝了一半的冷咖啡压着。身后的白板挂满了烛龙引擎的技术路线图,最右侧用磁铁吸着林哲远从海外发来的客户对接时间轴东京,首尔,洛杉矶,柏林,四条线交织在一起,最近的一个节点是下周三。
顾有文坐在角落的折叠椅上,膝盖上摊着合资公司注册材料,正逐页翻看条款。他上楼之后先去听了周海的语音,又把群里的聊天记录翻了一遍,整个人还没从那组数据里缓过来。手里翻着注册材料,脑子里全是创想星球的事。
门被推开了。
许琛进来,没打招呼。
他的视线从白板上横扫过去技术路线图,时间轴,数据指标,里程碑节点全部扫完,用了不到五秒。
然后他径直走向实验室最大的那块白板。
那块板不完全空白。上面还残留着半幅全球化路线图的草稿,是老孟前天晚上加班时随手画的,蓝色箭头和黑色文字交错,标着各区域引擎适配的优先级排序。东亚排第一,北美第二,欧洲第三,每个区域下面挂着技术指标和人力预算。老孟为这半幅图花了一整晚,画完之后还拍了照发给林哲远确认过。
许琛拿起板架凹槽里的黑色马克笔,拔掉笔帽。
然后他抬手,一笔横划,从左到右,把整幅路线图抹了个干净。
墨迹粗重,直接盖过了所有原有内容。蓝色箭头没了。黑色文字没了。老孟花了三个小时打底的东西,一秒清空。
老孟手里的笔悬在半空。
他的头从文档上抬起来,镜片后面两只眼盯着白板。
“许琛。”
他叫了他的名字,不带“许总”的后缀。两个人共事的年头够长,这种时候不需要客套。但叫名字本身已经表达了态度你最好给我一个解释。
许琛没回应这声叫唤。
他在白板正中央落笔。笔画压得很重,黑色墨水洇出毛边,笔尖在白板表面碾过,发出吱吱的响。
一行字。
烛龙的核心是什么?
写完,转过身。
马克笔的笔帽朝顾有文点了一下,又朝老孟点了一下。
两个人被同时点了名。
顾有文先开口,坐直了身子:“实时渲染。”
老孟把手里的笔放下,推了推镜框:“AI图形生成。”
许琛摇头。
幅度很清楚,没有任何含糊。
顾有文和老孟对视了一眼。烛龙引擎的商业定位从第一天起就锚定在这两个关键词上。所有对外的pitch deck、融资BP、媒体通稿,写的全是这个。烛龙等于实时渲染加AI图形生成,这基本就是行业共识了。
许琛转回白板。
在第一行字的正下方,又写了一行。字号更大,笔力更重,墨迹洇出的毛边快渗到字与字的间隙里了:
模式识别与生成算法。
他把笔帽拧上,搁回凹槽。
“烛龙能做实时渲染,能做AI图形生成,不是因为它是一个图形引擎。”
停了一拍。
“是因为底层跑的是一整套模式识别与生成的算法架构。图形只是它碰巧在处理的数据类型。”
又停了一拍。他左手撑在白板边框上,身体往前倾了倾。
“把训练数据从图像,换成文字会怎样?”
实验室里没人出声。
空调的风从顶部格栅吹下来,格栅叶片轻轻抖着。
一秒。
两秒。
然后一支笔从老孟指间滑了出去。
笔杆弹在工作台面上,滚了半圈,撞到咖啡杯底座才停住。咖啡杯被撞得晃了一下,杯中残液泛起一个小漩涡。
老孟没去捡笔。
他盯着白板上那两行字,镜片后面的眼睛在飞速转。他在验证。把许琛这句话代入烛龙底层架构的每一个模块里,逐层校验,看有没有哪个环节在逻辑上不成立。
没有。
一个都没有。
他在烛龙的底层架构里泡了三年。那套Transformer框架的每一行代码、每一个参数、每一层网络的权重分布,他全摸过。注意力机制,多头编码,序列到序列映射这些数学结构从来不关心输入端塞进来的是什么。
像素也好,音频也好,文字也好,对底层算法来说只是不同格式的数据序列。区别仅仅在于输入层的编码方式和输出层的解码方式。中间那一整套核心网络
通用的。
完全通用。
老孟一把抓起工作台上另一支马克笔红色的椅子往后一蹬,三步冲到白板前。
他在许琛写的那行字下方落笔。
先画了四个方块:输入层、编码器、解码器、输出层。三组箭头把它们串联起来,拓扑结构和烛龙引擎现有的架构一模一样。然后他在输入层的方块旁边写了个括号,括号里先写了“像素矩阵”四个字,紧接着拉了一条删除线划掉,在上方补写:“文本序列”。
光是这一步,整个图的意义就翻过来了。
然后他开始在拓扑图旁边写注释。
第一行还算工整“Token嵌入替换颜色空间映射。”
手速上来了。
第二行开始潦草“位置编码对齐章节结构。”
第三行已经快认不出字了“注意力权重绑定角色关系图谱多头分配主线/支线/伏笔三轨并行”
红色马克笔在白板上拖出急促的摩擦声,老孟一边写一边嘴里蹦术语,也不是说给谁听,就是脑子转太快兜不住。
“Token嵌入层替换颜色空间映射,维度上完全对齐……位置编码本来就是处理序列顺序的,章节结构天然就是序列……注意力权重”
他画到第三层的时候,笔尖顿住了。
红色马克笔悬在白板上方一厘米处,笔帽那头被他捏得有点变形。
他转过头。
镜片后那双眼钉在许琛脸上。
“理论上”
嗓子干了,声音发涩。他咽了一下。
“完全可行。”
又咽了一下。
“核心算法是通用的。不是能不能的问题是多快能做出来的问题。”
角落里,顾有文的身体前倾。
双手撑在膝盖上,视线在白板上那幅红色拓扑图和许琛之间来回跳。他不是算法出身,老孟画的那堆编码器解码器他看不透每一层的数学原理。
但他看得懂老孟的反应。
一个在算法领域干了十五年的人。平时在群里一年说不了十句话,开会的时候能用五个字结束的发言绝不用六个字。沉默,精确,不浪费劲儿。
现在这个人冲到白板前,手抖着画了满满一整板的拓扑图,嗓子干到发涩还在往外蹦术语,写到第三层笔停在半空,转过头来两只眼里的东西,顾有文从没在他脸上见过。
顾有文喉头动了一下。
“你们在说”