AI · 6 мин чтения

Текстовая нейросеть: как устроена и почему выдаёт то, что выдаёт

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

Из чего состоит текстовая нейросеть: токены, эмбеддинги, трансформер

Любая современная генеративная модель, будь то GPT, Claude или открытая Llama, работает с текстом не как с буквами, а как с токенами - кусками слов длиной от одного символа до целого слова. Фраза «программирование на Python» превращается в 4-6 токенов, а не в 24 буквы. Каждый токен модель переводит в вектор чисел - эмбеддинг, который описывает его смысл через положение в многомерном пространстве. Слова, близкие по смыслу («кот» и «кошка»), получают похожие векторы, а «кот» и «трактор» - далёкие друг от друга.

Дальше в дело вступает трансформер - архитектура, на которой построены почти все языковые модели с 2018 года. Механизм внимания (attention) в трансформере определяет, какие токены в предложении важны друг для друга при вычислении следующего слова. Именно за счёт attention модель «понимает», что в фразе «врач посмотрел результаты анализов и назначил лечение» слово «назначил» связано с «врач», а не с «анализов». У крупных моделей таких слоёв внимания десятки, а параметров (весов, которые настраиваются при обучении) - от нескольких миллиардов до сотен миллиардов.

Как обучают языковую модель: от претрейна до RLHF

Обучение проходит в несколько этапов, и от каждого зависит, как модель ведёт себя в диалоге.

  • Претрейн. Модель миллионы раз решает одну задачу - предсказать следующий токен по предыдущим - на терабайтах текста: книги, статьи, код, форумы. На этом этапе она не учится «отвечать на вопросы», она учится статистике языка и фактам, которые попались в обучающей выборке достаточно часто.
  • Supervised fine-tuning. Модель дообучают на размеченных парах «вопрос - хороший ответ», чтобы она начала вести себя как ассистент, а не просто продолжала текст.
  • RLHF или RLAIF. Люди (или другая модель-судья) оценивают несколько вариантов ответа, и модель обучается выдавать те формулировки, которые оценщики предпочли: более вежливые, структурированные, без токсичности.

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

Почему текстовая нейросеть придумывает факты

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

Я сталкивался с этим у клиента, который подключил чат-бота на сайт без базы знаний: на вопрос про наличие конкретной модели товара и её цену бот уверенно называл несуществующий артикул и цифру, близкую к реальной, но неверную. Проблема не в том, что модель «плохая» - у неё просто не было источника достоверных данных, и она заполнила пробел статистически правдоподобным текстом.

Единственный рабочий способ снизить долю выдумок - подключить модель к реальным данным через RAG (retrieval-augmented generation): перед ответом система находит релевантные фрагменты из базы знаний или каталога и передаёт их модели как контекст, вместо того чтобы полагаться на то, что она «помнит» из обучения.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Температура, top‑p и другие параметры генерации

При каждом обращении к модели можно управлять тем, насколько предсказуемым или разнообразным будет ответ.

Параметр Что делает Когда ставить
temperature Регулирует случайность выбора следующего токена Низкая (0-0.3) - для бота техподдержки и расчётов; высокая (0.7-1) - для текстов и креатива
top_p Ограничивает выбор токенов узкой группой самых вероятных Снижают вместе с температурой, если ответ уходит от темы
max_tokens Жёсткий лимит длины ответа Ограничивают, чтобы не платить за лишние токены и не обрезать ответ на середине мысли

При temperature 0 модель почти детерминирована и на одинаковый запрос выдаёт почти одинаковый ответ. При значении 0.9-1 та же модель на тот же вопрос каждый раз формулирует ответ по-разному, а иногда уходит в сторону от факта в пользу более гладкого по стилю текста. Для бота, который считает стоимость доставки или отвечает по прайсу, я всегда выставляю низкую температуру: тут важна повторяемость, а не разнообразие формулировок.

Контекстное окно: что модель помнит, а что теряет

Контекстное окно - это объём текста (в токенах), который модель видит одновременно: системный промпт, историю переписки, найденные RAG-фрагменты и сам вопрос. Как только диалог выходит за этот лимит, самые старые сообщения выпадают из «поля зрения» модели - она не забывает их психологически, они физически не помещаются в запрос.

Модель Контекстное окно
Claude (Opus/Sonnet) до 1 000 000 токенов
GPT‑4 Turbo 128 000 токенов
Открытые модели (Llama, Mistral) 8 000-128 000 токенов в зависимости от версии

На практике для aiogram-бота с историей диалога это означает, что бесконечно копить переписку нельзя: рано или поздно старые сообщения придётся либо суммировать в короткую выжимку, либо обрезать. Я обычно храню последние 10-15 сообщений целиком плюс краткое summary более старой истории - так бот не превращается в дорогой калькулятор токенов и не теряет контекст текущего диалога.

Как текстовые нейросети встраиваются в рабочие процессы

На проектах я использую генеративные модели не как самостоятельный источник истины, а как компонент внутри понятного пайплайна.

  • Чат-бот с базой знаний (RAG) для сайта или Telegram - отвечает по документам компании, а не по общим знаниям модели из интернета, поэтому ошибки в ценах и характеристиках товаров сведены к минимуму.
  • Автоматизация в n8n - сценарий получает текст (заявку, отзыв, письмо), прогоняет его через модель для классификации или суммаризации и передаёт результат в CRM без ручной разметки.
  • Telegram-бот на aiogram с подключённым Claude API - обрабатывает обращения клиентов, а сложные случаи эскалирует на менеджера, вместо того чтобы модель гадала.

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

Если нужен не проект с нуля, а быстрый старт, в библиотеке готовых скриптов уже есть настроенный ИИ-чатбот на Claude, который можно адаптировать под свою базу знаний без разработки с нуля.

Частые вопросы

Чем текстовая нейросеть отличается от базы данных или поисковика?

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

Можно ли полностью убрать галлюцинации у языковой модели?

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

Сколько стоит подключить текстовую нейросеть к сайту или боту?

AI-интеграция с Claude API или OpenAI и настройкой RAG под задачу - от 50 000 ₽. Telegram-бот с подключённой моделью - от 30 000 ₽. Итоговая цена зависит от объёма базы знаний и числа сценариев, которые бот должен обрабатывать.

Какая модель лучше: GPT, Claude или открытые LLM?

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

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно