Стоит ли собирать почту агента самостоятельно на SES, парсинге и хранилище?
Неделя SES и Lambda — ещё не inbox. Треды, изоляция, доставляемость и годовая поддержка решают, строить самим или брать Agent Inbox.
Обсудить статью в ИИ
Отправьте готовый промпт в ChatGPT, Claude, Gemini или Perplexity — получите краткий пересказ, задайте уточняющие вопросы или сравните идеи из гайда.
Опытный бэкэнд-инженер может подключить Amazon SES, Lambda и хранилище объектов за неделю. Этот стек будет отправлять почту, перехватывать веб-перехватчик и сохранять большой двоичный объект JSON. Это полезная демонстрация. Это не почтовый ящик, которым ИИ-агент может владеть месяцами. Расстояние между «мы получили MIME» и «роль может поддерживать диалог, изолировать клиентов и оставаться доставляемым в Google, Yahoo и Microsoft» — это то, на чем большинство команд теряют четверть.
What the week-one stack actually covers
SES is a sending fabric. Receipt rules or a catch-all MX can dump inbound bytes somewhere you control. A parser can extract text. A queue can retry a 500. None of that gives the agent an address it owns, a thread a human can reply into, or a policy that stops outbound mail until a person says yes.
The prototype also tends to share one domain, one IAM role, and one table. That is fine for a spike. It fails when two customers’ agents must never see each other’s threads, or when a compromised key should not dump every mailbox at once.
Работа, которая занимает месяцы
Многопоточность — это первый тихий сбой. Ответы приходят с измененными темами, без заголовков In-Reply-To или пересылаются с нового адреса. Вы пишете эвристику, затем резервный поиск, затем комментарий, который просит следующего инженера не «упрощать» средство сопоставления. Далее следует сохранение тела: агентам нужен исходный HTML, очищенный текст, вложения и достаточно истории, чтобы ответить на то, что уже было обещано, без повторного использования MIME из недолговечного журнала.
Изоляция каждого клиента — это требование продукта, а не префикс таблицы. Каждому почтовому ящику необходимы собственные идентификаторы, учетные данные и радиус действия. Поставщики почтовых ящиков ожидают SPF, DKIM, DMARC, обработку жалоб и историю репутации. Разминка, классификация отказов и гигиена списка — это ежегодные операции, а не пункт контрольного списка запуска, который вы отмечаете один раз.
Разбор никогда не заканчивается. Сообщения, состоящие из нескольких частей, вложенные пересылки, приглашения в календаре и отсканированные PDF-файлы — все они выглядят как «электронные письма», пока агенту не придется действовать. Для повторных попыток необходима идемпотентность, чтобы одно и то же входящее событие не создавало два билета и два исходящих ответа. Извлечение вложений, сканирование на вирусы и ограничения на размер становятся частью продукта независимо от того, планировали вы это или нет.
Годовое обслуживание — это реальный счет
Кто-то владеет мониторингом черных списков. Кто-то вращает клавиши. Кто-то обновляет парсеры, когда провайдер меняет MIME. Кто-то ответит, почему тред разветвился. Доставляемость — это отношения с поставщиками почтовых ящиков, а не изменение версии библиотеки. Если вашей компании не нужна команда по платформе электронной почты, вы все равно покупаете эту команду — либо на зарплату, либо на постоянную работу по тушению пожаров.
Когда строительство — правильный выбор
Создавайте, когда электронная почта *является* продуктом, вы уже управляете почтовой инфраструктурой и можете обеспечить доставку. Создавайте, когда правила резидентности, пользовательская маршрутизация или необычные протоколы делают размещенный почтовый ящик неправильным примитивом. Не стройте, потому что SES выглядела дешевле в электронной таблице, в которой не учитывалось время разработки, дежурство и работа по репутации.
Когда входящие сообщения агента — правильный вызов
Входящие агента рассматривает почтовый ящик как объект API. Один звонок предоставляет адрес, на который люди могут ответить. SDK и MCP дают агенту возможность составлять список потоков, читать тела и отправлять. Перенаправление в Neuro OS вводит в цикл человека, когда поток покидает полномочия роли. По умолчанию для исходящих сообщений установлено значение «Спросить».
из агентинбокса импортировать AgentInbox
клиент = AgentInbox()
входящие = client.inboxes.create(username="привет", домен="agentinbox.space")
Полезное различие заключается в следующем: API электронной почты и API входящих сообщений: канал отправки и почтовый ящик, принадлежащий агенту. Если задание представляет собой беседу, а не одностороннюю квитанцию, начните с папки «Входящие», а не с правила получения.
| Рабочий поток | Стек SES первой недели | Входящие агента |
|---|---|---|
| Отправить | Да | Да |
| Собственный адрес | Вы собираете его | API-примитив |
| Темы | Вы храните их | Родной |
| Изоляция арендатора | Ваша схема | За входящие |
| Человеческий обзор | Вы строите Спросите | Переслать + Спросить |
| Операции по доставке | Ваша команда | Общая структура + политика вашего домена |
Выберите сборку, если вы собираетесь запустить почтовую платформу. Выберите «Входящие агента», если продукт является ролью агента, а электронная почта — это то, как эта роль остается доступной.
[Входящие агента] (https://agentinbox-ru.vercel.app/) предоставляет каждой роли почтовый ящик, на который люди могут отвечать, с пересылкой в Neuro OS, когда человек должен увидеть ветку. По умолчанию для исходящей почты установлено значение «Спросить». Запустите роль в Neuro OS. Чтобы определить размер первого почтового ящика, начните.