ИИ, за который платят. Создавайте полезные сервисы и продавайте результат

- -
- 100%
- +
Через восемь недель бот самостоятельно завершал 58% типовых обращений. Среднее время первого ответа сократилось до сорока секунд. При этом доля ошибочных фактических ответов оставалась ниже одного процента, потому что модель не имела права придумывать статус. Самым полезным результатом проекта стала не автоматизация как таковая, а прозрачная карта клиентских намерений: компания обнаружила, что 17% обращений о задержке возникали из-за непонятного статуса «передано на терминал» и переписала уведомления.
13. Типичные ошибки при создании
NLP
-системы
Начинать с модели, не определив бизнес-действия. В результате бот красиво отвечает, но не решает задачу.
Создавать слишком много похожих намерений. Классы пересекаются, а разметчики сами не могут договориться о правильной категории.
Игнорировать контекст. Система повторно задаёт вопросы и теряет доверие пользователя.
Разрешать генерации подменять источник данных. Модель придумывает статус, цену или правило, потому что ей не дали проверяемый инструмент.
Оценивать только среднюю точность. Ошибка в приветствии и ошибка в платёжной операции имеют разную стоимость.
Не собирать реальные формулировки. Тестовые примеры команды обычно чище и вежливее настоящих сообщений клиентов.
Автоматизировать без маршрута к человеку. Любая система сталкивается с редкими, конфликтными или высокорисковыми случаями.
14. Ключевые термины
Термин
Смысл
NLP
Методы анализа, интерпретации и генерации человеческого языка.
Токен
Элемент текста, с которым работает модель: слово, часть слова, число или знак.
Лемма
Словарная форма слова, используемая для объединения словоформ.
POS tagging
Определение частей речи и грамматических ролей.
Синтаксический разбор
Определение структуры предложения и связей между словами.
Намерение
Цель пользователя, соответствующая сценарию или действию.
Сущность
Конкретное значение, необходимое для выполнения действия.
NER
Извлечение именованных и предметных сущностей из текста.
Тональность
Оценка эмоциональной окраски или отношения в сообщении.
Контекст
Информация из диалога, профиля и внешних источников, влияющая на смысл.
Языковая модель
Модель, оценивающая вероятности последовательностей текста и создающая продолжение.
Диалоговый менеджер
Компонент, который выбирает следующий шаг разговора.
RAG
Подход, при котором модель получает релевантные фрагменты из внешней базы перед ответом.
Эскалация
Передача диалога человеку или специализированному процессу.
15. Мини-практикум
Выберите один диалоговый процесс в своей работе и соберите двадцать реальных или обезличенных сообщений пользователей. Не исправляйте опечатки и не улучшайте стиль. Затем выполните четыре шага.
Сгруппируйте сообщения по действиям, которые должна выполнить система. Дайте каждой группе название намерения.
Для каждого намерения перечислите обязательные сущности. Отметьте, какие из них пользователь часто сообщает не сразу.
Опишите, откуда берётся фактический ответ: база знаний, CRM, календарь, расчёт или человек.
Сформулируйте безопасный маршрут ошибки: какой уточняющий вопрос задать, когда остановиться и кому передать диалог.
После этого проверьте схему на пяти новых сообщениях. Если один запрос подходит сразу к двум намерениям, пересмотрите границы классов. Если действие нельзя выполнить даже после извлечения сущностей, значит описание процесса ещё неполно.
16. Выводы
Обработка естественного языка превращает человеческую речь в управляемую структуру. Для чат-бота недостаточно распознать слова: нужно определить намерение, извлечь сущности, учесть контекст, получить факты из надёжного источника и выбрать следующее действие. Современные языковые модели делают этот процесс гибче, но не снимают инженерную ответственность.
Главная единица проектирования — не фраза и не промпт, а решение. Когда команда понимает, какое решение должно последовать после сообщения пользователя, термины NLP перестают быть академической теорией и становятся картой работающего сервиса. В следующей главе мы разберём, как модели учатся находить такие закономерности в данных и почему качество обучения зависит от примеров, целей и обратной связи.
003 · ГЛАВА 2
Как модель учится на данных
Машинное обучение: примеры, цели, обратная связь и границы обобщения.
━━━━━━━━━━━━━━━━━━
Модель становится полезнее не от количества разговоров само по себе, а от ясной цели, качественных примеров и честной проверки на новых данных.
В отдел поддержки производителя кассового оборудования поступает фраза: «После обновления смена не закрывается, чек коррекции уже делали». Опытный специалист сразу видит несколько признаков: речь идёт о программной версии, операция повторялась, а стандартная инструкция не помогла. Для модели это не готовое правило, а сочетание слов, чисел, контекста и прошлых примеров, по которым нужно выбрать следующий шаг.
Машинное обучение позволяет системе находить такие закономерности в данных и применять их к новым сообщениям. Программа не получает вручную написанную инструкцию для каждой возможной фразы. Вместо этого она настраивает внутренние параметры так, чтобы на известных примерах давать требуемый результат, а затем пытается обобщить найденную связь на запросы, которых раньше не видела.
1. Что означает «обучить машину»
В обычном программировании разработчик формулирует правило: если выполнены условия A и B, сделай действие C. В машинном обучении правило часто слишком сложное, чтобы выписать его вручную. Тогда системе показывают множество примеров и задают критерий качества. Алгоритм меняет параметры модели, сравнивает предсказание с ожидаемым результатом и постепенно уменьшает ошибку.
Обучение не означает человеческого понимания и не превращает модель в обладателя опыта. Это математическая оптимизация. Модель ищет конфигурацию параметров, при которой входные данные преобразуются в полезный выход: категорию обращения, вероятность отказа, следующий токен, оценку тональности или рекомендуемое действие.
Рабочее определение
Машинное обучение — это способ создавать системы, которые находят закономерности в примерах, измеряют ошибку и изменяют свои параметры, чтобы лучше выполнять заданную задачу на новых данных.
2. Из чего состоит учебный пример
Чтобы обсуждать обучение предметно, полезно разделять четыре элемента: объект, признаки, целевой ответ и функцию ошибки. Объектом может быть сообщение клиента, диалог, заказ или изображение. Признаки — информация, на которой строится решение. Целевой ответ показывает, что система должна предсказать. Функция ошибки сообщает, насколько предсказание отличается от желаемого результата.
Элемент
В задаче чат-бота
Конкретный пример
Риск неправильного определения
Объект
Единица анализа
Одно сообщение или весь диалог
Потеря контекста либо смешение нескольких задач
Признаки
Сигналы для решения
Текст, канал, история, тип клиента
Утечка персональных данных или случайные корреляции
Цель
Ожидаемый выход
Намерение «возврат», сущности, ответ
Модель оптимизирует не тот результат
Ошибка
Мера качества
Штраф за неверный класс или токен
Редкие, но дорогие ошибки растворяются в среднем
Качество системы начинается не с выбора алгоритма, а с точного описания этих элементов. Если команда размечает «положительный диалог» по вежливости ответа, а бизнесу нужна решённая проблема, модель будет улучшать тон, но не завершение обращения.
3. Обучающая, проверочная и тестовая выборки
Один набор примеров нельзя одновременно использовать для обучения и честной оценки. Если модель видит ответы во время настройки, она может запомнить особенности конкретных данных и показать впечатляющий результат только на них. Поэтому данные обычно делят на три части.
Обучающая выборка
На ней алгоритм изменяет параметры. Чем разнообразнее реальные формулировки, тем выше шанс, что модель встретит во время обучения опечатки, короткие ответы, профессиональный жаргон и нестандартный порядок слов.
Проверочная выборка
Она помогает выбирать настройки, сравнивать варианты и вовремя замечать переобучение. Модель не должна напрямую обучаться на этих ответах, иначе проверка перестаёт быть независимой.
Тестовая выборка
Её используют в конце как контрольный экзамен. Хороший тест отражает будущую эксплуатацию: те же каналы, языки, доли редких сценариев и уровень шума. Если тест состоит из аккуратных фраз аналитиков, он не предскажет поведение в настоящем чате.
4. Обучение с учителем
При обучении с учителем каждый пример сопровождается правильным ответом. Сообщению присваивают намерение, письму — метку «спам» или «не спам», диалогу — итог «решён» или «передан оператору». Модель учится связывать вход с меткой и затем классифицирует новые объекты.
Для чат-ботов этот подход применяют при распознавании намерений, извлечении сущностей, маршрутизации обращений и оценке риска. Главная стоимость находится в разметке. Если два специалиста по-разному понимают границу между «отменой» и «возвратом», модель лишь воспроизведёт эту неопределённость.
Практическое правило
Перед массовой разметкой дайте одинаковые двадцать примеров нескольким сотрудникам. Если согласие низкое, сначала уточните классы и инструкции, а не увеличивайте объём данных.
5. Обучение без учителя
При обучении без учителя готовых меток нет. Алгоритм ищет структуру внутри самих данных: группирует похожие объекты, сокращает размерность, обнаруживает необычные точки. Для команды поддержки это способ увидеть темы, которые ещё не попали в справочник намерений.
Например, кластеризация десяти тысяч обращений может выделить отдельную группу сообщений про зависание терминала после обновления. Аналитик изучит примеры, даст группе понятное название и решит, нужен ли новый сценарий. Алгоритм не объясняет бизнес-смысл автоматически; он показывает близость, которую человек должен интерпретировать.
6. Обучение с подкреплением
В обучении с подкреплением система выбирает действие, получает награду или штраф и учится повышать суммарный результат. В диалоге действием может быть уточняющий вопрос, рекомендация, вызов инструмента или передача оператору. Награда может учитывать завершение задачи, число лишних шагов, оценку пользователя и стоимость ошибки.
Опасность возникает, когда награда слишком узкая. Если оптимизировать только длину диалога, бот начнёт преждевременно завершать сложные обращения. Если награждать только клики, система может выбирать навязчивые формулировки. Поэтому цель должна отражать полезность и ограничения, а не один удобный показатель.
7. Глубокое обучение и языковые модели
Глубокое обучение использует многослойные нейронные сети, способные самостоятельно формировать внутренние представления данных. В обработке языка это позволило отказаться от большого числа вручную заданных признаков. Вместо отдельного правила для каждого окончания или порядка слов модель учится кодировать связи по множеству примеров.
Большая языковая модель обучается предсказывать продолжение текста. Задача кажется простой, но для хорошего предсказания ей приходится учитывать грамматику, тему, стиль, связи между частями документа и типичные формы рассуждения. После предварительного обучения модель дополнительно настраивают на выполнение инструкций и безопасное ведение диалога.
При этом языковая модель не хранит знания как аккуратную таблицу фактов. Параметры кодируют статистические закономерности, поэтому связность ответа не гарантирует достоверность. Актуальные статусы, цены, правила и персональные данные должны поступать из внешних систем.
8. Векторные представления и смысловая близость
Модели преобразуют текст в числовые представления — векторы. Близкие по смыслу фразы обычно оказываются рядом в таком пространстве, даже если используют разные слова. Благодаря этому запрос «как вернуть неподошедший размер» можно сопоставить с инструкцией «оформление возврата товара» без точного совпадения ключевых фраз.
Векторный поиск лежит в основе многих систем поиска по базе знаний. Документы разбивают на фрагменты, для каждого вычисляют представление, а затем находят фрагменты, наиболее близкие к вопросу пользователя. Языковая модель формирует ответ на основе найденного материала, а не пытается восстановить правило из общих закономерностей.
9. Четыре способа адаптировать чат-бота
Слово «обучение» часто используют слишком широко. На практике команда может улучшать поведение системы четырьмя разными способами, и каждый решает свою проблему.
Подход
Когда применять
Что реально меняется
Инструкции и примеры
Нужно уточнить роль, формат и стиль
Контекст запроса; параметры модели не меняются
Поиск по базе знаний
Ответ зависит от документов и актуальных фактов
Модель получает релевантные фрагменты перед генерацией
Тонкая настройка
Нужен устойчивый формат или поведение на большом числе примеров
Изменяются параметры отдельной версии модели
Инструменты и правила
Нужно выполнить действие или получить точные данные
Модель вызывает API, расчёт или бизнес-процесс
Частая ошибка — пытаться тонко настраивать модель ради знаний, которые ежедневно меняются. Для каталога, тарифов и регламентов безопаснее поиск и вызов систем. Тонкая настройка полезнее там, где требуется стабильно распознавать внутренние категории, выдерживать сложный формат или повторять специализированную манеру ответа.
10. Как строится цикл обратной связи
Рабочая система не должна учиться напрямую на каждом сообщении пользователя. Такая схема быстро накопит случайные ошибки, попытки манипуляции и конфиденциальные данные. Вместо этого нужен управляемый цикл: журналирование, выборка спорных диалогов, проверка специалистом, обновление правил или данных, повторное тестирование и только затем выпуск изменений.
1. Соберите сигналы: отказ пользователя, повторный вопрос, исправление оператора, низкую оценку, нарушение формата.
2. Отберите репрезентативные и рискованные примеры, удалив персональные данные.
3. Определите причину ошибки: плохая разметка, отсутствующий документ, неверная логика, недостаточный контекст или генерация.
4. Исправьте соответствующий слой и проверьте регрессию на неизменяемом тестовом наборе.
5. Запускайте изменение постепенно и сравнивайте метрики с предыдущей версией.
11. Чем измерять качество
Одна метрика не описывает работу чат-бота. Техническая точность может расти, а пользователи всё равно будут недовольны из-за долгого ответа или лишних вопросов. Поэтому оценку полезно разделять на уровень модели, диалога и бизнеса.
Уровень
Метрика
Что показывает
О чём может умолчать
Модель
Precision, recall, F1
Качество распознавания классов
Стоимость разных ошибок
Диалог
Доля завершений, число шагов
Удалось ли довести сценарий до результата
Удовлетворённость и корректность результата
Сервис
Время ответа, эскалации, CSAT
Как работает канал для клиента
Причины изменения показателей
Экономика
Стоимость диалога, нагрузка операторов
Окупаемость и масштабируемость
Репутационные и юридические риски
Для редких опасных сценариев полезнее отдельно считать полноту. Если система пропускает сообщения о двойном списании или угрозе безопасности, высокий средний процент правильных ответов не спасает проект.
12. Переобучение, смещение и изменение данных
Переобучение
Модель слишком хорошо подстраивается под учебные примеры и хуже работает на новых. Признаки — растущее качество на обучении при ухудшении проверки, чувствительность к мелким формулировкам и запоминание случайных деталей.
Смещение данных
Если в наборе почти нет сообщений пожилых пользователей, региональной лексики или редких продуктов, система будет хуже обслуживать именно эти группы. Баланс данных должен отражать не только частоту, но и цену ошибки.
Дрейф
После запуска меняются продукты, интерфейсы и поведение клиентов. Новая акция создаёт непривычные вопросы, обновление приложения — новый класс проблем. Модель, которая хорошо работала в январе, может заметно ухудшиться в апреле, даже если её код не менялся.
13. Практический кейс: маршрутизация технической поддержки
Весной 2025 года новосибирская компания «КварцТех Снаб» обслуживала торговые сети, использующие кассы, сканеры и принтеры этикеток. В поддержку приходило около 3 400 обращений в неделю. Операторы вручную распределяли их между пятью группами, а неверная маршрутизация добавляла в среднем двадцать семь минут до первого содержательного ответа.
Проектная команда выгрузила 8 200 обезличенных обращений за четыре месяца. После совместной работы с инженерами вместо прежних двадцати двух размытых тем оставили одиннадцать операционных классов: питание, связь, драйвер, фискальный накопитель, печать, сканирование, интеграция с 1С, обновление, документы, гарантия и неизвестный случай. Для каждого класса зафиксировали примеры на границе и обязательный маршрут.
Модель обучили с учителем на 6 100 сообщениях, 1 050 оставили для настройки и 1 050 — для финального теста. Дополнительно использовали векторный поиск, чтобы показывать оператору три близкие инструкции. Автоматический ответ клиенту на первом этапе не отправлялся: система только предлагала категорию, приоритет и статью базы знаний.
Через шесть недель точность маршрутизации достигла 89%, а полнота для критических классов «фискальный накопитель» и «интеграция с 1С» превысила 96%. Среднее время до содержательного ответа сократилось с тридцати четырёх до девятнадцати минут. Анализ ошибок показал, что почти половина неверных случаев связана не с моделью, а с сообщениями, в которых одновременно описывались две неисправности. Компания изменила форму заявки и разрешила создавать связанные подзадачи.
14. Типичные ошибки машинного обучения в чат-ботах
Собирать много данных без определения целевого действия и стоимости ошибки.
Считать разметку объективной, не проверяя согласие между экспертами.
Тестировать на тех же формулировках, которые использовались при настройке.
Пытаться исправить отсутствующие факты тонкой настройкой вместо подключения источника данных.
Автоматически дообучаться на пользовательских ответах без модерации и удаления персональных данных.
Оптимизировать одну удобную метрику, игнорируя завершение задачи, безопасность и экономику.
Не отслеживать дрейф после запуска и считать модель неизменным компонентом.
15. Ключевые термины
Термин
Смысл
Машинное обучение
Настройка модели по данным и критерию ошибки для выполнения задачи на новых примерах.
Признак
Измеримая характеристика объекта, используемая для предсказания.
Метка
Правильный ответ, присвоенный учебному примеру.
Функция потерь
Численная мера расхождения между предсказанием и целью.
Обучающая выборка
Данные, на которых изменяются параметры модели.
Проверочная выборка
Данные для выбора настроек и контроля переобучения.
Тестовая выборка
Независимый набор для итоговой оценки.
Обучение с учителем
Поиск связи между входом и известной меткой.
Обучение без учителя
Поиск структуры в данных без готовых ответов.
Обучение с подкреплением
Обучение действиям по наградам и штрафам.
Переобучение
Слишком сильная подстройка под учебные данные в ущерб новым.
Векторное представление
Числовой образ текста, позволяющий сравнивать смысловую близость.
Тонкая настройка
Дополнительное обучение модели на специализированных примерах.
Дрейф данных
Изменение реальных входов и связей после запуска системы.
16. Мини-практикум
Возьмите один сценарий из предыдущей главы и подготовьте небольшой учебный набор. Не пытайтесь сразу строить модель: цель упражнения — проверить, можно ли однозначно описать задачу.
1. Соберите не менее пятидесяти обезличенных сообщений и определите единицу анализа: реплика или полный диалог.
2. Создайте от пяти до десяти классов, связанных с конкретными действиями системы.
3. Попросите двух людей независимо разметить двадцать одинаковых примеров и сравните расхождения.
4. Отложите десять сообщений, которые не будут использоваться при уточнении правил.
5. Для каждого класса запишите стоимость ложного срабатывания и пропуска.
6. Решите, что лучше исправит результат: инструкция, база знаний, классификатор, тонкая настройка или вызов внешней системы.
Если разметчики регулярно спорят, не увеличивайте набор. Перепишите определения классов и добавьте пограничные примеры. Чёткая постановка задачи обычно даёт больший выигрыш, чем смена алгоритма.
17. Выводы
Машинное обучение превращает данные в настраиваемое правило. Обучение с учителем связывает примеры с известными ответами, обучение без учителя помогает находить скрытые группы, а обучение с подкреплением оптимизирует последовательность действий. Глубокие языковые модели объединяют множество языковых закономерностей, но их качество всё равно зависит от цели, данных и проверки.
Для чат-бота недостаточно «учиться на разговорах». Нужно знать, какие сигналы собирать, кто подтверждает правильный ответ, как измеряется ошибка и какой слой системы следует изменить. В следующей главе мы соберём первый рабочий контур: разберём архитектуру ChatGPT, настроим проект и проведём запрос через API.
004 · ГЛАВА 3
От модели к рабочему прототипу
Архитектура ChatGPT, безопасная настройка проекта и базовый цикл работы с API.
━━━━━━━━━━━━━━━━━━
Хороший прототип показывает не только ответ модели, но и путь, по которому этот ответ превратился в проверяемое действие.
Пользователь видит одно окно и одну строку ответа. За этой строкой может стоять длинная цепочка: интерфейс принимает сообщение, сервер проверяет права, диалоговый модуль собирает контекст, модель предлагает действие, приложение обращается к CRM, получает факты и только после этого формирует реплику. ChatGPT в такой системе — важный компонент, но не вся система.
Первый прототип полезно строить так, чтобы каждый слой можно было увидеть и проверить. Тогда ошибка не превращается в загадочное «модель плохо ответила»: команда понимает, где потерялся контекст, какой документ был найден, какой инструмент вызван и почему пользователю показали именно эту формулировку.



