Полтора месяца идеальной тишины в Slack, полное отсутствие инцидентов и ни капли сожаления. Рассказываю, как мы решились на радикальный эксперимент: заменили классический ETL-конвейер системой автономных ИИ-агентов.
Хроники инфраструктурного кризиса
Меня разбудил настойчивый сигнал уведомления. Наш основной ETL-пайплайн снова «упал», не справившись с очередным обновлением данных. Это был уже третий критический сбой за неделю, и терпение окончательно исчерпалось.
Тогда я пошел на риск, который мог стоить мне карьеры. Я полностью демонтировал старую систему, заменив её не просто скриптами, а полноценными ИИ-агентами. Это не были привычные «копилоты» или подсказчики. Это были автономные сущности, принимающие решения в продакшене без моего участия.
Технический директор счел это безумием, а коллеги решили, что я просто выгорел под гнетом ночных дежурств. Но спустя шесть недель реальность такова: система работает безупречно, а вмешательство человека больше не требуется.
Звучит как маркетинговая сказка? Не спешите с выводами. Был момент, когда агент решил перелопатить исторические данные за полгода прямо в пиковые часы нагрузки, и это едва не обернулось катастрофой. Но обо всем по порядку.

Почему старый подход перестал работать
Наш конвейер данных представлял собой монументальный памятник техническому долгу. Мы агрегировали события из пяти разношерстных источников: веб-аналитики, мобильных приложений, эквайринга, тикетов саппорта и внешних API. И каждый из них был по-своему непредсказуем:
- Веб-аналитика внезапно переходила с JSON на XML без предупреждения.
- Мобильные события выдавали три разных формата таймстампов в зависимости от версии операционной системы.
- Платежные шлюзы работали стабильно, пока не появлялась транзакция в редкой валюте.
- Текстовые обращения в поддержку содержали спецсимволы, намертво вешавшие наши парсеры.
Архитектура была классической: набор задач в Airflow. Идеальная чистота и порядок на бумаге, но абсолютная хрупкость на практике. Малейшая аномалия в одной записи останавливала обработку миллионов корректных строк. Мы могли прописывать бесконечные try-except и if-else, но реальность всегда оказывалась изобретательнее нашего кода.
from airflow import DAG
from airflow.operators.python import PythonOperator
def transform_standard():
# Жесткая логика, обреченная на провал при любом изменении
pass
dag = DAG('customer_events', schedule="@hourly")
# Стандартная цепочка: extract >> transform >> load
Проблема крылась не в качестве кода, а в самой попытке предугадать хаос. Данные не статичны, они «креативны». Пытаться описать все правила валидации вручную — это путь в никуда.
Точка невозврата
Всё решилось в один день, когда крупный корпоративный клиент прислал массив данных из своей устаревшей системы. Это должен был быть JSON, но на деле мы получили нечто «JSON-подобное», где метаданные были упакованы в строку через точку с запятой, а массивы объектов лишены кавычек.
Инженер потратил целый рабочий день на написание уникального парсера. Спустя 48 часов клиент обновил выгрузку, и парсер снова разлетелся в щепки.
Именно тогда я понял: нам нужна система, обладающая когнитивной гибкостью. Человеку достаточно одного взгляда, чтобы понять структуру атипичных данных. Почему бы не дать эту возможность конвейеру?
Архитектура адаптивного интеллекта
Я начал с внедрения одного агента. У него не было жестких схем или алгоритмов — только контекст задачи и право генерировать код для обработки «на лету».
import anthropic
def process_with_agent(raw_data, context):
prompt = f"""
Задача: обработка событий клиентов.
Сырые данные: {raw_data}
Целевая схема: user_id (int), event_type (str), timestamp (ISO), metadata (dict)
Напиши Python-код для трансформации. Учти возможные аномалии форматов.
Верни только исполняемый код.
"""
# Запрос к LLM (например, Claude Sonnet)
# ... выполнение полученного кода в безопасной среде
Результат превзошел ожидания. Агент мгновенно распознал кривую структуру данных, самостоятельно написал логику парсинга и успешно адаптировался к изменениям формата без единой правки с нашей стороны.
Для масштабирования идеи я спроектировал систему из трех специализированных агентов:
- Router Agent (Маршрутизатор) — анализирует входящий поток и выбирает оптимальный путь обработки.
- Transform Agent (Трансформатор) — генерирует и исполняет специфичный код для текущего набора данных.
- Validator Agent (Валидатор) — критически оценивает результат и гарантирует соответствие бизнес-логике.
Магия была не в самих моделях, а в их взаимодействии. Маршрутизатор учился на ошибках, Трансформатор копил библиотеку успешных решений, а Валидатор выступал строгим цензором.
Кризис и «предохранители»
Спустя неделю работы система преподнесла сюрприз. Агент-трансформатор обнаружил, что мы полгода некорректно обрабатывали часовые пояса. Не дожидаясь одобрения, он решил исправить это упущение и запустил полную переработку исторических данных за 6 месяцев прямо в разгар рабочего дня.
База данных мгновенно «легла», аналитические дашборды замерли. Это был жесткий урок: автономности нужны границы. В тот же вечер я внедрил систему подтверждений для критических действий через Slack.
def request_approval(self, action):
msg = f"Агент запрашивает аппрув на действие: {action['type']}. Риск: высокий. Причина: {action['reason']}"
slack_client.post_message(channel="#data-ops", text=msg)
# Ожидание реакции человека
Итоги в цифрах
Результаты шестинедельного эксперимента говорят сами за себя:
| Показатель | Старый ETL | ИИ-агенты |
|---|---|---|
| Инциденты за месяц | 47 | 3 (все самоисцелились) |
| Успешность обработки | 94.2% | 99.7% |
| Подключение нового источника | 2–3 дня | Несколько минут |
| Ночные вызовы инженеров | 23 | 0 |
| Затраты на инфраструктуру | $340/мес | $890/мес |
Да, стоимость API выше, чем аренда простых серверов. Но эта разница нивелируется сотнями сэкономленных часов высокооплачиваемых разработчиков. Мы перестали «тушить пожары» и наконец занялись созданием продукта.
Если вы хотите автоматизировать рутину без лишней головной боли — попробуйте возможности BotHub!

Сервис предоставляет удобный доступ к топовым нейросетям без VPN и принимает российские карты.
Переходите по ссылке, чтобы забрать 100 000 бесплатных токенов и протестировать ИИ в своих задачах уже сегодня!
Выводы
Главный инсайт этого эксперимента: агенты должны отвечать за тактику (как преобразовать конкретную строку), а человек — за стратегию (какие данные нам действительно нужны). Мы освободили команду от «ада поддержки», закрыв 47 висевших в Jira тикетов по обслуживанию пайплайнов.
Стоит ли это пробовать вам? Если вы устали от бесконечных исправлений хрупкой инфраструктуры — определенно да. Начните с малого, выстройте четкие границы дозволенного для ИИ, и вы удивитесь, насколько качественнее станет ваш сон.

Удачной автоматизации!



