Проблема: миллионы звонков и вечно занятые операторы
Представьте себе типичный call-центр Vodafone или Fastweb в Италии. Пиковые часы. Тысячи людей одновременно пытаются узнать баланс, подключить услугу, пожаловаться на скорость интернета. Очередь на ожидании растет, операторы выгорают, а клиенты звереют. Классическая история.
Но в 2025 году у этих компаний появилась другая проблема - они не могли просто нанять еще тысячу операторов. Экономика не сходилась. Нужно было не масштабировать людей, а изменить сам процесс. И вот тут на сцену вышли AI-агенты.
Главная ошибка, которую делают 90% компаний: они пытаются заменить человека одним большим промптом. "Вот, LLM, будь оператором поддержки". Это не работает. Потому что поддержка - это не один диалог, это процесс с ветвлениями, проверками, интеграциями.
Решение: не один агент, а целый граф специалистов
Команда Vodafone и Fastweb (совместный проект) пошла другим путем. Вместо одного универсального ассистента они построили систему из нескольких специализированных агентов, которые передают друг другу управление. Как в хорошей больнице: сначала регистратура, потом терапевт, потом узкий специалист.
Технический стек выглядел так:
- LangGraph 0.2.1 (самая новая версия на январь 2026) - для оркестрации агентов
- LangSmith - для мониторинга, трассировки и сбора обратной связи
- GPT-4.5-Turbo (релиз осенью 2025) - как основная модель для сложных кейсов
- Claude 3.7 Sonnet - для проверки чувствительных операций (смена тарифа, отмена услуг)
- Собственные fine-tuned модели на исторических диалогах - для рутинных запросов
Архитектура: как выглядит граф поддержки изнутри
Вот что получилось в итоге. Не просто цепочка, а полноценный граф с циклами, условиями и параллельным выполнением.
| Узел графа | Что делает | Модель | Особенность |
|---|---|---|---|
| Классификатор | Определяет интент: баланс, проблема, продажа | Fine-tuned Gemma 3n 12B | Работает офлайн, 15мс latency |
| Верификатор | Проверяет клиента по базе | Система правил + GPT для сложных случаев | Интеграция с CRM через API |
| Специалист по проблемам | Диагностирует технические сбои | GPT-4.5 с RAG из базы знаний | Использует Knowledge Graph для поиска решений |
| Продавец | Предлагает апгрейды тарифов | Claude 3.7 Sonnet | Строгие проверки на compliance |
| Эскалатор | Передает сложный кейс человеку | Правила + ML-модель определения frustration | Учитывает тон голоса (если звонок) |
Самое интересное - как эти узлы связаны. Это не линейный pipeline. Например, после "Специалиста по проблемам" граф может:
- Вернуться к классификатору, если клиент задал новый вопрос
- Перейти к продавцу, если проблема решена и есть opportunity для апсела
- Запустить параллельно проверку satisfaction и запись в CRM
- Уйти в человеческую эскалацию с полным контекстом
LangSmith: почему без него система бы умерла через неделю
Вот честно: построить граф на LangGraph - это полдела. Вторая половина - не дать ему развалиться в продакшене. И здесь LangSmith оказался критичным.
Команда Vodafone настроила:
- Трассировку каждого диалога - видно, какой узел сколько времени занял, какую модель вызвал, что вернул
- Сбор обратной связи - после каждого диалога клиент оценивает помощь (1-5 звёзд). Эти оценки привязываются к конкретным трассам
- Алерты на деградацию - если success rate какого-то узла падает ниже порога, приходит уведомление
- Тестовые сьюиты - перед деплоем новой версии графа прогоняют 1000+ исторических диалогов, сравнивают метрики
Без этого мониторинга первые же проблемы с API OpenAI или изменения в поведении модели остались бы незамеченными. А так - инженеры видят аномалии за минуты.
Совет из практики: настройте в LangSmith дашборд не только по техническим метрикам (latency, токены), но и по бизнес-метрикам. Сколько продаж совершил агент-продавец? Сколько технических проблем решил без эскалации? Эти цифры говорят с бизнесом на одном языке.
Подводные камни, о которых не пишут в документации
Теперь о грустном. Внедрение не было прогулкой по парку. Вот что пошло не так с первого раза:
1 State management превратился в кошмар
Каждый узел графа добавлял что-то в контекст. Через 10 шагов state весил 50К токенов. Модели начали тормозить, а цена вызова взлетела.
Решение: Реализовали "суммаризацию контекста" отдельным узлом. Каждые 5 шагов специальный агент сжимал историю диалога, оставляя только ключевые факты. Похожий подход описан в статье про KV-cache и долговременную память.
2 Циклы и зацикливания
Клиент: "У меня не работает интернет". Агент: "Перезагрузите роутер". Клиент: "Не помогло". Агент: "Давайте проверим настройки... Перезагрузите роутер". Бесконечный цикл.
Решение: Добавили счетчик посещений узлов. Если клиент попадает в один узел третий раз - автоматическая эскалация человеку. В LangGraph 0.2.1 для этого есть встроенные механизмы.
3 Интеграция с legacy-системами
CRM Vodafone - монстр на 20-летней Java. API кривые, документация устаревшая. Агенты падали при каждом нестандартном ответе.
Решение: Построили слой адаптеров с exponential backoff и circuit breakers. Плюс - кэширование частых запросов. Теперь если CRM недоступен, агент использует кэшированные данные и честно говорит: "Информация может быть не самой свежей".
Результаты: цифры, которые заставили бизнес улыбнуться
Через 6 месяцев после запуска:
| Метрика | До внедрения | После внедрения | Изменение |
|---|---|---|---|
| Среднее время ожидания | 8.5 минут | 1.2 минуты | -86% |
| Автоматическое разрешение | 15% | 68% | +53% |
| NPS (удовлетворенность) | 32 | 47 | +15 пунктов |
| Стоимость контакта | €4.20 | €1.80 | -57% |
| Кросс-продажи | 3% от контактов | 11% от контактов | +8% |
Но самое главное - операторы перестали быть "машинами по ответу на одни и те же вопросы". Теперь они занимаются только сложными кейсами, где нужна эмпатия и креативность. Текучесть кадров в кол-центре упала на 40%.
Что дальше? Голос, мультиязычность и предиктивная поддержка
Система работает, но команда не останавливается. Сейчас в тестировании:
- Голосовые агенты - интеграция с Whisper и TTS системами. Пока только для простых сценариев (баланс, информация по тарифу). Для сложных диалогов голос еще не готов - задержки слишком большие.
- Мультиязычность - Италия, Испания, Германия. Разные страны - разные регуляторные требования. Приходится настраивать отдельные графы с разными проверками compliance.
- Предиктивная поддержка - агент звонит клиенту ДО того, как у того возникнет проблема. "Видим, что у вас второй день медленный интернет. Давайте проверим..." Это требует интеграции с системами мониторинга сети.
Технически самый сложный вызов - децентрализация. Сейчас весь граф работает в одном регионе. Но Vodafone хочет разнести узлы по разным датацентрам (ближе к клиентам). А это уже задачи из статьи про семантический роутинг и vLLM.
Предупреждение для тех, кто хочет повторить: эта архитектура требует постоянной поддержки. Модели деградируют (особенно если их дообучают на новых данных), API меняются, бизнес-правила обновляются. Бюджет на поддержку должен быть минимум 30% от бюджета на разработку. Иначе через полгода система превратится в груду мусора.
Финальный совет: начинайте с малого, но думайте о графе
Если вы только начинаете автоматизировать поддержку - не пытайтесь построить такой монстр сразу. Возьмите один самый частый сценарий ("Узнать баланс") и реализуйте его от начала до конца. С классификатором, верификацией, ответом.
Но уже на этом этапе проектируйте код как будущий узел графа. Отделяйте логику принятия решений от интеграций. Пишите тесты, которые проверяют не только "правильный ответ", но и "правильный путь по графу".
И обязательно подключайте LangSmith с первого дня. Без трассировки вы будете дебажить вслепую. А когда система обрабатывает тысячи запросов в час - это уже не дебаг, это русская рулетка.
Кейс Vodafone и Fastweb показывает главное: AI-агенты готовы к реальной работе. Не в лаборатории, а в грязном мире телекоммуникаций с их legacy-системами, капризными клиентами и жёсткими SLA. Готовы, если вы строите их как систему, а не как магический чёрный ящик.
И последнее: следующий шаг - агенты, которые работают не минуты, а часы, решая комплексные задачи. Но это уже другая история.