Привет. Меня зовут Артур Ягудин, пишу про AI на ai-artur.ru. Сегодня хочу разобрать тему, которую часто обходят стороной, хотя она лежит в основе любого рабочего AI-проекта — как агент на самом деле работает с данными.
Многие воспринимают AI как черный ящик: вопрос зашел, ответ вышел. Но за этим стоит конкретная работа с данными. Их качество, структура и способ обработки определяют, насколько агент будет умным и полезным. Ниже — разбор всего пути данных от поступления до финального действия AI.
Данные редко бывают готовы к использованию. Они неполные, противоречивые, с ошибками — и их нужно привести в порядок, прежде чем агент сможет хоть что-то с ними сделать.
Первый шаг — сбор. Откуда агент получает информацию — зависит от задачи.
* **Базы данных и хранилища:** Реляционные SQL-базы, NoSQL, дата-лейки, дата-хаусы с накопленными объемами структурированных и неструктурированных данных. Агент для оптимизации логистики берет из корпоративной ERP данные о заказах, маршрутах, складах и поставщиках.
* **API:** Агенты часто обращаются к внешним сервисам. API социальных сетей, погодных сервисов, финансовых рынков. Мой агент для мониторинга новостей регулярно опрашивает API нескольких информационных агентств.
* **Сенсоры и IoT-устройства:** Датчики температуры, влажности, движения, камеры, GPS-трекеры. Миллионы датчиков на заводе передают данные о состоянии оборудования — хрестоматийный сценарий для предиктивного обслуживания.
* **Веб-скрейпинг:** Когда у сайта нет открытого API, данные собираются парсингом. Цены конкурентов, отзывы, статьи. Важно соблюдать политику сайтов — правовые и этические вопросы здесь реальные.
* **Пользовательский ввод:** Чат-боты, голосовые ассистенты, формы. Прямой ввод, который агент должен понять и обработать.
Сырые данные всегда требуют чистки. По статистике, инженеры по данным тратят на этот этап до 80% рабочего времени.
* **Пропущенные значения:** Удалить строку, заполнить медианой, восстановить через ML или пометить как отсутствующее — выбор зависит от данных и задачи. Для рекомендательной системы лучше не удалять весь профиль пользователя из-за одного пропущенного поля, а игнорировать его в конкретных расчетах.
* **Дубликаты:** Повторяющиеся записи искажают обучение. Если один клиент трижды записан в базе из-за ошибок ввода, модель будет считать, что лояльных клиентов в три раза больше.
* **Выбросы:** Значения, которые сильно выбиваются из общей картины. Датчик, показывающий -200 градусов, — скорее всего ошибка. Аномально крупная транзакция — возможно, мошенничество. Нужно решить: удалить, скорректировать или оставить, если выброс несет смысл.
* **Несовместимости и ошибки:** Разные форматы дат, опечатки, текст в числовых полях. Если в поле «доход» попала строка «неизвестно», любая арифметическая операция сломается.
Чистые данные — ещё не готовые данные. Их нужно привести к форме, с которой умеет работать модель.
* **Масштабирование и нормализация:** Если доход измеряется в миллионах, а возраст в десятках — признак с большим масштабом будет доминировать в расчетах. Стандартизация (среднее = 0, отклонение = 1) или нормализация (диапазон [0, 1]) выравнивают их вклад.
* **Кодирование категорий:** Текстовые категории — «Москва», «Казань», «Санкт-Петербург» — нужно перевести в числа. One-Hot Encoding создает бинарные признаки для каждой категории, Label Encoding присваивает числовой индекс. Выбор зависит от того, есть ли в категориях порядок.
* **Инженерия признаков:** Создание новых признаков из существующих. Из даты рождения — возраст, день недели, сезон. Для временных рядов — скользящее среднее, стандартное отклонение за период. Для текста — частота слов, TF-IDF. По моему опыту, хорошая инженерия признаков дает больший прирост точности, чем смена алгоритма.
После сбора и очистки агент начинает извлекать смысл. Цифры и тексты сами по себе ничего не значат — важно то, что за ними стоит.
Переход от сырых данных к более абстрактным представлениям.
* **Для текста:** Ключевые слова, именованные сущности (NER), синтаксический анализ, тематическое моделирование. Агент, читающий новостную ленту, должен понимать, что «Илон Маск» — человек, «SpaceX» — компания, «запуск ракеты» — событие.
* **Для изображений:** Границы объектов, текстуры, формы, цвет. Сверточные нейронные сети (CNN) делают это автоматически, слой за слоем — от простых линий до целых объектов. Мой агент для контроля качества на конвейере через CNN находит дефекты, которые человек пропускает при визуальном осмотре.
* **Для аудио:** Спектральные характеристики, форманты, интонации. Агент должен отличать речь от шума, распознавать разных говорящих, улавливать эмоциональную окраску.
Извлечь признаки — половина работы. Нужно понять их смысл.
* **Анализ настроений:** Позитив, негатив или нейтраль. Критично для агентов, которые мониторят отзывы и соцсети. «Эта функция просто ужасна» и «Я в восторге от функции» — AI должен различать эти оценки.
* **Сущности и связи:** Не просто найти «Илон Маск», а понять, что он CEO Tesla и SpaceX. Это дает возможность строить графы знаний.
* **Намерения пользователя:** Когда пользователь говорит «закажи такси» — это команда, а не вопрос о такси. Различать вопросы и команды особенно важно для голосовых ассистентов и чат-ботов.
Смысл данных меняется в зависимости от контекста.
* **Персонализация:** Агент учитывает историю взаимодействий, предпочтения, прошлые покупки. Если человек регулярно покупает кофемашины, запрос «покажи новые модели» скорее всего о кофема
Нужен AI-агент для вашего бизнеса? Расскажите задачу — разберём что можно автоматизировать и с чего начать.
Написать Артуру в Telegram →