자연어는 모호함을 해소하기 위해 필연적으로 길어진다. 명료한 구조에서는 그 비용이 사라진다.
모호함의 비용
“그는 은행에 갔다.”
7토큰이다. 짧다. 효율적으로 보인다.
그러나 이 문장은 쓸 수 없다. AI의 추론 컨텍스트에는 넣을 수 없다. 모호하기 때문이다.
그는 누구인가. 은행은 금융기관인가, 강둑인가. 언제 갔는가. 왜 갔는가.
이 문장으로 추론하면 네 갈래의 불확실성이 생긴다. 불확실성은 추론의 모든 후속 단계에 전파된다. 전파된 불확실성이 확신처럼 출력되면 그것이 환각이다.
그래서 자연어는 모호함을 해소하려 한다. 해소하는 유일한 방법은 더 많은 단어를 쓰는 것이다.
해소의 비용
모호함을 해소한 문장을 보자.
“삼성전자 재무팀 김철수 과장이 2024년 1월 15일 월요일 신한은행 강남지점에 법인 계좌 개설을 위해 방문했다.”
이제 모호함이 없다. 주어가 특정되었다. 장소가 특정되었다. 시점이 명시되었다. 목적이 명시되었다.
그런데 7토큰이 40토큰이 되었다.
추가된 33토큰은 전부 모호함 해소 비용이다. 새로운 정보가 아니다. “그"를 “삼성전자 재무팀 김철수 과장"으로 특정하는 것은 의미를 추가한 것이 아니라 모호함을 제거한 것이다.
자연어에서 명료함은 공짜가 아니다. 명료해지려면 길어져야 한다. 이것은 자연어의 구조적 특성이다.
왜 자연어는 길어질 수밖에 없는가
자연어는 인간과 인간 사이의 통신을 위해 진화했다. 인간 사이의 통신에서는 모호함이 기능이다.
“그가 은행에 갔대.”
화자와 청자가 같은 맥락을 공유하고 있으면 “그"가 누구인지, “은행"이 어디인지 알고 있다. 7토큰으로 충분하다. 모호함은 압축 장치다. 공유 맥락에 의존해서 생략하는 것이다.
문제는 이 압축이 “풀리는 쪽"에서 발생한다.
공유 맥락이 없는 상대에게 전달하려면 생략된 것을 전부 복원해야 한다. 복원하면 길어진다.
자연어에서 명료함과 간결함은 트레이드오프다. 명료하면 길어지고, 짧으면 모호해진다. 둘을 동시에 가질 수 없다.
이것이 자연어의 근본적 제약이다.
AI에게 공유 맥락은 없다
인간 사이의 대화에서는 모호함이 효율적이다. 수십 년의 공유 경험, 문화적 배경, 대화의 흐름이 모호함을 자동으로 해소한다.
AI에게는 이것이 없다.
AI의 컨텍스트 윈도우에 들어간 텍스트가 전부다. 텍스트 밖의 맥락은 존재하지 않는다.
“그는 은행에 갔다"를 컨텍스트에 넣으면 AI는 네 갈래의 불확실성을 안고 추론을 시작한다. “가장 그럴듯한” 해석을 선택하고, 그 선택이 틀릴 확률을 감수한다.
그래서 AI를 위한 컨텍스트에서는 자연어가 불리하다.
명료하게 쓰면 토큰이 늘어나서 윈도우를 낭비한다. 짧게 쓰면 모호해서 환각의 재료가 된다.
자연어를 쓰는 한, 이 딜레마에서 벗어날 수 없다.
구조적 명료함이라는 해법
이 딜레마를 해결하려면 명료함과 간결함의 트레이드오프를 깨야 한다.
자연어에서는 불가능하다. 모호함을 해소하려면 단어를 추가해야 하니까.
그러나 구조적으로 명료한 표현에서는 가능하다.
“김철수"를 특정하는 데 자연어는 “삼성전자 재무팀 김철수 과장"이라고 쓴다. 구조화된 표현에서는 고유 식별자 하나가 이 역할을 한다. 식별자는 그 자체로 유일하다. “삼성전자 재무팀"이라는 수식어가 필요 없다. 수식어는 인간을 위한 모호함 해소 장치이지, 기계에게는 불필요하다.
“은행"이 금융기관인지 강둑인지를 자연어에서 해소하려면 “신한은행 강남지점"이라고 써야 한다. 구조화된 표현에서는 해당 엔티티의 식별자가 금융기관을 가리킨다. 모호함이 구조에 의해 원천 차단된다.
시점을 명시하려면 자연어에서는 “2024년 1월 15일 월요일"이라고 쓴다. 구조화된 표현에서는 시간 필드에 값이 들어간다. 필드가 있으니까 생략이 불가능하고, 값이 정형화되어 있으니까 해석의 모호함이 없다.
구조적 명료함에서는 모호함 해소 비용이 0에 수렴한다. 식별자가 모호하지 않으므로 수식어가 필요 없다. 필드가 있으므로 생략이 불가능하다. 정형화되어 있으므로 해석이 확정적이다.
압축은 명료화의 부산물이다
여기서 흥미로운 일이 일어난다.
명료하게 만들었더니 짧아진다.
자연어에서는 명료하면 길어진다. 구조화된 표현에서는 명료하면 짧아진다.
왜 그런가.
자연어에서 문장을 길게 만드는 것의 대부분이 모호함 해소 비용이기 때문이다.
“삼성전자 재무팀 김철수 과장"에서 “삼성전자 재무팀"과 “과장"은 정보가 아니라 식별 장치다. “그"가 누구인지를 좁히기 위한 수식어다. 고유 식별자가 있으면 이 수식어가 전부 사라진다.
“2024년 1월 15일 월요일"에서 “월요일"은 중복이다. 1월 15일이면 요일이 결정되니까. 그러나 자연어에서는 이런 중복이 명료함을 위해 관행적으로 추가된다. 정형화된 시간 필드에서는 이런 중복이 구조적으로 불가능하다.
그래서 구조적 명료화의 결과로 자연어 대비 표현이 짧아진다.
이것은 의도적 압축이 아니다. 모호함 해소 비용이 사라진 결과다.
단일 문장의 역설
여기서 정직하게 말해야 할 것이 있다.
단일 문장에서는 구조화된 표현이 자연어보다 길 수 있다.
“이순신은 위대했다.”
이 문장은 자연어로 7토큰이면 끝난다. 구조화된 표현으로 변환하면 엔티티 노드, 속성 노드, 동사 엣지, 시제, 확신도 필드 – 구조적 오버헤드가 문장 자체보다 클 수 있다.
이것은 사실이다. 명료함을 구조에 내장하는 데는 고정 비용이 있다.
그러나 서술이 늘어나면 역전이 일어난다.
이순신에 대한 서술이 100개면, 자연어는 “이순신은"을 100번 쓴다. 구조화된 표현에서는 이순신 노드를 한 번 정의하고 100개의 엣지가 참조한다.
같은 출처에서 나온 서술 50개가 있으면, 자연어는 매번 출처를 밝히거나, 아니면 생략해서 모호해진다. 구조화된 표현에서는 메타데이터가 한 번 묶인다.
서술이 축적될수록 노드 공유율이 올라가고, 노드 공유율이 올라갈수록 구조적 명료함의 이득이 커진다.
실측에서 대략 20개 서술을 넘어가면 역전이 시작된다. 컨텍스트 엔지니어링에서 윈도우에 넣는 정보가 20개 서술보다 적은 경우는 거의 없다.
실무적으로, 구조화된 표현은 항상 명료하면서 항상 짧다.
명료함이 만드는 연쇄 효과
명료화는 압축만 만들어내는 것이 아니다.
색인이 가능해진다. 모호하지 않은 식별자가 있으면 정확한 검색이 가능하다. “애플 매출"을 찾을 때 “사과 영양성분"이 따라오지 않는다. 식별자가 의미를 담고 있으면 비트마스크 한 번으로 후보를 추린다.
검증이 가능해진다. 구조가 정형화되어 있으면 “유효한 표현인가"를 기계적으로 판단할 수 있다. 자연어에서는 “유효하지 않은 문장"이라는 개념이 없다. 명료한 구조에서는 필수 필드가 비어 있으면 유효하지 않다.
정합성 검사가 가능해진다. 동일한 엔티티에 대한 서술이 모호하지 않으면 “이 두 서술이 모순되는가"를 기계적으로 판단할 수 있다. 자연어에서 “CEO가 A다"와 “CEO가 B다"가 모순인지 알려면 AI가 두 문장을 읽고 추론해야 한다. 명료한 구조에서는 같은 엔티티, 같은 관계, 다른 값 – 자동 감지된다.
명료함은 컨텍스트 엔지니어링 파이프라인 전체의 전제 조건이다. 색인도, 검증도, 필터도, 정합성도 정보가 명료하지 않으면 작동하지 않는다.
명료화는 파이프라인의 한 단계가 아니라 파이프라인이 가능해지는 조건이다.
요약
자연어에서 명료함과 간결함은 트레이드오프다. 명료하면 길어지고, 짧으면 모호해진다.
AI에게 공유 맥락은 없다. 자연어의 모호함은 AI에게 환각의 재료가 된다. 모호함을 해소하면 토큰이 늘어나서 윈도우를 낭비한다.
구조적으로 명료한 표현은 이 트레이드오프를 깬다. 고유 식별자가 모호함을 원천 차단한다. 정형화된 필드가 생략을 불가능하게 한다. 모호함 해소 비용이 사라지면, 부산물로 압축이 따라온다.
명료화는 컨텍스트 엔지니어링의 전제 조건이다. 정보가 명료하지 않으면 색인도, 검증도, 정합성 검사도 작동하지 않는다.
압축이 목적이 아니다. 명료화가 목적이다. 압축은 따라오는 것이다.