자연어는 인간을 여기까지 데려왔다. 하지만 더 이상은 안 된다.
자연어라는 위대한 발명
인간이 만든 가장 위대한 기술은 자연어다.
불의 발견도, 바퀴의 발명도, 반도체의 발명도 아니다. 그 모든 것을 가능하게 한 것이 자연어다.
자연어가 있었기에 지식을 전달할 수 있었다. 자연어가 있었기에 협력할 수 있었다. 자연어가 있었기에 죽은 자의 생각을 산 자가 이어받을 수 있었다.
호모 사피엔스가 지구를 지배한 이유는 근육이 아니라 언어다. 수만 년 동안 자연어는 인류의 모든 지적 활동의 매개체였다.
그리고 지금, 자연어는 AI 시대의 병목이 되었다.
자연어는 왜 탄생했는가
이 문제를 이해하려면 자연어의 본래 목적으로 돌아가야 한다.
자연어는 인간과 인간 사이의 실시간 통신을 위해 진화했다.
원시 인류가 사바나에서 사냥할 때, “저기 사자 있어!“를 전달하는 데 필요한 것은 정확한 논리 구조가 아니라 빠른 전달이었다.
이 진화적 압력이 자연어의 모든 특성을 결정했다.
모호함은 기능이다. “저기"가 정확히 몇 미터인지 몰라도 된다. 듣는 사람이 고개를 돌리면 사자가 보이니까. 맥락이 모호함을 보완한다.
중복은 기능이다. 바람 소리에 절반이 묻혀도 의미가 전달되어야 한다. 그래서 자연어는 같은 뜻을 여러 방식으로 표현한다.
암시는 기능이다. “밥 먹었어?“가 안부 인사가 될 수 있는 이유는 공유된 문화적 맥락이 암시를 해독해주기 때문이다.
이 모든 특성은 인간 대 인간 통신에서는 장점이다. 빠르고, 유연하고, 맥락에 적응한다.
문제는 이것을 AI에게 쓰려고 할 때 발생한다.
AI에게 자연어란 무엇인가
현재의 LLM은 자연어로 입력받고, 자연어로 추론하고, 자연어로 출력한다.
이것은 마치 화학 실험을 하면서 모든 측정을 “좀 많이”, “약간”, “대충 이만큼"으로 기록하는 것과 같다.
“이순신은 위대했다.”
이 문장을 AI가 처리할 때 무슨 일이 일어나는가.
누가 위대하다고 했는가? 화자? 역사학계? 한국 사회? 어떤 기준으로 위대한가? 군사적? 도덕적? 역사적 영향? 언제 기준인가? 당대? 현재? 얼마나 확신하는가? 사실? 의견? 추측?
자연어에는 이 중 아무것도 명시되어 있지 않다. 전부 “맥락에서 알아서 파악하라"고 암시되어 있을 뿐이다.
인간은 이 암시를 해독하는 데 수만 년의 진화적 하드웨어를 가지고 있다. 표정, 어조, 공유된 경험, 문화적 배경. AI는 이것이 없다. 텍스트밖에 없다.
그래서 AI는 추측한다. 그리고 그 추측을 확신처럼 말한다. 우리는 이것을 “환각(Hallucination)“이라 부른다.
환각은 버그가 아니다. 자연어를 AI의 추론 언어로 사용하는 한 구조적으로 필연적인 결과다.
환각은 자연어의 모호성에서 태어난다
이 지점을 더 정확히 짚어보자.
LLM이 “이순신은 노량해전에서 전사했다"고 답변할 때, 이 문장의 근거는 무엇인가?
학습 데이터에서 이 문장과 유사한 패턴이 높은 확률로 등장했기 때문이다.
그러나 그 패턴이 어떤 출처에서 왔는지, 그 출처가 얼마나 신뢰할 수 있는지, 이 정보가 언제 기준인지, 상충하는 다른 서술이 있는지, 이런 것들은 자연어 출력에 구조적으로 담을 수 없다.
자연어에는 메타데이터를 위한 자리가 없다.
“이순신은 노량해전에서 전사했다"와 “이순신은 노량해전에서 전사했다고 조선왕조실록에 기록되어 있다"는 자연어에서는 길이만 다른 두 문장이다.
그러나 인식론적으로는 완전히 다른 종류의 진술이다. 하나는 사실 주장이고, 하나는 출처가 명시된 서술이다.
자연어는 이 차이를 구조적으로 구분하지 못한다. 그래서 AI도 구분하지 못한다. 그래서 환각이 발생한다.
프로그래밍 언어는 답이 아니다
“그러면 프로그래밍 언어를 쓰면 되지 않느냐?”
프로그래밍 언어는 모호하지 않다. 구조적이다. 정확하다. 하지만 프로그래밍 언어는 절차를 기술하는 언어이지 세계를 서술하는 언어가 아니다.
Python으로 “이순신은 위대했다"를 표현해 보라.
is_great("이순신") == True
이것은 서술이 아니라 불리언 판정이다. 누가 판정했는지, 어떤 근거로, 어떤 맥락에서, 얼마나 확신하는지. 프로그래밍 언어에는 이런 것을 담을 구조가 없다.
JSON, XML, RDF 같은 데이터 포맷도 마찬가지다. 구조는 있지만, 그 구조의 의미를 정의하는 통일된 체계가 없다. 모든 프로젝트가 자기만의 스키마를 만들고, 그 스키마들은 서로 호환되지 않는다.
자연어는 의미는 풍부하지만 구조가 없다. 프로그래밍 언어는 구조는 있지만 의미가 없다. 데이터 포맷은 구조도 의미도 있지만 통일되어 있지 않다.
필요한 것은 다른 종류의 언어다.
LLVM이 보여준 길
컴퓨터 과학에 정확한 선례가 있다.
1990년대, 프로그래밍 언어는 수십 종이 있었고 프로세서 아키텍처도 수십 종이 있었다. 모든 언어가 모든 아키텍처를 지원하려면 N × 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이 이 언어를 “학습"할 수 있어야 한다. 사람이 이해하기 쉬울 필요는 없다. 토큰화가 가능하고, 패턴이 규칙적이고, 고정된 구조를 따르는 것이 중요하다.
4. 그래프 표현력
세계는 테이블이 아니라 그래프다. 엔티티가 노드이고, 관계가 엣지다. 인공언어는 그래프를 자연스럽게 직렬화할 수 있어야 한다.
5. 사실과 서술의 분리
“이순신은 1598년에 죽었다"는 사실이 아니다. “조선왕조실록이 이순신은 1598년에 죽었다고 기록했다"가 1차 데이터다. 인공언어는 이 구분을 구조적으로 강제해야 한다.
6. 미래 확장성
지금 정의한 체계가 10년 후에도, 100년 후에도, 상상할 수 없는 미래에도 하위 호환을 유지하며 확장 가능해야 한다.
왜 기존의 시도들은 부족한가
이런 시도가 처음이 아니다.
에스페란토는 인간을 위한 인공언어였다. 구조적이지만, AI의 추론을 담기 위한 설계가 아니다. 의미의 정밀성보다 학습의 용이성을 우선했다.
OWL/RDF는 기계를 위한 의미 표현 체계였다. 논리적으로 엄밀하지만, LLM 이전 시대의 설계다. 자연어와의 변환이 어렵고, 표현이 장황하다. 그리고 치명적으로 느리다. 대규모 추론이 현실적이지 않다.
**지식 그래프(Wikidata, Freebase)**는 세계를 그래프로 표현했다. 하지만 “서술"이 아니라 “사실"을 저장한다. “이순신은 장군이다"를 트리플로 저장하지만, 누가 그렇게 주장했는지, 얼마나 확신하는지는 담지 않는다.
Chain-of-Thought는 LLM의 추론 과정을 자연어로 기록한다. 좋은 방향이지만, 기록의 매체가 자연어이므로 모호성 문제를 근본적으로 해결하지 못한다.
이 모든 시도는 각각 한두 가지 조건을 만족하지만, 여섯 가지를 동시에 만족하는 것은 없다.
GEUL: 여섯 조건의 교차점
GEUL은 이 여섯 조건의 교차점에 서 있다.
16비트 워드 기반 스트림 포맷. 모든 서술에 맥락, 출처, 확신도가 구조적으로 내장된다. 노드와 엣지 패킷으로 그래프를 직렬화한다. LLM의 토큰과 1:1로 매핑 가능한 고정 패턴을 따른다. 사실이 아니라 서술(Claim)을 1차 데이터로 다룬다. 전체 주소 공간의 50%를 미래에 예약한다.
GEUL은 사용자에게 보이지 않는다. 사용자는 자연어로 말하고, 자연어로 답을 받는다. 그 사이에서 GEUL이 추론을 구조화하고, 기록하고, 축적하고, 재사용 가능하게 만든다.
자연어의 시대는 끝나지 않는다
오해하지 말아야 할 것이 있다.
GEUL은 자연어를 대체하는 것이 아니다. 인간은 계속 자연어로 말하고, 쓰고, 생각할 것이다. 자연어는 인간의 언어로서 영원히 살아남을 것이다.
GEUL이 대체하는 것은 AI 내부에서 자연어가 맡고 있던 역할이다.
추론의 매개체. 지식의 저장 형식. 시스템 간 통신의 프로토콜.
이 역할에서 자연어는 이미 한계에 도달했다. 그 한계가 환각으로, 블랙박스로, 비효율로 드러나고 있다.
자연어는 인류를 여기까지 데려왔다. 그 공적은 영원하다. 하지만 다음 단계로 가려면 새로운 언어가 필요하다.
그것이 인공언어가 필요한 이유다.
요약
자연어의 모호함은 인간 통신에서는 기능이지만, AI 추론에서는 결함이다.
- 자연어에는 메타데이터를 위한 구조적 자리가 없다.
- 그래서 AI는 출처, 확신도, 맥락 없이 추론한다.
- 그래서 환각이 발생한다. 이것은 버그가 아니라 구조적 필연이다.
- 프로그래밍 언어는 절차를 기술하지, 세계를 서술하지 못한다.
- 기존의 의미 표현 체계는 각각 한두 조건만 충족한다.
- 여섯 조건을 동시에 만족하는 새로운 인공언어가 필요하다.
LLVM IR이 프로그래밍 언어와 하드웨어 사이의 보이지 않는 다리이듯, GEUL은 자연어와 AI 추론 사이의 보이지 않는 다리다.