计算机全栈分层与AI时代的系统思考
2026年4月14日 · 后端与系统 · 3 min read
最近对计算机不同的技术层有了一些深入的思考,我觉得这些思考在AI时代很有必要。AI时代,LLM会从顶层开始“进攻”,越上层越先“沦陷”。大体来说,计算机全栈体系可以是OSI七层模型,从顶层到底层分别是:L7业务逻辑与应用(python、ts等语言,代表技术agent app,web ui等,负责最终价值交付),L6数据与语义(sql逻辑视图层、python等语言,代表技术vector DB、RDF等,负责数据模型定义、知识图谱表示等),L5应用框架与库(python、ts、c++等语言,代表技术pytorch、CUDA、React、langchain、go-gin等,负责业务抽象建模,工程化工具链,异构计算库等),L4运行时与中间件(go、java、c++等语言,代表技术JVM、goroutine、redis、WASM、Kafka等,负责语言执行环境、内存回收、高并发的primitive等),L3网络与分布式系统(go、c++等语言,代表技术TCP/IP、RDMA、K8s、RoCE等,负责节点间互联、共识协议、大规模资源池化等),L2操作系统与内核(c,rust等语言,代表技术linux kernel,页表等,负责硬件资源抽象、虚拟内存隔离、并发调度等),L1指令集与体系结构(汇编、C等语言,代表技术x86-64、ARM v9、RISC-V,ISA等,负责软硬件接口、逻辑抽象与机器指令定义等),L0物理硬件与芯片(verilog、VHDL、SystemC等语言,代表技术FPGA,GPU,ASIC,Transistors等,负责处理物理信号、晶体管开关和电子电路等)。
现在研究LLM的研博生,大多数是立志于在L5搞事情的人,但在有限资源下大半的时间却不得不放在捣鼓L2-L4之间的东西上,比如,他们在有限资源下,把算法实现后发现OOM,还要不得不去研究模型切片、梯度累计的L4,甚至要下潜到L2写算子。
现在研究具身的硕博生,比LLM算法要求还高,不得不在L0-L5之间都搞事情。或许理想中的样子是L5里RL训练一个VLM,让机器人看懂人类指令,听话地抓鸡蛋,但现实是需要研究L0-L4之间混乱的堆栈,L0物理层面可能算法扭矩太大,会冒白烟把电机烧了,L2/L3方面,机器人可能抽搐,可能遇到ROS的节点通信延迟,还要去研究延迟问题,L4L5层面的仿真环境和物理现实之间的差别也足够头疼。
所以现实是,很多人励志成为L5/L7的大神,现实却要把大半把时间花在L0-L4上。高层的痛点,会回馈给底层,加速底层infra的进步。只在高层上耍花样,终究跳不出底层的局限。越底层越物理,LLM就越难以攻陷。即使有一天攻陷了,人最重要的是上下文,LLM攻陷了L0-L4,如果不知道L0-L4的上下文,仍然不能掌管L0-L4;L0-L4的人不仅知道底层的上下文,也知道高层的上下文(因为高层是底层搭出来的,自底向上学,摧枯拉朽;自顶向下学,处处碰壁),LLM攻陷了L0-L4,这些人就会利用LLM加速L0-L4的改进,还可以随时回到L5-L7快速开发。这就是systems的魅力。万法归宗,别让L2的痛点,影响自己L5的开发。