自然语言为了消除歧义不可避免地变长。在清晰的结构中,这个成本消失了。


歧义的代价

“He went to the bank.”

7个token。简短。看起来高效。

但这个句子是不可用的。 它无法放入AI的推理上下文中。 因为它是歧义的。

“He"是谁? “bank"是金融机构还是河岸? 他什么时候去的? 他为什么去?

从这个句子出发的推理产生四个不确定性分支。 不确定性在后续推理的每一步中传播。 当传播的不确定性被当作确定性输出时,那就是幻觉。

所以自然语言尝试消除歧义。 消除歧义的唯一方法是使用更多的词。


消歧的代价

让我们看看这个句子的无歧义版本。

“三星电子财务团队金哲洙科长, 于2024年1月15日星期一, 前往新韩银行江南支行, 开设企业账户。”

现在没有歧义了。 主语被指定了。地点被指定了。 时间戳被陈述了。目的被陈述了。

但7个token变成了40个。

多出的33个token完全是消歧的成本。 它们不是新信息。 把"he"指定为"三星电子财务团队金哲洙科长” 并没有增加意义——而是消除了歧义。

在自然语言中,清晰不是免费的。 要变清晰,就必须变长。 这是自然语言的结构性属性。


为什么自然语言不可避免地变长

自然语言为人类之间的沟通而进化。 在人类沟通中,歧义是一种特性。

“听说他去银行了。”

如果说话者和听话者共享相同的上下文, 他们已经知道"他"是谁和"银行"是哪家。 7个token就够了。 歧义是一种压缩机制。它依靠共享上下文来省略。

问题出在解压端。

要把消息传达给不共享上下文的人, 所有被省略的内容必须恢复。 恢复使它变长。

在自然语言中,清晰和简短是一对取舍。 清晰意味着长。简短意味着歧义。 你不能同时拥有两者。

这是自然语言的根本约束。


AI没有共享上下文

在人类之间的对话中,歧义是高效的。 数十年的共同经历、文化背景和对话脉络 会自动消除歧义。

AI没有这些。

AI上下文窗口内的文本就是全部。 文本之外的上下文不存在。

把"He went to the bank"放入上下文, AI就带着四个不确定性分支开始推理。 它选择"最可能"的解释 并承担出错的风险。

这就是为什么自然语言对AI上下文来说是不利的。

写得清晰,token数膨胀,浪费窗口空间。 写得简短,歧义成为幻觉的原材料。

只要使用自然语言,就无法逃脱这个困境。


结构化的清晰作为解决方案

要解决这个困境, 必须打破清晰与简短之间的取舍。

在自然语言中,这是不可能的。 消除歧义需要增加词语。

但在结构化的清晰表示中,这是可能的。

在自然语言中,指定"金哲洙"需要写"三星电子财务团队金哲洙科长”。 在结构化表示中,一个唯一标识符就够了。 标识符本质上是唯一的。 修饰语"三星电子财务团队"是不必要的。 修饰语是人类的消歧手段—— 对机器来说是不必要的。

在自然语言中,消除"bank"是金融机构还是河岸的歧义 需要写"新韩银行江南支行"。 在结构化表示中,实体的标识符指向金融机构。 歧义在源头就被结构阻断了。

在自然语言中,指定时间戳需要写"2024年1月15日星期一"。 在结构化表示中,一个值被放入时间字段。 因为字段存在,所以不可能遗漏。 因为值是有类型的,所以不存在解释歧义。

在结构化的清晰中, 消歧的成本趋近于零。 标识符是无歧义的,所以修饰语不必要。 字段存在,所以不可能遗漏。 值是有类型的,所以解释是确定性的。


压缩是明确化的副产品

这里发生了一件有趣的事。

变清晰的同时变短了。

在自然语言中,清晰使事物变长。 在结构化表示中,清晰使事物变短。

为什么?

因为自然语言句子之所以长, 大部分是消歧的成本。

在"三星电子财务团队金哲洙科长"中, “三星电子财务团队"和"科长"不是信息——而是识别手段。 它们是用来缩小"他"是谁的修饰语。 有了唯一标识符,所有这些修饰语都消失了。

在"2024年1月15日星期一"中,“星期一"是冗余的。 1月15日已经确定了星期几。 但在自然语言中,为了清晰,这种冗余被惯例性地添加。 在有类型的时间字段中,这种冗余在结构上是不可能的。

结构化明确的结果是, 表达比自然语言更短。

这不是有意的压缩。 而是消歧成本消失的结果。


单句的悖论

这里有一件需要坦诚的事。

对于单个句子,结构化表示可能比自然语言更长。

“李舜臣很伟大。”

在自然语言中,这用7个token就完成了。 转换为结构化表示—— 实体节点、属性节点、动词边、时态、置信度字段—— 结构开销可能比句子本身还大。

这是事实。 将清晰嵌入结构是有固定成本的。

但随着陈述数量增加,逆转发生了。

如果有100条关于李舜臣的陈述, 自然语言要写100次"李舜臣”。 在结构化表示中,你定义一次李舜臣节点, 100条边引用它。

如果50条陈述来自同一来源, 自然语言要么每次都引用来源,要么省略它而变得歧义。 在结构化表示中,元数据绑定一次。

随着陈述的积累,节点共享率上升。 随着节点共享率上升,结构化清晰的收益增大。

在实践中,逆转大约在20条陈述时开始。 在上下文工程中,放入窗口的信息 少于20条陈述是罕见的。

在实际使用中,结构化表示总是更清晰,也总是更短。


清晰引发的连锁反应

明确化不仅产生压缩。

索引成为可能。 当有无歧义的标识符时,精确搜索成为可能。 搜索"苹果营收"不会拉出"苹果营养成分”。 如果标识符编码了意义,单个位掩码就能缩小候选范围。

校验成为可能。 当结构是有类型的,“这是一个有效表达吗?“可以被机械地判断。 在自然语言中,“无效句子"这个概念不存在。 在清晰的结构中,如果必填字段为空,就是无效。

一致性检查成为可能。 当关于同一实体的陈述是无歧义的, “这两条陈述是否矛盾?“可以被机械地判断。 在自然语言中,判断"CEO是A"和"CEO是B"是否矛盾 需要AI阅读两个句子并进行推理。 在清晰的结构中——同一实体、同一关系、不同值——自动检测。

清晰是整个上下文工程管道的前提条件。 索引、校验、过滤、一致性检查—— 如果信息不清晰,这些都不能工作。

明确化不是管道的一个阶段。 它是使管道成为可能的条件。


总结

在自然语言中,清晰和简短是一对取舍。 清晰意味着长。简短意味着歧义。

AI没有共享上下文。 自然语言的歧义成为幻觉的原材料。 消除歧义会膨胀token数,浪费窗口。

结构化的清晰表示打破了这个取舍。 唯一标识符在源头阻断歧义。 有类型的字段使遗漏不可能。 当消歧成本消失时,压缩作为副产品跟随而来。

明确化是上下文工程的前提条件。 如果信息不清晰,索引、校验和一致性检查都不能工作。

压缩不是目标。 明确化才是目标。 压缩随之而来。