Токены, контекст и галлюцинации: почему модель ошибается

Основы6 мин чтения

Когда модель ИИ ведёт себя странно, за этим обычно стоит одно из трёх явлений: лимит токенов, ограниченный контекст или галлюцинация.

Токен: единица, в которой считает модель

Модель читает не буквы и не целые слова, а токены, то есть фрагменты текста. Токен бывает целым словом, его частью или отдельным символом. В английском языке это примерно три четверти слова, а во многих других языках, в том числе в русском, токенов на слово получается больше. Лимиты длины и стоимость услуг обычно считаются именно в токенах.

Окно контекста: рабочая память

Модель видит только то, что помещается в её окно контекста: ваши запросы, предыдущие ответы и вставленные файлы. Когда разговор очень длинный, самые старые фрагменты могут отсекаться или терять значимость. Результат: модель «забывает» договорённости из начала, повторяет ошибки или меняет стиль кода.

Галлюцинация: уверенная неправда

Модель генерирует ответ, который звучит хорошо, даже если для него нет оснований. В программировании типичные примеры — это функция, которой нет в данной библиотеке, несуществующий параметр, выдуманный пакет или синтаксис из другой версии инструмента. Так происходит потому, что модель должна создавать правдоподобный текст, а не проверять факты.

Как защититься:

Почему хороший промпт помогает

Ясный контекст сокращает простор для догадок, а меньше догадок — меньше галлюцинаций. О том, как это делать, мы пишем в руководстве по написанию промптов для кода.

Практическое правило: чем важнее информация, тем меньше можно полагаться на память модели и тем больше нужно проверять её по источнику.