乔木博客
全部
AI工具
AI教程
AI生成
AI资讯
健脑房
播客解读
论文学习
一本1934年的哲学书,藏着AI能读懂语言的秘密
论文学习
·
2026年5月15日
·
34 次阅读
·
约 12 分钟
论文下载地址
https://api.taylorfrancis.com/content/books/mono/download?identifierName=doi&identifierValue=10.4324/9781315823010&type=googlepdf
1950年,图灵发表了那篇著名的论文《计算机器与智能》,提出了后来被称为"图灵测试"的思想实验。
全世界都记住了这个故事。
但很少有人注意到,在图灵写下这篇论文的16年前,一个在布拉格的哲学家已经把最关键的那个问题说清楚了:机器处理语言,根本不需要理解意义,只需要遵守规则。
这个人叫鲁道夫·卡尔纳普。
那本书叫《语言的逻辑句法》,1934年德文初版,1937年英译出版。
它不是一本AI教材。它甚至不是一本计算机科学的书。
但如果你想搞清楚今天的大语言模型到底在做什么,以及它为什么既让人惊叹又让人困惑,这本书是绕不过去的源头之一。
逻辑学家们有一个拖了一百年的烂摊子
19世纪末到20世纪初,数学和逻辑学经历了一场地基危机。
导火索是一个看起来很简单的问题:集合论里有没有矛盾?
1901年,罗素发现了一个悖论。
考虑"所有不包含自身的集合"组成的集合,它到底包不包含自身?
包含,则它不该包含自己;不包含,则它应该包含自己。
(类似理发师悖论)
这个悖论把当时最严密的数学体系直接打穿了。
这之后,数学家和逻辑学家分裂成三个阵营,吵了几十年。
形式主义(以希尔伯特为代表)认为,数学就是符号游戏,只要规则自洽、没有矛盾就够了,不需要问符号"是什么意思"。
直觉主义(以布劳威尔为代表)认为,数学必须建立在人类直觉可以构造的对象上,排中律这种经典逻辑规则都不能随便用。
逻辑主义(以弗雷格、罗素为代表)认为,数学可以完全归约为逻辑,数字本质上是逻辑对象。
三派各有道理,谁也说服不了谁。
卡尔纳普在维也纳学圈里看着这场争论,得出了一个让所有人都不舒服的结论:你们争的根本就不是同一件事,因为你们用的语言本身就没有被精确定义过。
这是《语言的逻辑句法》的起点。
把语言当棋局来下,意义根本不重要
要理解卡尔纳普在做什么,先要接受一个反直觉的想法。
语言通常被认为是意义的载体。
"苹果"这个词之所以有用,是因为它指向一个真实的东西。
逻辑推理之所以有效,是因为前提和结论在意义上有关联。
卡尔纳普说:先把这个想法放一边。
他把语言定义为一种"演算",用的类比是国际象棋。
棋盘上的车、马、炮,本身没有任何意义。车不是真的战车,马不是真的马。
但这不妨碍我们下棋,因为棋局的全部运作,由两类规则完全决定:
构成规则,决定什么是合法的棋局状态,棋子怎么摆,初始局面是什么样的。
变换规则,决定每一步棋怎么走,哪些移动合法,哪些不合法。
语言也是这样。
一个符号串是不是合法的句子,一个句子能不能从另一个句子推导出来,这些全部由形式规则决定。
不需要知道符号的意义,只需要看符号的种类和排列顺序。
他举了一个故意造出来的例子:"Pirots karulize elatically。"
没人知道这句话说的是什么,Pirot是什么东西,karulize是什么动作,elatically是什么状态。
但只要知道"Pirots"是名词复数,"karulize"是第三人称复数动词,"elatically"是副词,就能判断这是一个合法的英语句子。
更进一步,如果再给一个句子"A is a Pirot",就可以推导出"A karulizes elatically"。
整个过程,意义完全没有参与。
这个想法在1934年是激进的。在今天,它是计算机科学的基石。
图灵读没读过这本书?不重要,重要的是他们想的是同一件事
1936年,图灵发表了《论可计算数及其在判定问题上的应用》。
他在论文里描述了一种假想的机器:一条无限长的纸带,一个读写头,一套状态转换规则。
机器不理解纸带上符号的含义,只根据当前状态和当前符号,决定写什么、往哪移动、转换到哪个状态。
这和卡尔纳普的演算定义,在结构上完全一致。
卡尔纳普说:语言是符号按规则排列的序列,合法性和推导关系完全由形式规则决定。
图灵说:计算是符号按规则变换的过程,机器的行为完全由状态转换表决定。
两个人都在说同一件事:形式规则可以机械地执行,不需要理解意义。
这不是巧合。
1930年代的维也纳和剑桥,都浸泡在同一个智识氛围里。
弗雷格的概念文字、罗素和怀特海的《数学原理》、希尔伯特的元数学,这些是两个人共同的思想背景。
卡尔纳普在书的致谢里提到了弗雷格、罗素、希尔伯特、塔斯基、哥德尔。
图灵的导师是丘奇,丘奇的工作和这个圈子深度交织。
更直接的一条线索是哥德尔。
哥德尔的编码技巧,是"程序也是数据"的祖先
卡尔纳普在书的第二部分做了一件技术上很漂亮的事。
他证明:语言 I 的句法,可以在语言 I 自身内部被描述。
这听起来像是要出问题。
一个系统描述自己,不就是"说谎者悖论"那种自我指涉吗?"这句话是假的",如果是真的那就是假的,如果是假的那就是真的,死循环。
卡尔纳普用的解法来自哥德尔1931年的不完备性定理证明。
哥德尔的核心技巧叫"算术化":把符号和符号串编码成自然数,把句法规则编码成算术运算,这样关于语言的陈述就变成了关于数字的陈述。
具体来说,给每个符号分配一个编号,一个符号串的编码是各符号编号按某种方式组合得到的数字。"这个符号串是合法句子"这个句法命题,就变成了"这个数字满足某个算术条件"这个算术命题。
这个编码技巧的意义,远超哥德尔定理本身。
把符号操作编码成数字运算,就是"程序也是数据"这个思想的直接来源。
冯·诺依曼在1945年设计存储程序计算机架构时,程序和数据存在同一块内存里,程序可以读取、修改、生成程序。这个设计之所以可能,根子就在哥德尔的编码思想。卡尔纳普在这本书里把它用在句法理论上,让这个思想在逻辑学圈子里广泛传播。
今天的编译器把源代码(符号串)变成机器码(另一种符号串),解释器在运行时处理程序本身,元编程让程序生成程序,这些全都是同一个思想的不同实例。
数学基础之争的终结方式,预言了编程语言的多元生态
回到那场吵了几十年的数学基础之争。
卡尔纳普的解决方案不是裁判谁对谁错,而是宣布这场比赛本身设错了规则。
他在书里提出了"容忍原则"(Principle of Tolerance):
在语言形式的选择上,我们拥有完全的自由。构成规则和变换规则都可以任意选定。不存在一种"正确的逻辑"需要被证明或捍卫。
形式主义、直觉主义、逻辑主义,都可以按自己的偏好构造语言系统。
真正值得问的问题只有一个:你选的这套规则,会导致什么后果,会不会产生矛盾?
这个立场在1934年是哲学上的激进主张。在今天,它是软件工程的日常共识。
Python、Rust、Haskell、Prolog,没有哪个编程语言是"正确的"。
动态类型和静态类型没有谁更真,函数式和命令式没有谁更对。
每一种语言都是一套规则选择,区别只在于这套选择导致的后果:表达能力、性能特征、错误检测能力、适用场景。
编程语言理论这个学科,研究的正是不同规则选择的句法后果。
类型系统、操作语义、指称语义,这些概念的框架,和卡尔纳普在这本书里建立的框架高度同构。
更直接的影响体现在逻辑编程上。
Prolog语言的设计,直接基于一阶逻辑的推导规则,程序就是一组逻辑子句,计算就是在这些子句上做推导。
这是卡尔纳普意义上的演算,被直接实现成了编程语言。
大语言模型在做什么,卡尔纳普1934年就把问题说清楚了
现在来到最有意思的地方。
GPT-4能写诗、能解题、能翻译、能写代码。
很多人觉得它"理解"了语言。也有很多人坚持认为它只是在做统计,根本不懂意义。
这场争论,卡尔纳普在九十年前就把它的结构画出来了。
他区分了两个层次。
句法(syntax):符号的形式规则,符号怎么排列,怎么变换。
语义(semantics):符号和外部世界的对应关系,符号"指向"什么。
卡尔纳普的整个体系建立在句法优先上。
他认为,逻辑关系、推导关系、分析性,这些都可以纯粹在句法层面定义,不需要诉诸语义。
大语言模型做的事情,从机制上看,是在做极其复杂的句法操作。
它在数以万亿计的文本上学习符号的共现模式、位置关系、上下文分布。
给定一个输入序列,它计算下一个符号的概率分布,选择最可能的输出。
它从来没有"看到"过苹果,没有"感受"过疼痛,没有"经历"过时间流逝。它只处理过描述这些东西的符号串。
但它生成的输出,在很多情况下表现得好像它理解了这些概念。
这正是卡尔纳普体系里最深的那个张力:如果句法规则足够复杂、足够丰富,它能不能涌现出语义?形式操作的极限,是不是就是意义本身?
卡尔纳普自己没有回答这个问题。
他的工作止步于建立句法体系,语义理论是后来塔斯基发展的另一条线。
但他把这个问题的边界画得足够清楚,清楚到九十年后AI领域还在沿着这条边界争论。
哲学里的"伪问题",和今天AI对齐里的真问题
书的最后一部分,卡尔纳普做了一件让哲学家们很不高兴的事。
他区分了两种说话方式。
"实质模式",比如"数字5是一个对象",听起来像是在描述世界上真实存在的东西。
"形式模式",比如"'5'是一个数词",说的是语言本身的结构。
他的论断是:哲学史上大量的争论,是把形式模式的问题误当成实质模式的问题来讨论。
"时间是真实的吗"、"数学对象存在吗"、"意识是物质的吗",这些问题在卡尔纳普看来,要么可以被翻译成关于语言结构的精确问题,要么就是没有意义的伪问题。
这个立场激进,也有争议。
但它的方法论内核,在今天的AI对齐讨论里意外地有用。
AI对齐领域有一个反复出现的困境:我们说要让AI"理解人类价值观",但"理解"是什么意思?"价值观"是什么意思?这些词在日常语言里用起来没问题,但一旦要把它们变成可操作的技术目标,就会发现它们极度模糊。
卡尔纳普的方法论建议是:先把问题形式化。把"AI理解了什么"这个问题,翻译成关于系统行为的精确描述。 不是问"它有没有意识",而是问"在哪些输入输出模式上,它的行为和我们期望的一致"。不是问"它懂不懂道德",而是问"给定这些规则,它会产生什么推导结果"。
这不是回避问题,而是把问题变得可以被处理。
九十年前的那艘船,今天还在同一片海上
卡尔纳普在前言里写了一句话,读起来像是在说今天的AI:
逻辑这艘船第一次试图离开经典形式的陆地,是勇敢的尝试。但它被对"正确性"的追求所束缚。现在,那个障碍已经被克服,在我们面前是无边无际的可能性之海。
他说的是逻辑系统的多元可能性。但这句话用来描述今天的AI研究,同样贴切。
Transformer、扩散模型、强化学习,这些不同的架构选择,本质上就是不同的"规则系统",对应着不同的"句法后果"。
没有哪个是唯一正确的,只有哪个在特定任务上表现更好。
卡尔纳普在1934年建立的那个框架,核心洞见只有一个:语言的本质是规则,规则可以机械执行,规则的选择决定系统的能力边界。
这句话,是图灵机的哲学前提,是编程语言理论的基础,也是今天每一个语言模型背后最深层的假设。
大语言模型到底有没有真正理解语言,这个问题还没有答案。
但要想把这个问题问清楚,绕不开卡尔纳普在九十年前画下的那条线:句法在哪里结束,语义从哪里开始。
© 2026
·
向阳乔木
📌 文中提及的人物和组织
人物: Rudolf Carnap, Alan Turing