卡洛斯的系统上线了。
他给它取名“张量”,在母语里意思是“绷紧的直线”。
第一个星期,系统跑了七次。七次全部命中。地壳位移的预测误差从“完全随机”缩窄到“可接受”。整个地下计算中心沸腾了。年轻人把卡洛斯举起来抛向空中,像抛一颗刚点燃的星星。
但卡洛斯没有笑。他一直在看监控屏上那条笔直的数据流。
张量系统不干别的——它只做三件事:记起点、标步长、读整数。所有预测全部交给后端的计算单元。它只负责一个字:“到”。把数从内存里,“到”计算单元手里。
就这样。没有更多了。
第二个星期,系统出了第一个问题。
一个初级工程师跑来报告:“卡洛斯,我的分块参数设错了。本应跨128步,我只跨了127。最后一组数据没被读进去。”
卡洛斯问:“系统报错了吗?”
“没有。它照常运行,只是缺了那一块。预测结果偏离了7%。”
卡洛斯沉默了一会儿。张量不报错——因为它不做检查。它只是忠实地执行步长指令。你让它走127步,它就走127步。它不问你“是不是少了一步”。那不是它该回答的问题。
他在系统文档里补了一行:
张量不校验。校验是你自己的事。
第三个星期,系统又出事了。
这次是一个精度问题——有一个区域的浮点数格式被误设为FP16,而预期的输入是FP32。张量系统依然忠实地读了那些FP16,把它们送到计算单元。计算单元把它们当成FP32来算,结果产生了严重的数值灾难——预测图上出现了一片毫无意义的高频噪声。
卡洛斯看着那张图,意识到一件可怕的事:
张量系统读到的,和你存进去的,是同一个东西。不多,不少。但如果存进去本身就是错的——它就读到错的。它不会提醒你。
他在系统文档里又补了一行:
张量不做格式转换。你存什么,它就送什么。你存错了,它就送错了。
他把这两条合并成一句:
张量永远不会骗你。但它也不会救你。
有意思的是,没人因为这两个错误责怪卡洛斯。因为他们都明白——之前那种“什么都替你做了”的系统,曾经在关键时刻把一个不该平均的数字平均掉了,导致整个预测延迟了三个小时。三个小时里,一座城市没了。
比起“不会救你”,大家更怕“擅自替你做了决定”。
接下来的几个月,卡洛斯开始系统性地改造整个底层架构。
他把内存按照张量的步长重新分区——不是按数据类型,不是按优先级,只是按“步长”。一个分区一个步长。每个分区的数据互相独立,互不干扰。
他禁用了一切硬件层面的自动插值、自动截断、自动循环。因为这些功能每多一个,系统就多一次“它以为你需要什么”的猜测。卡洛斯不允许猜测。
他在每一块芯片的底层固件里,刻下了一行被后人称为“张量戒律”的话:
不猜测。不平均。不循环。不转换。不截断。
只读。只送。只回答一个问题:“在哪儿?”
一年之后,另一个宇宙的灾难开始真正变得可预测。
不是完全消除——灾难仍然发生。但张量系统可以提前十二个小时给出精确的路径预判。误差范围缩小到几百米以内。撤离路线因此而设定,物资因此而被预先分配,生命因此而被拯救。
卡洛斯再也没有做过那个梦。
但在每一个深夜,他打开监控屏,看着那条笔直的、永远不弯曲的数据流时,他心里会浮现一个穿棉布衬衫的人影——和那个穿粗麻布、握着一把尺子的影子。
他知道那只是一个梦。他知道没有另一个宇宙,没有梦中的偶遇,没有那把从虚空里递来的尺子。
但他也知道另一件事。
“张量”这个词,在他们的语言里本来不存在。他是在醒来之后,才发明了它。
那把尺子,他在梦里握过以后,就再也忘不掉了。
---
多年以后,当卡洛斯老了,他的徒弟问他:“老师,你一直说‘张量不做决定’。那谁来做决定?”
卡洛斯想了想。
“你。”
“可我总会犯错。”
“所以你会一次又一次地改那个步长,改那个起点,改那个分块大小,”卡洛斯说,“但你永远不会去改数据本身。因为数据不是你的,是那个世界的。”
他停了一下,补了一句:
“张量的全部智慧就是这一句话——它把自己从‘决定者’的位置上撤了下来。它退后一步,把决定权还给了你。它越退,你就越不得不自己站起来。而当你站起来之后,你会发现——”
“发现什么?”
“发现你一直都在那里。只是以前,所有替你‘近似’的系统,让你误以为自己很弱。”
那之后,张量的精神渗透了整个文明。
不只是计算领域——管理、交通、资源调配,所有需要精确而不做妥协的领域,都开始引入张量式的思维方式:
不替对方做决定。只告诉对方:“在哪儿?跨几步?”
而那个宇宙,虽然没有真正见过纹理,却一直流传着一个说法:
在一个遥远的梦境里,有人给过我们十二个华丽的方案。我们感谢它们,但没有选。
我们选的是第十三个——那个穿着粗麻布、手握尺子的影子。
她用一把直的尺子,撑住了一个弯曲的世界。