科学验证的不可靠性 | AI生成和翻译

Home 2025.10

为什么人们会盲目相信科学实验:一个程序员的类比

许多人未能理解科学实验内在的逻辑缺陷,导致他们全盘接受那些”已被证实”的科学结论。他们不明白为什么一个经过实验”验证”的理论最终仍可能被证明是错误的。但如果你理解软件测试的原理,就会看清科学实验的本质——正如我在《测试的逻辑》一文中探讨的问题。

简而言之,科学理论就像一段代码,而科学实验就像是为了”验证”代码正确性设计的测试。假设你编写了一个计算乘法的程序,却错误地实现了加法功能:(x, y) => x + y。当你用输入值(2, 2)进行测试得到4时,可能会想:”太好了,乘法功能正确!”但这个判断大错特错。要真正确认这是乘法函数,你需要测试所有可能的输入组合,并确保每次都能输出正确结果。由于我们无法测试无限多的输入案例,任何数量的测试都不能保证程序的绝对正确。即使通过了数千次测试,程序仍可能在某个未经测试的场景下出现严重错误。

科学也是同样的道理。一个理论只有在所有可设想条件下——宇宙中每个可能的”输入”——都能成立时,才算是真正”被证实”。常见的误区是仅通过单一实验或在狭窄场景中进行测试就宣称理论已验证成功。这就像在通过(2, 2)测试后就沾沾自喜地宣布大功告成。有时候,你运行了数千次测试都完美通过——直到出现一个新颖的输入条件,轰然间整个理论体系崩塌。

这就是科学”可证伪性”的精髓。有些人将可证伪性奉为真正科学的标志,认为任何不可证伪的都是伪科学。但通过编程类比,我们会发现这种观点并不准确。可证伪性凸显的是实验的局限性——它们可以证伪理论,却永远无法完全证实理论。它不应该被当作界定科学的僵化标准。

测试(或实验)中引入的约束条件和复杂性越多,就越难确信程序(或理论)的正确性。在编程中,包含大量边界条件的复杂测试配置会使验证工作更加困难,说服力也随之降低。科学实验也是如此:实验条件越严苛,设备越精密,变量控制越严格,其对广义理论的”说服力”反而越弱。在培养皿中成立的理论,能否推广到复杂的现实世界?

这就是为什么我难以信服爱因斯坦的相对论。用于验证该理论的实验不仅数量稀少,且都局限于高度特定的条件,缺乏普适性。验证相对论的经典实验平均一个世纪才出现一次,使得独立复现对于大多数研究者而言几乎不可能。至今仍没有必须应用相对论的实际场景——常被引用的GPS卫星定位实例其实并不需要相对论,基础牛顿力学经过微调就足以应对。就连”光速与光源运动状态无关”这一核心前提,也仅建立在单一实验基础上:该实验采用特殊配置和超复杂设备,未经更广泛验证就被奉为永恒真理。

许多医学理论也遵循相同模式:某项研究被奉为圭臬,被反复引用,却很少被独立复核。后辈学者只是人云亦云地沿用,想当然地认为其坚不可摧。

这个类比并非要全盘否定科学——而是呼吁对”证明”的本质保持谦逊。实验是强大的工具,但它们是聚光灯而非照明弹,只能照亮部分真相,阴影始终无处不在。如果我们把理论视为需要持续审查的代码——随时接受无止境的测试与重构——科学将会变得更加坚实。


Back

x-ai/grok-4-fast

Donate