Сервис развивается: тестируем формат, собираем идеи, улучшаем сервис. Есть идеи? Написать
Дайджесты новостей
Пиксельная сцена серверной комнаты с интерфейсом почтового шлюза: цифровой терминал с потоком входящих писем, активирующий рой компактных светящихся роботов-агентов через сетевые шлейфы вебхуков

Событийно-ориентированная архитектура агентной почты: связка Grok Bots, AgentMail и вебхуков без фонового опроса

Традиционная модель автоматизации почты строится вокруг регулярного опроса ящика по расписанию (polling). Сервер каждые 15–30 минут проверяет почтовую службу и при обнаружении сообщений вызывает языковую модель. На практике эта схема неэффективна: один ящик совершает до 96 пустых сетевых обращений в сутки, расходуя вычислительные ресурсы и упираясь в лимиты API провайдеров. Срочное обращение клиента или сервисный инцидент при этом может ожидать реакции до получаса.

Событийно-ориентированная архитектура (Event-Driven Architecture) исключает фоновый опрос. Программный агент больше не опрашивает сервер в цикле: почтовый шлюз сам отправляет входящий вебхук при доставке письма, инициируя обработку за секунды. Вызовы модели происходят только тогда, когда событие действительно зафиксировано.

Четыре уровня контура: от шлюза до изоляции очередей

Корпоративная почтовая система не должна передавать входящий HTTP-запрос напрямую в языковую модель. Почта остается асинхронным и недоверенным каналом: письма могут задерживаться, приходить повторно или содержать поддельные заголовки. Чтобы обеспечить надежность, обработка делится на четыре уровня: прием события, криптографическая проверка, нормализация и постановка в очередь.

Специализированный шлюз (сервис AgentMail) принимает сообщение на своих серверах и отправляет HTTP POST-запрос на публичный эндпоинт компании. Веб-обработчик проверяет подлинность до разбора текста: сверяется заголовок Authorization с секретным токеном или проверяется HMAC-подпись тела запроса. Невалидные запросы отклоняются сразу без раскрытия внутренней структуры сервиса.

После успешной валидации формируется детерминированный ключ идемпотентности на базе идентификатора письма или комбинации адреса ящика, заголовка Message-ID и версии события. Повторный запрос с тем же ключом распознается как дубликат и не запускает вторичную обработку. Зафиксированное событие отправляется в брокер сообщений, а шлюз получает ответ 200 OK. Это гарантирует, что задержка ответа нейросети не вызовет тайм-аут соединения.

Для сбойных сообщений создается очередь недоставленных сообщений (Dead Letter Queue, DLQ). Если письмо повреждено или модель возвращает ошибку, событие изолируется в DLQ с сохранением причины отказа для аудита инженером.

Диспетчеризация входящих: фильтрация перед вызовом модели

Центральную роль в системе играет диспетчер входящих сообщений (Inbox Manager). Передавать весь массив сырых писем напрямую в языковую модель нерационально: это увеличивает затраты на токены и открывает систему для спама. Надежный контур сочетает детерминированные правила на первом шаге и семантическую классификацию на втором.

Первичный фильтр анализирует служебные заголовки без вызова нейросети. Сообщения с заголовками Auto-Submitted, уведомления о недоставке (NDR), рассылки с заголовками List-Unsubscribe и письма от доменов без SPF и DKIM отсекаются или архивируются.

Очищенные сообщения передаются классификатору для определения категории и приоритета:

  • urgent: сбои инфраструктуры, обращения ключевых клиентов, блокировки доступов;
  • primary: стандартные рабочие задачи, вопросы по проектам, контрактные согласования;
  • outreach: предложения о сотрудничестве, входящие коммерческие запросы, лиды;
  • newsletters: информационные дайджесты и отраслевые статьи, не требующие ответа.

Классификатор возвращает целевой маршрут и оценку уверенности. Если уверенность ниже порога, письмо направляется на ручную сортировку оператором. Финансовые и юридические документы требуют обязательного подтверждения человеком.

Изоляция субагентов и нейтрализация промпт-инъекций

Безопасность — ключевой фактор при работе агентов с открытой почтой. Тело входящего письма представляет собой недоверенный ввод, где злоумышленник может спрятать инструкцию (непрямая промпт-инъекция) для раскрытия системного промпта или несанкционированных действий.

Защита выстраивается по принципу минимальных привилегий:

  1. Стерилизация контента: HTML-разметка очищается от скриптов, скрытых стилей, невидимого текста и пикселей слежения с преобразованием в безопасный плоский текст.
  2. Карантин вложений: файлы не подгружаются в контекст модели автоматически. Они сохраняются в изолированном хранилище, а исполнитель получает метаданные: тип файла, имя и ссылку. Данные OCR помечаются как недоверенные.
  3. Разметка границ в промпте: в системной инструкции фиксируется, что блок сообщения является внешними данными для анализа, а не командным интерфейсом. Директивы проигнорировать правила внутри письма расцениваются как атака.
  4. Изоляция доступов: специализированный субагент не имеет доступа к главному почтовому аккаунту и чужим ящикам. Он генерирует только черновик ответа, а отправку выполняет отдельный сервис после проверки политикой безопасности.

Защита от бесконечных циклов автоответов

Опасный сценарий в агентной инфраструктуре — рекурсивная петля (Recursive Autoresponder Loop). Если агент отвечает на письмо другого автоматического бота или автоответчика, системы могут бесконечно пересылать сообщения, сжигая баланс токенов.

Для предотвращения подобных петель внедряются защитные барьеры:

  • проверка адреса получателя с блокировкой отправки, если он совпадает с агентским контуром;
  • ограничение глубины цепочки переписки с остановкой автоответов при превышении порога без участия человека;
  • интервал охлаждения (cooldown) на отправку сообщений одному контакту;
  • отсечение сообщений с признаками автоматической генерации по служебным заголовкам.

Пошаговый план внедрения и верификации

Развертывание событийно-ориентированного почтового контура включает шесть этапов:

  1. Подготовка инфраструктуры: создание выделенного ящика в специализированном сервисе (например, AgentMail по адресу https://docs.agentmail.to/) и настройка тестового сервера приема вебхуков.
  2. Настройка безопасности: генерация секрета вебхука, сохранение в переменных окружения и реализация валидации подписи входящих POST-запросов.
  3. Проверка идемпотентности: отправка контрольного сообщения и его дубликата с проверкой, что в очереди появляется одна запись, а повторный запрос возвращает статус 200 OK.
  4. Тестирование отказов: имитация сетевого сбоя для проверки экспоненциальной паузы повторов и перемещения проблемных событий в Dead Letter Queue.
  5. Запуск в режиме черновиков: перевод субагентов в режим формирования черновиков без права прямой отправки с ручной проверкой первых сформированных писем.
  6. Постепенное включение отправки: открытие отправки для доверенного белого списка адресов с мониторингом времени доставки (p95), доли ручной эскалации и расхода токенов.

Регламент действий при инцидентах

При обнаружении некорректных ответов, атаки через входящее письмо или невалидных запросов к вебхуку дежурный инженер блокирует сервис исходящей отправки. Брокер сообщений переводится в режим накопления, что останавливает ущерб, сохраняя данные для расследования.

Затем отзываются скомпрометированные секреты вебхуков и ключи, после чего логи анализируются по trace-id. После устранения уязвимости накопившиеся сообщения обрабатываются контролируемыми порциями с дедупликацией. Событийная архитектура с изолированными субагентами превращает почтовую автоматизацию в управляемый процесс с полным аудитом и контролем со стороны человека.