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

Путь вопроса от кнопки «Отправить» до ответа
Весь процесс обычно занимает секунды, но состоит из нескольких этапов:
- к вашему сообщению добавляются скрытые инструкции разработчика и вся предыдущая переписка;
- текст режется на токены, каждый получает свой номер;
- номера превращаются в наборы чисел и проходят через десятки слоев модели;
- на выходе модель оценивает вероятность каждого возможного следующего токена;
- из вероятных вариантов выбирается один и дописывается к тексту;
- шаги 3-5 повторяются, пока модель не выдаст специальный токен «конец ответа».
Разберем каждый этап подробнее.
Токены — кирпичики, из которых модель собирает текст
Языковая модель видит не буквы и не целые слова, а токены — фрагменты текста. Частое короткое слово может быть одним токеном, а редкое или длинное разбивается на несколько частей. Похоже на конструктор: из ограниченного набора деталей, обычно от нескольких десятков тысяч до пары сотен тысяч, можно собрать любое слово, даже никогда не встречавшееся.
Например, слово «перепрограммировать» модель может увидеть как «пере» + «программ» + «ировать». Знаки препинания, пробелы и цифры тоже становятся токенами. В английском тексте токен в среднем соответствует примерно трем-четырем буквам. Русский текст у многих моделей дробится мельче, поэтому одна и та же мысль на русском часто «весит» больше токенов, чем на английском.
Токены важны и для пользователя. Платные сервисы считают объем работы именно в них, а ограничения на длину сообщения тоже указываются в токенах.
Контекстное окно — рабочий стол модели
Контекстное окно — это максимальный объем текста, который модель может учитывать одновременно: вопрос, всю историю диалога, приложенные документы и сам пишущийся ответ. Его удобно представлять как рабочий стол. Все, что лежит на столе, модель видит целиком. Все, что не поместилось, для нее не существует.
У первых чат-ботов окно вмещало несколько тысяч токенов — это примерно десяток страниц. У современных моделей оно выросло до сотен тысяч токенов, а у некоторых до миллиона и больше: туда помещаются целые книги или большие наборы документов.
Почему модель «забывает» начало разговора
Сама модель между сообщениями ничего не хранит. Каждый раз сервис заново подает ей всю переписку. Если диалог слишком длинный, старые сообщения приходится обрезать или пересказывать кратко, и детали из начала теряются. Кроме того, даже внутри окна модель обращает внимание на разные части текста неравномерно: информация из середины очень длинного документа иногда учитывается хуже, чем из начала и конца.
А как же память между чатами
В некоторых сервисах есть функция памяти. Устроена она просто: сервис записывает важные сведения о вас отдельно и подкладывает их в контекст нового разговора. Сама нейросеть при этом не меняется и не переучивается на ваших сообщениях в момент общения.
Предсказание следующего токена
Главная операция языковой модели — ответ на вопрос «что дальше?». Получив текст, модель выдает список всех токенов словаря с вероятностями. Допустим, ответ начинается словами «Столица Франции —». Модель может оценить вариант «Париж» в 97%, «город» в 1%, а остальные в доли процента.
Выбрав токен, модель добавляет его к тексту и снова спрашивает себя «что дальше?», уже с учетом нового кусочка. Поэтому ответ в чате появляется постепенно, слово за словом: это не эффект для красоты, модель действительно пишет его по частям.
У такого способа есть важное следствие. Модель похожа на рассказчика, который импровизирует вслух: сказанное слово назад не вернешь. Если в начале ответа выбран неудачный поворот, модель продолжит его логично и складно, даже когда поворот ведет в тупик. Поэтому полезно просить модель сначала рассуждать по шагам, а потом делать вывод: промежуточные шаги ложатся в контекст и помогают следующим токенам.
Модели, которые «думают» перед ответом
Часть современных моделей умеет режим рассуждения: прежде чем отвечать, они пишут длинную цепочку промежуточных размышлений, иногда скрытую от пользователя, проверяют варианты и только затем формулируют ответ. Это занимает больше времени, но повышает точность в математике, программировании и логических задачах.
Температура и почему ответы каждый раз разные
Если всегда брать самый вероятный токен, текст получается предсказуемым и нередко скучным, а иногда модель начинает ходить по кругу и повторять одни и те же фразы. Поэтому следующий токен обычно выбирают случайно, но с учетом вероятностей: вариант с вероятностью 60% выпадет чаще, чем с 10%, но и второй иногда выпадет.
Насколько смело модель рискует, задает параметр «температура». Представьте повара, который солит блюдо:
- низкая температура — повар строго по рецепту, вкус каждый раз одинаковый; модель почти всегда берет самые вероятные слова, ответы стабильные и сухие;
- средняя температура — повар немного импровизирует; текст живой, но осмысленный;
- высокая температура — повар сыплет специи наугад; появляются неожиданные образы, но растет риск бессмыслицы.
Для технических задач, извлечения данных и кода обычно выбирают низкую температуру. Для стихов, идей и названий — повыше. В обычных чат-ботах этот параметр подобран разработчиком, а в инструментах для программистов его можно менять вручную.
Отсюда ответ на частый вопрос, почему на одинаковый вопрос нейросеть отвечает по-разному. Каждый ответ — это одна из многих возможных цепочек случайных выборов. Достаточно на третьем слове выпасть другому варианту, и дальше текст пойдет своей дорогой. Кроме того, ответ зависит от всей предыдущей переписки и скрытых инструкций, которые тоже могут отличаться.
Системные инструкции — невидимая часть разговора
Перед вашим первым сообщением модель уже получила текст, которого вы не видите. Это системная инструкция, или системный промпт: в нем разработчик сервиса описывает роль и правила. Например: «Ты помощник интернет-магазина бытовой техники, отвечай вежливо, не обсуждай конкурентов, при вопросах о возврате предлагай связаться с оператором».
Это похоже на инструктаж нового сотрудника колл-центра перед сменой. Модель одна и та же, но в одном сервисе она ведет себя как строгий юридический консультант, в другом — как дружелюбный репетитор, в третьем — как помощник программиста. Пользователь тоже может задавать свои постоянные инструкции в настройках многих чат-ботов: например, «отвечай коротко и без списков».
Системная инструкция обычно ставит и ограничения: от каких тем отказываться, как оформлять ответ, когда признавать неуверенность. Именно поэтому один и тот же вопрос в разных чат-ботах на одной модели может получить ответы разного стиля и длины.
Когда модель пользуется инструментами
Сама по себе модель знает только то, что выучила при обучении. Чтобы ответить про сегодняшнюю погоду, курс валют или свежие новости, ей нужны инструменты. Современные сервисы позволяют модели вместо обычного текста выдать особую команду: «найди в интернете...», «посчитай...», «выполни этот код». Сервис выполняет команду, подкладывает результат в контекст, и модель продолжает ответ уже с этими данными. Для пользователя это выглядит как «нейросеть поискала в интернете».
Что еще спрашивают о том, как чат-бот формирует ответ
Нейросеть ищет ответ в интернете каждый раз?
Нет. Без подключенного поиска модель отвечает только по тому, что усвоила при обучении. Если поиск подключен, сервис обычно показывает, какие страницы были использованы.
Почему ответ обрывается на полуслове?
Чаще всего сработало ограничение на длину ответа в токенах. Обычно достаточно написать «продолжай», и модель допишет текст с того места, где остановилась.
Помогает ли вежливость получить ответ лучше?
Сильнее влияет ясность. Модель лучше отвечает, когда в вопросе указаны контекст, цель и желаемый формат: «объясни школьнику 8 класса», «дай три варианта», «уложись в абзац». Вежливый тон при этом делает ответ похожим на вежливую переписку, ведь модель училась на человеческих текстах.