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

Когда модель ИИ ведёт себя странно, за этим обычно стоит одно из трёх явлений: лимит токенов, ограниченный контекст или галлюцинация.
Токен: единица, в которой считает модель
Модель читает не буквы и не целые слова, а токены, то есть фрагменты текста. Токен бывает целым словом, его частью или отдельным символом. В английском языке это примерно три четверти слова, а во многих других языках, в том числе в русском, токенов на слово получается больше. Лимиты длины и стоимость услуг обычно считаются именно в токенах.
Окно контекста: рабочая память
Модель видит только то, что помещается в её окно контекста: ваши запросы, предыдущие ответы и вставленные файлы. Когда разговор очень длинный, самые старые фрагменты могут отсекаться или терять значимость. Результат: модель «забывает» договорённости из начала, повторяет ошибки или меняет стиль кода.
- Начинайте новый разговор при новой задаче.
- Напоминайте о самых важных ограничениях.
- Вставляйте только те фрагменты кода, которые нужны.
- При долгой работе попросите краткое резюме договорённостей и начните с него новый разговор.
Галлюцинация: уверенная неправда
Модель генерирует ответ, который звучит хорошо, даже если для него нет оснований. В программировании типичные примеры — это функция, которой нет в данной библиотеке, несуществующий параметр, выдуманный пакет или синтаксис из другой версии инструмента. Так происходит потому, что модель должна создавать правдоподобный текст, а не проверять факты.
Как защититься:
- запускайте код, а не верьте на слово,
- проверяйте названия функций и библиотек в официальной документации,
- попросите модель указать допущения, на которых основан ответ,
- для важных выводов спросите ещё раз в новом разговоре или в другом инструменте.
Почему хороший промпт помогает
Ясный контекст сокращает простор для догадок, а меньше догадок — меньше галлюцинаций. О том, как это делать, мы пишем в руководстве по написанию промптов для кода.


