Естественный язык привёл человечество сюда. Но дальше он бессилен.
Естественный язык: великое изобретение
Величайшая технология, созданная человеком, – это естественный язык.
Не открытие огня, не изобретение колеса, не изобретение полупроводника. Всё это стало возможным именно благодаря естественному языку.
Благодаря естественному языку знания могли передаваться. Благодаря естественному языку стала возможной кооперация. Благодаря естественному языку живые могли наследовать мысли мёртвых.
Homo sapiens покорил Землю не мускулами, а языком. Десятки тысяч лет естественный язык был средой всей интеллектуальной деятельности человечества.
А теперь естественный язык стал узким местом эпохи ИИ.
Зачем возник естественный язык?
Чтобы понять эту проблему, нужно вернуться к изначальному назначению естественного языка.
Естественный язык эволюционировал для коммуникации в реальном времени между людьми.
Когда первобытные люди охотились в саванне, для передачи сообщения «Там лев!» требовалась не точная логическая структура, а скорость передачи.
Именно это эволюционное давление определило все свойства естественного языка.
Неоднозначность – это функция. Не важно, сколько точно метров означает «там». Когда слушающий повернёт голову, он увидит льва. Контекст компенсирует неоднозначность.
Избыточность – это функция. Смысл должен быть передан, даже если ветер поглотит половину слов. Поэтому естественный язык выражает одно и то же значение множеством способов.
Подтекст – это функция. «Ты уже обедал?» в русском может быть просто дружеским приветствием, потому что общий культурный контекст декодирует подтекст.
Все эти свойства – преимущества в общении между людьми. Быстро, гибко, адаптируется к контексту.
Проблема возникает, когда мы пытаемся использовать это для ИИ.
Что естественный язык означает для ИИ?
Современные LLM принимают естественный язык, рассуждают на естественном языке и выдают естественный язык.
Это всё равно что проводить химический эксперимент, записывая все измерения как «довольно много», «немножко», «примерно столько».
«Суворов был великим.»
Что происходит, когда ИИ обрабатывает это предложение?
Кто сказал, что он великий? Говорящий? Историки? Российское общество? По какому критерию великий? Военному? Нравственному? По историческому влиянию? В какую эпоху? В его время? Сейчас? С какой степенью уверенности? Факт? Мнение? Догадка?
Естественный язык не уточняет ничего из этого. Всё подразумевается: «пойми из контекста».
У человека есть эволюционное оснащение, формировавшееся десятки тысяч лет, для декодирования этих подтекстов. Мимика, интонация, общий опыт, культурный багаж. У ИИ этого нет. У него есть только текст.
Поэтому ИИ угадывает. И преподносит свои догадки как установленный факт. Мы называем это «галлюцинацией (Hallucination)».
Галлюцинация – не баг. Пока естественный язык используется как язык рассуждений ИИ, это структурно неизбежный результат.
Галлюцинация рождается из неоднозначности естественного языка
Рассмотрим этот момент точнее.
Когда LLM отвечает «Суворов не проиграл ни одного сражения», какова основа этого утверждения?
В обучающих данных паттерны, похожие на это предложение, встречались с высокой частотой.
Но из какого источника пришли эти паттерны, насколько надёжен этот источник, какова временная привязка этой информации, есть ли противоречащие описания – всё это структурно невозможно вместить в вывод на естественном языке.
В естественном языке нет места для метаданных.
«Суворов не проиграл ни одного сражения» и «По записям военных историков, Суворов не проиграл ни одного сражения» – на естественном языке это просто два предложения разной длины.
Но эпистемологически это совершенно разные типы высказываний. Одно – фактическое утверждение, другое – описание с указанием источника.
Естественный язык не различает эту разницу структурно. Поэтому ИИ тоже не различает. Поэтому возникают галлюцинации.
Языки программирования – не ответ
«Тогда почему бы не использовать язык программирования?»
Языки программирования не неоднозначны. Структурны. Точны. Но языки программирования – это языки для описания процедур, а не языки для описания мира.
Попробуйте выразить «Суворов был великим» на 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 – это LLVM IR для ИИ.
Все естественные языки транслируются в GEUL. GEUL хранится в WMS, используется для рассуждений и снова транслируется в естественный язык. Пользователь не видит GEUL. Спрашивает на естественном языке и получает ответ на естественном языке. GEUL работает за кулисами.
Условия, которым должен удовлетворять искусственный язык
Чтобы преодолеть пределы естественного языка, не утратив его выразительности, искусственный язык должен одновременно удовлетворять следующим условиям:
1. Устранение неоднозначности
При вводе «Суворов был великим» должно быть структурно указано «кто, в каком контексте, на каком основании, с какой степенью уверенности это описал». Если поле пустое, оно помечается как пустое. Никакой зависимости от подтекста.
2. Встроенные метаданные
Каждое описание должно включать источник, момент времени, степень достоверности и точку зрения (POV) не как отдельную аннотацию, а как часть самой структуры описания. Без этого прозрачный (White-box) ИИ невозможен.
3. Совместимость с LLM
LLM должен быть способен «обучиться» этому языку. Он не обязан быть понятен человеку. Важно, чтобы он допускал токенизацию, имел регулярные паттерны и следовал фиксированной структуре.
4. Выразительность графов
Мир – это граф, а не таблица. Сущности – узлы, отношения – рёбра. Искусственный язык должен естественно сериализовать графы.
5. Разделение факта и описания
«Суворов умер в 1800 году» – это не факт сам по себе. «Исторические записи свидетельствуют, что Суворов умер в 1800 году» – вот первичные данные. Искусственный язык должен структурно принуждать к этому разграничению.
6. Расширяемость в будущем
Система, определённая сегодня, должна оставаться расширяемой с сохранением обратной совместимости через 10 лет, через 100 лет и в невообразимом будущем.
Почему прежние попытки недостаточны?
Это не первая попытка.
Эсперанто был искусственным языком для людей. Структурным, но не предназначенным для рассуждений ИИ. Приоритетом была лёгкость изучения, а не семантическая точность.
OWL/RDF был системой семантического представления для машин. Логически строгим, но спроектированным в до-LLM-эпоху. Трудно конвертируемым из естественного языка и в него, многословным в выражении. И фатально медленным. Рассуждения в большом масштабе нереалистичны.
Графы знаний (Wikidata, Freebase) представляли мир как граф. Но хранили «факты», а не «описания». Хранили «Суворов – полководец» как тройку, но не содержали информации о том, кто это утверждал и с какой степенью уверенности.
Chain-of-Thought записывает процесс рассуждения LLM на естественном языке. Верное направление, но поскольку средство записи – естественный язык, проблема неоднозначности не решается в корне.
Каждая из этих попыток удовлетворяет одному-двум условиям, но ни одна не удовлетворяет шести одновременно.
GEUL: точка пересечения шести условий
GEUL стоит на пересечении этих шести условий.
Потоковый формат на основе 16-битных слов. Каждое описание структурно включает контекст, источник и степень уверенности. Сериализует графы через пакеты узлов и рёбер. Следует фиксированным паттернам, отображаемым 1:1 на токены LLM. Обрабатывает описания (Claims), а не факты, как первичные данные. Резервирует 50% всего адресного пространства для будущего.
GEUL невидим для пользователя. Пользователь говорит на естественном языке и получает ответ на естественном языке. Между ними GEUL структурирует рассуждение, записывает, накапливает и делает пригодным для повторного использования.
Эпоха естественного языка не закончится
Есть вещь, которую не следует понимать неверно.
GEUL не заменяет естественный язык. Люди продолжат говорить, писать и думать на естественном языке. Естественный язык будет жить вечно как язык человека.
GEUL заменяет ту роль, которую естественный язык исполнял внутри ИИ.
Среда рассуждений. Формат хранения знаний. Протокол межсистемной коммуникации.
В этой роли естественный язык уже достиг предела. Этот предел проявляется как галлюцинации, чёрный ящик и неэффективность.
Естественный язык привёл человечество сюда. Эта заслуга вечна. Но для перехода на следующий этап нужен новый язык.
Вот почему необходим искусственный язык.
Резюме
Неоднозначность естественного языка – функция в человеческом общении, но порок в рассуждениях ИИ.
- В естественном языке нет структурного места для метаданных.
- Поэтому ИИ рассуждает без источника, без степени достоверности, без контекста.
- Поэтому возникают галлюцинации. Это не баг, а структурная неизбежность.
- Языки программирования описывают процедуры, а не мир.
- Существующие системы семантического представления удовлетворяют лишь одному-двум условиям.
- Нужен новый искусственный язык, удовлетворяющий шести условиям одновременно.
Как LLVM IR – невидимый мост между языками программирования и аппаратурой, так GEUL – невидимый мост между естественным языком и рассуждениями ИИ.