Перейти к содержанию
Публикация AiManual

Токены, галлюцинации, контекстное окно, температура и RAG: пять терминов ИИ, которые стоит понимать по-настоящему

Разбираем пять терминов, которые определяют поведение LLM: токены и почему русский текст стоит в 2-4 раза дороже, природу галлюцинаций, контекстное окно, темпер

Коротко

Что будет в материале

  1. 01

    Зачем вообще разбираться в этих пяти терминах

  2. 02

    Токены в языковых моделях: почему модель читает не слова

  3. 03

    Галлюцинации языковых моделей: почему ИИ уверенно выдумывает

  4. 04

    Контекстное окно модели: сколько ИИ удерживает в памяти

Зачем вообще разбираться в этих пяти терминах

Пять терминов описывают одну цепочку: как модель превращает текст в токены, сколько токенов удерживает одновременно, как выбирает следующий и почему без внешней опоры на документы начинает уверенно выдумывать. Понимание этой цепочки даёт предсказуемость: видно, где закончится контекст, почему счёт за API вырос втрое и почему ответ звучит убедительно, хотя он неверен.

  • Токены задают единицу измерения: длину запроса, лимиты, стоимость.
  • Галлюцинации объясняют, почему аккуратный ответ всё равно требует проверки.
  • Контекстное окно показывает, в какой момент ИИ начнёт «забывать» начало разговора.
  • Температура отвечает за разброс ответов на один и тот же запрос.
  • RAG подключает к модели внешние документы, когда встроенных знаний не хватает.

Академической теории здесь нет. Эти понятия всплывают в интерфейсе чат-бота, в документации API, в настройках локальной сборки, где temperature вынесена отдельным ползунком, и в счёте за токены, который приходит в конце месяца. Каждое из пяти влияет на то, что вы получите на выходе: объём контекста, стабильность формулировок, цену запроса и долю правды в ответе.

Главный тезис статьи: языковая модель предсказывает следующий токен по вероятностям, а не ищет факты в базе данных. Всё остальное, от галлюцинаций до пользы RAG, выводится из этого принципа.

Токены в языковых моделях: почему модель читает не слова

Токен это фрагмент текста, с которым работает модель: целое слово, обрывок слова или знак препинания. Буквы и слова в человеческом смысле модель не видит, на вход ей подаётся последовательность числовых идентификаторов токенов из своего словаря.

Пример из разбора пяти терминов ИИ: фраза «I love pizza» распадается на три токена, «I», «love», «pizza». Редкое слово, длинный химический термин или нестандартное имя разбиваются на несколько кусков, и каждый кусок считается отдельно. Модель собирает текст из таких деталей, как из конструктора.

Дальше начинается арифметика. Чем больше токенов на входе, тем больше работы у модели; чем больше токенов на выходе, тем дороже обходится запрос. Цены в API указывают за тысячу токенов, поэтому длинный системный промпт, приложенный файл и развёрнутый ответ складываются в реальные деньги. ChatGPT, Claude и Gemini считают токены незаметно для пользователя, а в API и в локальных сборках счётчик виден в метриках использования.

Почему для русского языка токенов в 2-4 раза больше

Базовые словари моделей собирают в основном на английских текстах, и для кириллицы в словаре выделено гораздо меньше места. Русские слова чаще режутся на части, поэтому одно и то же по смыслу сообщение на русском даёт в 2-4 раза больше токенов, чем на английском. Разница не в длине фразы, а в том, насколько уверенно токенизатор узнаёт слово целиком.

Отсюда два следствия. Первое: запросы через API на русском стоят дороже при том же объёме текста. Второе: русский документ быстрее съедает контекстное окно, поэтому лимит «N токенов» вмещает меньше русского текста, чем английского. При планировании бюджета и лимитов нужен запас: 100 тысяч токенов и 100 тысяч слов - разные величины, и на кириллице расхождение заметнее.

Проверить это на своём материале просто: возьмите типичный рабочий запрос, посмотрите счётчик токенов в интерфейсе или ответе API, затем прогоните тот же смысл на английском. Разница обычно видна сразу и объясняет, почему русскоязычные промпты упираются в лимиты раньше, чем ожидалось.

Галлюцинации языковых моделей: почему ИИ уверенно выдумывает

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

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

Опаснее всего формат. Списки, подзаголовки, аккуратные числа и даты создают ощущение выверенного источника, хотя цифры могут быть придуманы целиком. Чем убедительнее оформление, тем сильнее хочется принять ответ без проверки.

Как снижать галлюцинации на практике

  • Просить источники и открывать их, а не верить на слово названию статьи.
  • Давать модели материалы под задачу: цитаты, выдержки, фрагменты документов.
  • Для фактических вопросов строить RAG-пайплайн по актуальным документам вместо расчёта на память модели.
  • Снижать температуру там, где нужна точность формулировок.
  • Проверять критичные числа, даты, имена и ссылки вручную.

Эти меры уменьшают частоту ошибок, но не устраняют их. Подключение документов тоже не панацея. Граундинг, то есть привязка ответа к входным данным, работает по той же логике: чем точнее и полнее материалы в промпте, тем меньше пространства для выдумки, но гарантий ноль.

Контекстное окно модели: сколько ИИ удерживает в памяти

Контекстное окно это объём токенов, который модель удерживает одновременно: системный промпт, история диалога, приложенные документы, будущий ответ. У старых версий моделей окно было около 4 000 токенов, у новых превышает миллион, о чём говорится в том же обзоре терминов.

Когда диалог заполняет окно, самые старые токены удаляются, и ИИ «забывает» начало разговора. Картина знакомая: ассистент уверенно держит инструкции из первых сообщений, а через сотню реплик переспрашивает то, что вы уже уточняли. Аналогия с ОЗУ точная: память закончилась, лишнее вытесняется, и приложение начинает подтормаживать.

Заявленный лимит и качество работы с ним - разные вещи. Чем длиннее контекст, тем сильнее результат зависит от структуры промпта: ключевые требования лучше дублировать в начале и в конце, а историю диалога периодически сжимать в короткое резюме. Для длинных документов работают разбиение на части, суммаризация по разделам и подгрузка нужных фрагментов через RAG вместо попытки засунуть весь корпус в одно окно.

Связь с русским языком прямая: из-за большего числа токенов на тот же текст кириллица заполняет окно быстрее. Документ, который на английском занимает половину лимита, на русском может упереться в границу.

Температура LLM: точность против креативности

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

ЗадачаОриентирЧто меняется
Извлечение данных, ответы по документам, код0-0.3Выбирается наиболее вероятный вариант, ответ стабильнее
Обычный диалог и объяснения0.4-0.7Баланс между предсказуемостью и живым языком
Брейншторм, заголовки, черновики0.8-1.0 и вышеЧаще берутся редкие токены, растёт разнообразие

Диапазоны условны. Шкала и поведение зависят от модели и платформы, а часть провайдеров ограничивает верхний предел. Для удачных находок в креативных задачах «температура»... нет, «температура» здесь не нужна: практика простая - генерировать на высокой температуре, а финальный вариант переписывать на низкой, чтобы убрать случайные формулировки.

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

RAG простыми словами: как подключить к модели внешние знания

RAG (Retrieval-Augmented Generation) это схема, в которой модель отвечает с опорой на найденные фрагменты документов. Пайплайн состоит из пяти шагов.

  1. Документы режут на фрагменты с учётом структуры: заголовки, таблицы, пункты списков.
  2. Каждый фрагмент превращают в эмбеддинг и сохраняют в векторной базе.
  3. Запрос пользователя тоже превращают в эмбеддинг и ищут ближайшие фрагменты.
  4. Найденные фрагменты вместе с вопросом отправляют в модель.
  5. Модель генерирует ответ по этому контексту и по возможности ссылается на источник.

Смысл в закрытых данных: регламенты, внутренняя документация, тикеты поддержки, свежие версии продуктов. Модель на них не обучалась, а в контекст они попадают в момент запроса. Снижение галлюцинаций при этом не автоматическое: если поиск принёс не тот фрагмент, ответ будет таким же уверенным и таким же неверным. Рабочая сборка с эмбеддингами, чанкингом, гибридным поиском и реранкингом разобрана в пошаговом гайде по RAG для базы знаний.

Ограничения лежат в четырёх местах: разбиение на фрагменты, модель эмбеддингов, полнота базы и формулировка запроса. Найденные чанки занимают место в контекстном окне: десять фрагментов по 500 токенов это уже 5 000 токенов, а вместе с историей диалога окно заполняется быстрее, чем кажется.

Векторная база для RAG: зачем она нужна

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

Качество поиска зависит от модели эмбеддингов и от нарезки: слишком крупные фрагменты размывают смысл, слишком мелкие теряют контекст. Где именно ломается пайплайн и как ошибки парсинга и поиска превращаются в галлюцинации, разобрано в материале о четырёх этапах RAG.

Как эти пять терминов связаны между собой

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

Цепочка даёт рабочий алгоритм диагностики. Ответ неверен: проверьте, был ли нужный фрагмент в контексте (RAG и размер окна), как модель выбирала токены (температура), не выдумала ли она факт вместо найденного (галлюцинация). Такой разбор быстрее, чем переписывать промпт наугад. Соседние понятия, включая inference, fine-tuning и token throughput, собраны в глоссарии AI-терминов.

Практические выводы: где ИИ можно доверять, а где нет

  • Факты, даты, цены, имена. Низкая температура, RAG по актуальным документам, ручная сверка с первоисточником. Уверенный ответ без ссылки считается черновиком.
  • Длинные документы. Считать токены, а не страницы. Для русского текста держать запас по лимиту контекстного окна.
  • API-бюджет. Оценивать стоимость по токенам на реальных запросах, помня про коэффициент для кириллицы.
  • Креативные задачи. Повышать температуру и не ждать воспроизводимости: два прогона дадут разные тексты.
  • Код и извлечение данных. Температура около нуля, тесты и валидация схемы на выходе.

Правило, которое экономит время и деньги: уверенный тон не равен правильному ответу. Там, где ошибка стоит денег, репутации или безопасности, нужна проверка по первоисточнику, а не второй прогон того же запроса.

Начать можно с измеримого шага. Возьмите свой типичный русский запрос, посмотрите, сколько в нём токенов, и сравните с лимитом модели, которой пользуетесь. Сокращение системного промпта вдвое даёт вдвое больше места под документы при том же окне, а это уже влияет на качество ответа сильнее, чем смена формулировки вопроса.

Подписаться на канал