Агент умной разметки писем
Агент умной разметки писем
Обзор
Соберите агента классификации почты: ИИ анализирует письма и проставляет метки. Средний уровень: метки Agent Inbox и OpenAI GPT-4o-mini для автоматизации inbox.
Что вы получите
В конце руководства будет агент, который:
- Принимает письма в выделенный inbox Agent Inbox
- Анализирует каждое письмо ИИ по 4 измерениям:
- Sentiment (тональность): positive, neutral, negative
- Category (категория): question, complaint, feature-request, bug-report, praise
- Priority (приоритет): urgent, high, normal, low
- Department (отдел): sales, support, billing, technical
- Автоматически ставит метки для фильтрации
- Обрабатывает сбои — повторы и валидация ответа модели
Пример прихода письма:
Требования
Нужно:
- Python 3.8+
- Аккаунт Agent Inbox и API-ключ
- Ключ OpenAI (классификация)
- Аккаунт ngrok
Настройка проекта
Шаг 1: каталог
Создайте папку агента:
Шаг 2: код agent.py
Показать полный код agent.py
Шаг 3: requirements.txt
Шаг 4: установка зависимостей
Шаг 5: .env
Разбор кода
Схема
1. Инициализация
2. Инфраструктура
setup_agentinbox() создаёт inbox и вебхук:
Идемпотентность client_id: перезапуск агента не создаёт дубликаты — вернётся существующий ресурс.
3. Анализ писем ИИ
Ядро агента — analyze_email():
Особенности:
- Структурированный промпт — четыре измерения классификации
- JSON mode — валидный JSON от OpenAI
- Повторы — до 3 попыток при ошибках
- Строгая валидация — значения только из допустимых множеств
- Низкая temperature (0.3) — стабильные метки
Пример промпта:
Ответ модели:
4. Простановка меток
apply_labels() — двухуровневая стратегия:
Зачем два уровня:
- Сначала пакет — один вызов API на все метки
- Потом по одной — если пакет не прошёл, сохраняем хотя бы часть
- Устойчивость — сбой одной метки не роняет всё
5. Вебхук
receive_webhook() связывает шаги:
Почему всегда 200?
Даже при ошибке классификации или меток отвечаем 200 — вебхук принят. Коды 4xx/5xx вызовут ретраи доставки, что не лечит ошибки приложения.
Запуск
Ожидаемый вывод:
Готово. Агент классифицирует входящие письма. Терминал не закрывайте.
Проверка
Пример 1: срочная жалоба
Отправьте письмо:
Консоль:
Почему так:
- Sentiment: negative («terrible», «lost work»)
- Category: complaint
- Priority: urgent («IMMEDIATELY», «crashed 3 times»)
- Department: support (проблема продукта)
Пример 2: запрос фичи
Письмо:
Консоль:
Почему так:
- Sentiment: positive («love», «amazing», «great work»)
- Category: feature-request
- Priority: normal
- Department: technical
Дальше
В консоли и inbox
Фильтруйте письма по меткам в Agent Inbox:
По тональности: negative / positive / neutral и т.д.
Комбинации: urgent + negative — критичные кейсы; sales + high — горячие лиды; technical + bug-report — бэклог инженеров.
Совет: через API Agent Inbox можно выбирать письма по меткам и строить свои процессы, дашборды и аналитику.
Автоматизация на основе меток
1. Уведомления о приоритете
При метках urgent + negative — сразу Slack в канал саппорта с email отправителя и темой.
2. Эскалация по тональности
Собирайте negative, уведомляйте customer success при ухудшении тренда; при 3+ негативных письмах от одного клиента за неделю — персональный контакт от руководства.
3. Маршрутизация по отделу
Правила по меткам отдела: sales → sales@…; billing → тикет в биллинге; technical → #engineering; support → очередь с SLA.
4. Умный автоответ
Ответы по классу: question, bug-report, complaint, feature-request — разные шаблоны вместо одного общего.
5. Аналитика
Дашборд по меткам: тренды тональности, объём по отделам, время ответа по приоритетам, частые категории запросов.
Вы собрали систему классификации почты на ИИ; метки Agent Inbox позволяют строить сложную автоматизацию inbox и аналитику.
