自然言語は曖昧性を解消するために必然的に長くなる。明確な構造では、そのコストが消える。
曖昧性のコスト
“He went to the bank.”
7トークン。短い。効率的に見える。
しかしこの文は使い物にならない。 AIの推論コンテキストに入れられない。 曖昧だからだ。
“he"は誰か? “bank"は金融機関か河岸か? いつ行ったのか? なぜ行ったのか?
この文から推論すると4つの不確実性の分岐が生まれる。 不確実性は推論の後続ステップすべてに伝播する。 伝播した不確実性が確実性として出力されたとき、それが幻覚だ。
そこで自然言語は曖昧性を解消しようとする。 解消する唯一の方法は、より多くの言葉を使うことだ。
解消のコスト
この文の曖昧性のないバージョンを見てみよう。
「サムスン電子財務チームの金哲洙課長は、 2024年1月15日月曜日に、 新韓銀行江南支店を訪問し、 法人口座を開設した。」
今や曖昧性はない。 主語が特定された。場所が特定された。 タイムスタンプが明記された。目的が明記された。
しかし7トークンが40になった。
追加の33トークンはすべて曖昧性解消のコストだ。 新しい情報ではない。 “he"を「サムスン電子財務チームの金哲洙課長」と特定したことは 意味を追加したのではなく——曖昧性を除去したのだ。
自然言語では、明確さは無料ではない。 明確になるには、長くならなければならない。 これは自然言語の構造的性質だ。
なぜ自然言語は必然的に長くなるのか
自然言語は人間同士のコミュニケーションのために進化した。 人間のコミュニケーションでは、曖昧性は特徴だ。
「彼、銀行に行ったらしいよ。」
話者と聞き手が同じコンテキストを共有していれば、 「彼」が誰で「銀行」がどこかすでに知っている。 7トークンで十分。 曖昧性は圧縮メカニズムだ。共有コンテキストに頼って省略する。
問題は解凍側で起こる。
コンテキストを共有していない相手にメッセージを伝えるには、 省略されたすべてを復元しなければならない。 復元は長くする。
自然言語では、明確さと簡潔さはトレードオフだ。 明確は長い。短いは曖昧。 両方を同時には手に入れられない。
これが自然言語の根本的制約だ。
AIには共有コンテキストがない
人間同士の会話では、曖昧性は効率的だ。 数十年の共有経験、文化的背景、会話の流れが 自動的に曖昧性を解消する。
AIにはこれがない。
AIのコンテキストウィンドウ内のテキストがすべてだ。 テキストの外のコンテキストは存在しない。
“He went to the bank"をコンテキストに入れると、 AIは4つの不確実性の分岐を持って推論を始める。 「最も妥当な」解釈を選び、 間違いのリスクを受け入れる。
だから自然言語はAIコンテキストにとって不利なのだ。
明確に書けばトークン数が膨らみ、ウィンドウスペースを浪費する。 短く書けば曖昧性が幻覚の原材料になる。
自然言語を使う限り、このジレンマから逃れられない。
構造的明確さという解決策
このジレンマを解くには、 明確さと簡潔さのトレードオフを打破しなければならない。
自然言語では不可能だ。 曖昧性の解消には言葉の追加が必要だ。
しかし構造的に明確な表現では、可能だ。
自然言語では「金哲洙」を特定するのに「サムスン電子財務チームの金哲洙課長」と書く必要がある。 構造化表現では、一つのユニーク識別子で済む。 識別子は本質的にユニークだ。 修飾語「サムスン電子財務チーム」は不要だ。 修飾語は人間のための曖昧性解消手段であって—— 機械には不要だ。
自然言語では"bank"が金融機関か河岸かを解消するのに 「新韓銀行江南支店」と書く必要がある。 構造化表現では、エンティティの識別子が金融機関を指す。 曖昧性は構造の源で遮断される。
自然言語ではタイムスタンプを指定するのに「2024年1月15日月曜日」と書く必要がある。 構造化表現では、時間フィールドに値が入る。 フィールドが存在するから、省略が不可能。 値に型があるから、解釈の曖昧さがない。
構造的明確さにおいて、 曖昧性解消のコストはゼロに収束する。 識別子は曖昧さがないから、修飾語は不要。 フィールドが存在するから、省略は不可能。 値に型があるから、解釈は決定論的。
圧縮は明確化の副産物
ここで興味深いことが起こる。
明確にすると短くなる。
自然言語では、明確にすると長くなる。 構造化表現では、明確にすると短くなる。
なぜか?
自然言語の文を長くしているもののほとんどが 曖昧性解消のコストだからだ。
「サムスン電子財務チームの金哲洙課長」で、 「サムスン電子財務チーム」と「課長」は情報ではない——識別手段だ。 「彼」が誰かを絞り込む修飾語だ。 ユニーク識別子があれば、これらの修飾語はすべて消える。
「2024年1月15日月曜日」で「月曜日」は冗余だ。 1月15日で曜日は決まる。 しかし自然言語では、こうした冗長性が慣習的に明確さのために追加される。 型付き時間フィールドでは、このような冗長性は構造的に不可能だ。
構造的明確化の結果として、 表現は自然言語より短くなる。
これは意図的な圧縮ではない。 曖昧性解消コストが消えた結果だ。
一文のパラドックス
ここで正直に述べるべきことがある。
一つの文に対しては、構造化表現は自然言語より長くなりうる。
「李舜臣は偉大だった。」
自然言語ではこれで7トークン。 構造化表現に変換すると—— エンティティノード、属性ノード、動詞エッジ、時制、確信度フィールド—— 構造的オーバーヘッドが文自体より大きくなりうる。
これは事実だ。 明確さを構造に埋め込むには固定コストがある。
しかしステートメント数が増えるにつれ、逆転が起こる。
李舜臣についてのステートメントが100あるとして、 自然言語は「李舜臣」を100回書く。 構造化表現では李舜臣ノードを一度定義し、 100のエッジがそれを参照する。
50のステートメントが同じ出所からだとして、 自然言語は毎回出所を引用するか、省略して曖昧になるかだ。 構造化表現ではメタデータが一度バインドされる。
ステートメントが蓄積するにつれ、ノード共有率が上昇する。 ノード共有率が上昇するにつれ、構造的明確さの利得が増大する。
実際には、逆転は約20ステートメントで始まる。 コンテキストエンジニアリングで、ウィンドウに配置する情報が 20ステートメント未満であることはめったにない。
実用的には、構造化表現は常に明確であり、常に短い。
明確さが生む連鎖反応
明確化は圧縮だけを生むのではない。
索引が可能になる。 曖昧さのない識別子があれば、精密な検索が可能になる。 「Apple売上高」を検索して「りんごの栄養成分」が出てこない。 識別子が意味を符号化していれば、ビットマスク一回で候補を絞れる。
バリデーションが可能になる。 構造に型があれば、「これは有効な表現か?」を機械的に判断できる。 自然言語では「無効な文」という概念が存在しない。 明確な構造では、必須フィールドが空なら無効だ。
整合性チェックが可能になる。 同一エンティティについてのステートメントが曖昧でなければ、 「この二つのステートメントは矛盾するか?」を機械的に判断できる。 自然言語では「CEOはAだ」と「CEOはBだ」が矛盾するか判断するには AIが両文を読んで推論しなければならない。 明確な構造では——同一エンティティ、同一関係、異なる値——自動検出される。
明確さはコンテキストエンジニアリングパイプライン全体の前提条件だ。 索引、バリデーション、フィルタリング、整合性チェック—— 情報が明確でなければ、これらのどれも機能しない。
明確化はパイプラインの一段階ではない。 パイプラインを可能にする条件だ。
まとめ
自然言語では、明確さと簡潔さはトレードオフだ。 明確は長い。短いは曖昧。
AIには共有コンテキストがない。 自然言語の曖昧性は幻覚の原材料になる。 曖昧性の解消はトークン数を膨らませ、ウィンドウを浪費する。
構造的に明確な表現はこのトレードオフを打破する。 ユニーク識別子が源で曖昧性を遮断する。 型付きフィールドが省略を不可能にする。 曖昧性解消コストが消えるとき、圧縮が副産物として従う。
明確化はコンテキストエンジニアリングの前提条件だ。 情報が明確でなければ、索引もバリデーションも整合性チェックも機能しない。
圧縮は目標ではない。 明確化が目標だ。 圧縮が従う。