自然语言将人类带到了这里,但它无法带我们走得更远。
最伟大的发明:自然语言
人类创造的最伟大的技术是自然语言。
不是火的发现,不是轮子的发明,也不是半导体的发明。 使这一切成为可能的,是自然语言。
因为有了自然语言,知识才得以传递。 因为有了自然语言,合作才成为可能。 因为有了自然语言,死者的思想才能被生者继承。
智人统治地球的原因不是肌肉,而是语言。 数万年来,自然语言一直是人类一切智力活动的媒介。
而如今,自然语言已经成为AI时代的瓶颈。
自然语言为何诞生
要理解这个问题,必须回到自然语言的本来目的。
自然语言是为人与人之间的实时通信而进化的。
原始人类在草原上狩猎时, 传达"那边有狮子!“所需要的 不是精确的逻辑结构,而是快速的传递。
这种进化压力决定了自然语言的所有特征。
模糊性是一种功能。 不需要知道"那边"到底是多少米。 听者转头就能看到狮子。 上下文弥补了模糊性。
冗余是一种功能。 即使一半的信息被风声淹没,意思也必须能够传达。 因此,自然语言用多种方式表达同一个含义。
暗示是一种功能。 在中国文化中,“吃了吗?“作为问候语并非真正在问是否用餐, 而是在表达关心。共同的文化背景解码了暗示。
所有这些特征在人与人之间的通信中都是优势。 快速、灵活、适应语境。
问题出在我们试图将它用于AI的时候。
自然语言对AI意味着什么
当前的LLM以自然语言接收输入,以自然语言推理,以自然语言输出。
这就像做化学实验, 却把所有测量结果记录为"挺多”、“一点点”、“大概这么多”。
“李舜臣是伟大的。”
当AI处理这个句子时,会发生什么?
谁说他伟大?说话者?历史学界?韩国社会? 以什么标准衡量伟大?军事的?道德的?历史影响? 以何时为准?当时?现在? 有多确信?事实?观点?推测?
自然语言中这些都没有被明确指出。 全部只是暗示着:“自己从上下文中去理解。”
人类拥有数万年进化而来的硬件来解码这些暗示。 表情、语调、共同经历、文化背景。 AI没有这些。它只有文本。
所以AI去猜测。然后把猜测说得像确信一样。 我们把这称为"幻觉(Hallucination)"。
幻觉不是Bug。只要自然语言被用作AI的推理语言, 这就是结构上不可避免的结果。
幻觉源于自然语言的模糊性
让我们更精确地指出这一点。
当LLM回答"李舜臣在露梁海战中阵亡"时, 这个句子的依据是什么?
因为在训练数据中,与这个句子相似的模式以高概率出现过。
但那些模式来自哪个出处, 那个出处有多可靠, 这个信息的时间基准是什么, 是否存在相互矛盾的其他叙述—— 这些在自然语言输出中结构上无法承载。
自然语言没有为元数据预留位置。
“李舜臣在露梁海战中阵亡"和 “《朝鲜王朝实录》记载李舜臣在露梁海战中阵亡” 在自然语言中只是长度不同的两个句子。
但从认识论上看,它们是完全不同类型的陈述。 一个是事实主张,一个是标明出处的叙述。
自然语言无法在结构上区分这两者。 所以AI也无法区分。 所以幻觉就产生了。
编程语言不是答案
“那用编程语言不就行了?”
编程语言没有模糊性。结构化。精确。 但编程语言是描述过程的语言, 而不是描述世界的语言。
试着用Python表达"李舜臣是伟大的”:
is_great("李舜臣") == True
这不是描述,而是布尔判定。 谁做的判定,基于什么依据,在什么语境下,有多大确信—— 编程语言没有承载这些的结构。
JSON、XML、RDF这样的数据格式也一样。 有结构,但没有定义该结构含义的统一体系。 每个项目都创建自己的Schema, 这些Schema之间互不兼容。
自然语言意义丰富但缺乏结构。 编程语言有结构但缺乏意义。 数据格式既有结构也有意义,但缺乏统一性。
需要的是另一种语言。
LLVM指明的道路
计算机科学中有一个精确的先例。
在1990年代,编程语言有数十种, 处理器架构也有数十种。 要让所有语言支持所有架构, 需要N x M个编译器。
LLVM的解决方案是中间表示(IR,Intermediate Representation)。
所有语言都翻译成LLVM IR。 LLVM IR再翻译成所有架构。 只需要N + M个转换器。
用户看不到LLVM IR。 他们写C++,得到可执行文件。 LLVM IR在幕后工作。
GEUL是面向AI的LLVM IR。
所有自然语言都翻译成GEUL。 GEUL存储在WMS中,用于推理,再翻译回自然语言。 用户看不到GEUL。 他们用自然语言提问,用自然语言接收回答。 GEUL在幕后工作。
人工语言必须满足的条件
要超越自然语言的局限而不丧失其表达力, 人工语言必须同时满足以下条件。
1. 消除模糊性
当输入"李舜臣是伟大的"时, “谁、在什么语境下、基于什么依据、以多大确信度如此叙述” 必须在结构上被明确指定。 如果某个字段为空,必须标明为空。 不依赖暗示。
2. 内置元数据
每个叙述都必须将出处、时间点、可信度、视角(POV) 作为叙述自身结构的一部分,而非单独的注释。 没有这一点,白盒AI就不可能实现。
3. LLM友好性
LLM必须能够"学习"这门语言。 不需要易于人类理解。 关键是能够Token化、模式规律、 遵循固定结构。
4. 图表达力
世界不是表格,而是图。 实体是节点,关系是边。 人工语言必须能够自然地序列化图。
5. 事实与叙述的分离
“李舜臣死于1598年"不是事实。 “《朝鲜王朝实录》记载李舜臣死于1598年"才是一级数据。 人工语言必须在结构上强制执行这种区分。
6. 未来可扩展性
今天定义的体系必须在十年后、一百年后, 乃至不可想象的未来,保持向后兼容并可扩展。
为什么现有的尝试不够
这并非首次尝试。
世界语是为人类设计的人工语言。 它有结构,但并非为承载AI推理而设计。 它优先考虑学习的便利性,而非意义的精确性。
OWL/RDF是为机器设计的语义表示体系。 逻辑上严谨,但是LLM时代之前的设计。 与自然语言的相互转换困难,表达冗长。 而且致命地慢——大规模推理在现实中不可行。
**知识图谱(Wikidata、Freebase)**将世界表示为图。 但它们存储的是"事实"而非"叙述”。 它们将"李舜臣是将军"存储为三元组, 但不记录谁做出了这个主张,也不记录确信程度。
Chain-of-Thought将LLM的推理过程以自然语言记录。 方向正确,但由于记录媒介是自然语言, 无法从根本上解决模糊性问题。
这些尝试各自满足了一两个条件, 但没有一个同时满足全部六个。
GEUL:六个条件的交汇点
GEUL站在这六个条件的交汇点上。
基于16位字的流格式。 每个叙述都在结构上内置了语境、出处和确信度。 通过节点和边数据包序列化图。 遵循与LLM Token一一映射的固定模式。 将叙述(Claim)而非事实作为一级数据。 将总地址空间的50%预留给未来。
GEUL对用户不可见。 用户用自然语言说话,用自然语言收到回答。 在两者之间,GEUL将推理结构化, 记录、积累,并使其可复用。
自然语言的时代不会终结
有一点不能误解。
GEUL不是要取代自然语言。 人类将继续用自然语言说话、书写、思考。 自然语言作为人类的语言将永远存在。
GEUL要取代的, 是自然语言在AI内部所承担的角色。
推理的媒介。 知识的存储格式。 系统间通信的协议。
在这个角色上,自然语言已经到达了极限。 这种极限表现为幻觉、黑盒和低效。
自然语言将人类带到了这里。 这份功绩是永恒的。 但要迈向下一个阶段,需要新的语言。
这就是为什么需要人工语言。
总结
自然语言的模糊性在人类通信中是功能,但在AI推理中是缺陷。
- 自然语言没有为元数据预留结构性位置。
- 因此AI在没有出处、确信度和语境的情况下进行推理。
- 因此幻觉发生了。这不是Bug,而是结构性必然。
- 编程语言描述过程,无法描述世界。
- 现有的语义表示体系各自仅满足一两个条件。
- 需要一种同时满足全部六个条件的新人工语言。
正如LLVM IR是编程语言与硬件之间看不见的桥梁, GEUL是自然语言与AI推理之间看不见的桥梁。