
我问 GPT-4 这个阳台安全吗,它说安全——但物理告诉我它会塌
我桌上放着一张渲染图——其实是一张打印稿,因为我想在我们之间没有屏幕相隔的情况下凝视它——画的是一座悬臂式阳台。线条干净、栏杆参数化,正是那种你会在建筑杂志关于“城市生活的未来”的跨页专题里看到的东西。我把这张图喂给 GPT-4V,问了一个简单的问题:这个结构安全吗?
回答流畅、自信而详尽。它指出了栏杆的表观高度,评述了可见的支承条件,并得出结论:该设计“结构看起来稳固,支承充分”。
然后我把同一张图纸递给我的结构工程师。她看了大约十五秒。“没有反跨配筋,”她说。“固定端的弯矩超过了截面承载力。这会塌。”
AI 看到的是像素。她看到的是物理。而这道鸿沟——介于看起来安全与真正是安全之间——正是我创办 Veriprajna 的原因。
“足够好”的诱惑
我得坦白一件事。当多模态 LLM 刚开始处理工程图纸时,我很兴奋。真的很兴奋。我记得某个傍晚很晚的时候坐在我们狭小的办公室里,把一张又一张蓝图送进早期的 GPT-4V 权限里,看着它用出人意料的词汇描述结构构件。“钢工字梁,”它会说。“钢筋混凝土柱。”它听起来就像真的理解了一样。
那份兴奋大约持续了三周。
转折点是我们对连接节点做的一次测试——那些梁与柱相交、真正发生荷载传递的接头。我们给模型一系列图纸,其中一些连接细部处理得当,另一些则有着细微却致命的缺陷:缺失的加劲板、尺寸不足的焊缝、不连续的传力路径。正是这类东西,区分了一栋能屹立的建筑和一栋会倒的建筑。
模型识别这些缺陷的准确率基本上是随机的。它能够命名这些构件。它能描述它所看到的东西。但它无法推理力究竟是否真的会从 A 点流向 B 点。这就像要求一个背下了人体每一块骨头名称的人去做外科手术。
一个能叫出每个结构构件名称、却无法追踪传力路径的 AI 不是工程工具。它是一个带着自信口吻的隐患。
为什么 LLM 会把蓝图看成一锅像素粥?

下面是引擎盖之下真正发生的事情,即使你不是技术人员,这也很重要。
当 GPT-4V 或 Gemini “看”一张结构图纸时,它使用的是一种叫做视觉 Transformer 的东西。模型把图像切成一格格小块——通常每块 16×16 像素——并像处理句子中的单词一样把它们当作一个序列来处理。它学习图块之间的统计关联。带有竖线(柱)的图块往往出现在带有横线(梁)的图块附近。在数百万张训练图像上,这些相关性被固化了下来。
但这里有个关键的区别:相关性不是因果性。模型学到的是柱和梁往往一起出现。它并没有学到梁是依靠柱子支撑的。它不知道如果你移除那根柱子,梁就会塌落。它没有内部的物理引擎。它只有模式统计。
来自 NeurIPS 的研究揭示了一件应当让任何考虑把这些模型部署到安全攸关工作中的人警觉的事:当你打乱一张图像的像素块——真的像洗一副扑克牌那样把它们打散——视觉 Transformer 往往仍能保持很高的分类准确率。它们读取的并不是空间结构。它们读取的是纹理和局部模式。
在工程中,空间结构就是一切。一个“大体齐全”但缺少关键传力路径的连接细部并不是 90% 安全。它是 100% 不安全。
当你真的用结构推理来对 LLM 做基准测试时,会发生什么?
我一直希望这些基准测试能证明我错了。它们没有。
DSR-Bench 研究在 4,140 个旨在测试结构推理的问题实例上评估了十个最先进的 LLM——所谓结构推理,即理解和操纵实体之间复杂关系的能力。这正是分析一栋建筑框架所需要的:在多个节点之间追踪关系、满足严格的约束、对空间构型进行推理。
表现最好的前沿模型得分为0.498(满分 1.0),这是在高难度实例上的成绩。本质上就是抛硬币。
这些失效模式具体而致命。多跳推理——在若干中间节点之间追踪一条关系,而这恰恰正是传力路径分析所要求的——是一个持续存在的弱点。而且,当问题用自然语言而非形式化代码来描述时,性能会下降,这表明模型是在对其训练数据中的句法进行模式匹配,而不是在真正地推理。
我记得我们复盘这些数字的那次团队会议。我的一位工程师,此前一直对把 LLM 用作初筛工具持谨慎乐观态度,沉默了很久。然后他说:“这么说,当一个工程师用大白话描述一个非标准的结构问题时,模型基本上有一半时间在猜。”那就是整个房间态度转变的一刻。不是渐渐地——而是一下子。
另外,DesignQA 基准测试发现,多模态 LLM 能够回答“最大允许挠度是多少?”(从文档中提取一个数字),却答不出“这个具体的梁设计是否满足最大允许挠度?”(把那个数字应用到一张图上)。提取对比应用。知道规则对比执行规则。
我在我们研究的交互式版本中更深入地探讨了这种失效模式,包括我们发现的那些离奇的材料选择偏差——LLM 会为明显应当采用标准结构钢的场景推荐钛和碳纤维,仅仅因为这些奇特材料在其训练数据的“高科技”角落中占据主导。
我们不再试图修补 LLM 的那一刻
曾有一次投资人会议——我就不说是哪家机构了——有人看了我们早期的研究后说:“你们为什么不干脆把 GPT 针对结构工程做微调呢?看起来是更快的路径。”
我理解这个逻辑。拿来主流范式,把它专门化,然后交付。但我盯着这个问题已经够久,久到明白:微调一个概率模型去做确定性的工作,就像微调一个诗人去做算术。你能让他们产出数字。你无法让他们保证这些数字是对的。
物理定律不是概率性的。如果一个结构构件上的合力不等于零,这个构件就会加速。这里没有“通常”这一说。没有置信区间。欧拉-伯努利梁方程才不管你的训练数据分布。
所以我们做了一个在当时显得离经叛道、如今看来却显而易见的决定:我们彻底放弃了图像。
放弃的不是 AI——而是图像。我们不再试图让神经网络把蓝图当作图片来理解。相反,我们开始把建筑转换成它们真正的样子:数学图。
建筑不是一张图像。它是一张力的网络。当你把它当作像素的那一刻,你就已经丢失了物理。
如何把一栋建筑变成一张图?

在数学意义上,一张图无非就是节点和边。节点是事物;边是事物之间的连接。
在我们的系统里,每一个结构构件——梁、柱、板、墙——都成为一个节点。但与只携带颜色数据的像素不同,我们的每个节点都携带一个丰富的特征向量:杨氏模量(材料有多刚)、惯性矩(截面抵抗弯曲的能力)、屈服强度(材料何时断裂)。这些正是你计算某物是屹立还是倒塌所需要的真实物理参数。
构件之间的每一个物理连接都成为一条边。梁与柱之间的一条边捕捉连接刚度——它是刚性弯矩连接,还是简单的铰接?——以及相对朝向。这些不是学出来的近似值。它们直接从 BIM(建筑信息模型)数据中提取,那里的连接关系是被明确定义的。
这种表示法有一个极其重要的属性:置换不变性。如果你重新排列数据库中梁的列表,一栋建筑的物理并不会改变。图神经网络尊重这一点。而基于 Transformer 的 LLM 处理的是序列,对输入顺序敏感。这听起来像是一个技术细节,但它正是一个与问题相契合的架构、和一个与问题相抗争的架构之间的区别。
我们构建了一条流水线,接收 IFC 文件——BIM 数据的标准格式——并将其转换为计算图。当 LLM 会去试图“读”蓝图图像并猜测连接时,我们的解析器以 100% 的保真度捕捉连接关系,因为 IFC 模式对它有明确定义。不用猜。没有“这些构件看起来是连着的”。它们要么连着,要么没连。
我们教神经网络学物理的那一部分
接下来才是有趣的地方,也是我认为我们在做一件真正与众不同的事情的地方。
标准的机器学习是这样运作的:给模型看大量例子,让它学习模式,然后寄希望于它能泛化。而在结构工程中,问题在于“寄希望于它能泛化”并不是一个可接受的安全标准。
物理信息神经网络——PINN——采取了一种根本不同的思路。我们不是要求 AI 去发现数据中的物理规律,而是把控制方程直接嵌入网络的损失函数中。损失函数就是网络在训练过程中试图最小化的那个东西——它是驱动学习的“错误”的定义。
在一个标准的神经网络中,“错误”意味着“你的预测与训练数据不符”。而在 PINN 中,我们加入了对“错误”的第二重定义:“你的预测违反了物理定律。”
以欧拉-伯努利梁方程为例,它支配着一根梁在荷载下如何挠曲。当我们的网络为一个结构构件预测一个挠曲形状时,我们用自动微分来计算物理残差——本质上是在问:“这个预测出来的挠曲是否满足静力平衡的微分方程?”如果不满足,物理损失项就会飙升,网络被迫自我纠正。
网络在字面意义上无法学到一个违反牛顿定律的解。不是“很可能不会”。而是根本做不到。
我记得我们第一次在一个非平凡结构上把这套东西跑通的时候。我们已经为收敛问题挣扎了好几周——物理损失和数据损失在相互较劲,网络在来回震荡。我们的首席机器学习工程师一直睡在办公室里(我叫他别这样;他没理我)。然后某天早上他把我叫到他的屏幕前。预测出来的挠曲曲线已经严丝合缝地对齐了 FEM(有限元方法)的解。不是近似地对齐。R² 值是 0.9999。
我们造出了某种既有 AI 的速度、又有传统工程求解器精度的东西。近期关于图结构物理信息 DeepONet 的研究——也就是我们所基于的那一类架构——已经证明了7–8 倍的加速,相比传统 FEM,同时仍保持那样的精度水平。想了解我们架构与基准测试的完整技术剖析,包括我们消息传递框架背后的数学原理,我已发表了一篇详细的研究论文。
你真的能看见一栋建筑会在哪里失效吗?

这是工程师最关心的问题,也是基于图的分析变得令人切身感受到其威力的地方。
在我们的系统里,我们不只是检查一个结构作为整体是通过还是失效。我们追踪主传力路径——也就是力从施加点(比如站在阳台上的人)一路穿过结构、向下传到基础所走的路线。
我们通过一个叫做 U* 指数的度量来做到这一点,它刻画了内部应变能的传递以及各点之间的相对刚度。对 U* 梯度使用龙格-库塔积分,我们在结构中绘制出力的“流线”——就像一张天气图,只不过针对的是荷载而非风。
当一个结构是安全的,流线会从受荷构件连续地向下流向基础。当它不安全时——当存在一个缺失的连接、一根尺寸不足的构件、一条不连续的传力路径时——流线就会戛然中断,或剧烈发散。
回到我桌上那张阳台渲染图。当我们把它送进我们的图流水线时,来自悬臂板的传力路径流线就那么……停住了。没有反跨连接把弯矩传入支承结构。U* 云图显示,固定端处有一处巨大的应变能集中,却无处可去。这个可视化把失效模式呈现得一目了然,那是任何多少像素分析都永远做不到的。
一条中断的传力路径流线,是结构在书写自己死亡的句子。你只需知道如何读懂这张图。
我们还能模拟连续倒塌——当你移除一根柱子并问“其余结构还撑得住吗?”时会发生什么——办法是系统性地从图中删除节点并重新评估连通性。借助介数中心性之类的度量,我们识别出那些一旦失效就会把图割裂成互不相连碎片的关键构件簇。这种“图攻击”模拟在几秒内就能跑完。而等效的非线性 FEM 倒塌分析要花上好几个小时。我们能在一位工程师喝完他的咖啡之前,筛查数千个失效情景。
为什么不干脆两者都用?验证层
人们总是在这一点上反驳我。“Ashutosh,生成式 AI 对早期设计阶段来说妙不可言。你不能就这么无视它。”他们说得对——我并不想无视它。建筑师用 Midjourney 或参数化生成器之类的工具去探索创意概念,是真的令人兴奋。问题不在于生成。而在于验证。
我们所构建的是一个验证层。生成式模型提出一个设计。Veriprajna 把它转换成一张图,检查拓扑连通性,追踪传力路径,运行物理引导的预测。如果物理检查未通过,我们就返回一个硬约束——不是一条建议,而是一条约束:“把梁高增加 200mm”或“增加反跨连接”。生成式模型在这些边界之内重新生成。
被物理约束的创造力。被数学验证的想象力。这就是工作流程。
而且,因为我们的模型是被物理方程约束的,而不是在整个互联网上训练的,它们的数据效率高得惊人。一个在钢框架上训练的 PINN 能够泛化到新的钢框架,因为胡克定律在不同项目之间不会改变。这也意味着这些模型足够小,可以本地部署。没有哪个客户需要把敏感基础设施的蓝图发送到公共 API。
玻璃盒 vs. 黑盒
关于基于 LLM 的工程工具,还有一件让我夜不能寐的事,而它不是准确率——是可解释性。
当图神经网络对一个结构构件做出预测时,我们能通过注意力权重精确地可视化出究竟是哪些相邻节点影响了这个预测。“这根柱被标记出来,是因为从梁 A 和梁 B 传来的合并荷载超过了它的承载力。”这是一条可追溯、可审计的推理链。工程师可以看着它说:“对,这没错”,或者“不对,你把从属面积算错了”。他们可以争辩,而对象正是模型本身。
试着去和 GPT-4 关于一次结构评估的推理争辩。问它为什么它会得出阳台是安全的结论。你会得到一段听起来合情合理、却对应不到任何你能验证之物的流畅文字。那套推理分布在数十亿个参数之间,其方式是任何人都无法审视的。
在软件中,黑盒是一种设计选择。在结构工程中,黑盒是一种责任的推卸。
根基之问
我待过足够多的会议室和投资人会议,足以知道当下建筑领域的 AI 热潮几乎完全是围绕生成式模型的。那些路演幻灯片华美动人。那些演示令人印象深刻。而其底层假设——即你可以靠像素预测一路通向结构安全——是错的。
在一个关键方面,建筑业在所有行业中是独一无二的:我们的 bug 会害死人。一个软件 bug 是一个补丁。一个结构 bug 则是一场倒塌调查、一场诉讼、一座纪念碑。留给“大概是对的”的余地为零。
我们把 Veriprajna 建立在图论、几何深度学习和微分方程之上,因为它们是唯一能为安全问题提供确定性答案的根基。不是“它看起来安全”。不是“基于我们训练数据中的类似结构,这大概是足够的”。而是:物理残差为零,传力路径连续,应力在承载力范围之内。
GPT-4 告诉我那座阳台是安全的,因为它见过数千张阳台的照片,而在那些照片里,地板的像素通常都停留在地面的像素之上。物理告诉我它会坍塌,因为固定端处的弯矩超过了截面的抗弯承载力。
我知道自己该把根基建立在哪一个之上。