Что такое LLM: токены, контекстное окно и генерация текста · 12 мин
🎯 Цель урока

Понять внутреннее устройство больших языковых моделей на уровне, достаточном для осознанного использования AI-инструментов в QA-практике — без погружения в математику машинного обучения.

Контекст

Большая языковая модель (LLM — Large Language Model) — это нейронная сеть, обученная предсказывать следующий токен в последовательности. Токен — это не слово, а фрагмент текста: примерно 3–4 символа в среднем по английскому и 2–3 символа по русскому. Понимание этой механики помогает QA-инженеру предсказывать, где модель сделает ошибку, и составлять запросы, которые дают стабильно полезный результат.

  • Токенизация разбивает текст на куски, а не на слова: слово «тестирование» — это 2–3 токена, а не один.
  • Контекстное окно — это максимальный объём текста, который модель «видит» одновременно при ответе; за его пределами информация недоступна.
  • Генерация идёт пошагово: модель выбирает следующий токен на основе вероятностей, вычисленных по всему предыдущему тексту в окне.
  • Параметр temperature управляет «случайностью» выбора: низкое значение (0–0.2) даёт воспроизводимые, предсказуемые ответы; высокое (0.8–1.0) — разнообразные, но менее стабильные.
  • Модель не хранит «память» между разными сессиями: каждый новый диалог начинается с чистого контекстного окна.

Рабочий алгоритм

Используйте следующий алгоритм, чтобы осознанно настроить LLM-инструмент под конкретную QA-задачу:

  • Определите размер задачи относительно контекстного окна: если спецификация занимает 50 страниц, вставить её целиком не получится — нужно разбить на части.
  • Установите temperature близко к нулю (0.0–0.2), если вам нужен воспроизводимый результат — одинаковые тест-кейсы при повторном запуске.
  • Повышайте temperature (0.5–0.8), когда нужно сгенерировать разнообразные варианты негативных сценариев или тестовые данные с вариативностью.
  • Проверяйте длину вашего промпта плюс ожидаемого ответа — суммарный объём не должен превышать контекстное окно модели.
  • Помните: модель не обращается к базе данных или интернету в реальном времени, если это явно не встроено в платформу — она отвечает на основе обучающих данных.

Пример из практики

QA-инженер получил задание сгенерировать граничные тест-кейсы для поля ввода суммы платежа. Он открыл ChatGPT, вставил в промпт полное требование на 800 слов и попросил «написать тест-кейсы». Модель ответила обобщённым списком без привязки к конкретным значениям. Инженер пересмотрел подход: установил temperature=0.1 для воспроизводимости, сократил контекст до ключевых бизнес-правил (минимум — 1 ₽, максимум — 999 999 ₽, два знака после запятой), указал формат вывода. Итог — структурированная таблица из 12 тест-кейсов с конкретными значениями, которую нужно было лишь проверить и дополнить, а не переписывать с нуля. Экономия времени на первичной генерации составила около 20 минут.

Частые ошибки

QA-инженеры, впервые работающие с LLM, чаще всего допускают следующие ошибки:

  • Считают, что модель «понимает» текст в том же смысле, что человек — на самом деле она работает со статистическими паттернами токенов.
  • Вставляют слишком длинный контекст и удивляются, что модель игнорирует информацию из середины — это известный эффект потери внимания в длинных окнах.
  • Ожидают одинаковых ответов без фиксации temperature — при высокой temperature каждый запуск даёт разный результат.
  • Полагают, что модель «помнит» предыдущие диалоги из других сессий и можно сослаться на старый контекст.
  • Используют одно и то же значение temperature для задач создания тестовых данных и задач формирования воспроизводимых чек-листов.

Самопроверка

1Почему при одинаковом промпте LLM может давать разные ответы при разных запусках?
Потому что генерация каждого токена — вероятностный процесс. Параметр temperature управляет степенью «случайности» выбора: при temperature > 0 модель выбирает из нескольких наиболее вероятных вариантов, что приводит к вариативности результатов.