Todo assistente de IA deseja ler seu e-mail agora. O Gemini pode coletar sua mensagem do Gmail, o Copilot pode soldar respostas no Outlook e o Apple Intelligence pode descobrir o que considera importante. E quase universalmente, para fazer isso, eles precisam ter acesso total a toda a sua caixa de entrada. E isso significa todos disso. Mesmo se você quiser incluir um LLM de nuvem externo em seu e-mail, pode ser necessário conceder acesso OAuth à sua conta para que ele também possa acessar tudo.
Admito que não sou um grande fã deste comércio. Posso ver os benefícios do LLM ser capaz de ajudar com meu e-mail, mas não quero fornecer as chaves de tudo e certamente não quero que o conteúdo do meu e-mail seja tratado dessa forma por um provedor externo de IA em nuvem que poderia então usar o conteúdo desses e-mails para fins de treinamento. Como resultado, criei um sistema onde meu LLM local pode ler e coletar e-mails que compartilho explicitamente com ele via AgenteMail e um filtro de encaminhamento. Demorou cerca de vinte minutos e é significativamente mais privado do que qualquer outra alternativa.
AgentMail é uma API de caixa de entrada de e-mail projetada para agentes de IA, mas a parte mais importante não é permitir que LLMs enviem e recebam e-mails, visto que muitos serviços já podem fazer isso. Em vez disso, o que importa é o acesso. Ao criar uma conta com AgentMail, você gera um token que se refere a uma caixa de entrada, e cada caixa de entrada é um local separado que pode ser especificado para cada agente implantado.
AgentMail usa JSON em vez de SMTP
Dados muito mais limpos para sua janela de contexto LLM
Há outra coisa que torna esse fluxo de trabalho significativamente melhor para o LLM nativo: a API AgentMail retorna dados no formato JSON em vez de email bruto.
Ao conectar o LLM a uma caixa de entrada de e-mail tradicional usando IMAP ou API do Gmail, você encontra mensagens codificadas em MIME cheias de cabeçalhos, bordas de várias partes, corpos codificados em base64 e anexos incorporados. Um único boletim informativo pode preencher milhares de tags de metadados antes mesmo que seu modelo alcance o conteúdo real. Para um LLM nativo, você pode operar em uma janela de contexto limitada, o que é um desperdício extremo.
O endpoint da mensagem AgentMail retorna o seguinte:
{
"inbox_id": "inbox_id",
"thread_id": "thread_id",
"message_id": "message_id",
"labels": (
"labels",
"labels"
),
"timestamp": "2024-01-15T09:30:00Z",
"from": "from",
"to": (
"to",
"to"
),
"size": 1,
"updated_at": "2024-01-15T09:30:00Z",
"created_at": "2024-01-15T09:30:00Z",
"reply_to": (
"reply_to",
"reply_to"
),
"cc": (
"cc",
"cc"
),
"bcc": (
"bcc",
"bcc"
),
"subject": "subject",
"preview": "preview",
...
}
É muito limpo, fácil de ler para o LLM e não precisa lidar com cabeçalhos, base64 ou codificações MIME.
Seu LLM local pode capturar mensagens não lidas, processar a saída de chamadas de API e entender facilmente o que está acontecendo sem usar literalmente milhares de tokens de entrada desperdiçada. Estou executando o Qwen 3.6 35B-A3B no meu servidor doméstico que estou enfrentando Hermese o formato JSON puro significa que quase todos os tokens na janela de contexto são conteúdo real de email, não lixo.
O filtro compartilha o que eu preciso
AgentMail só vê o que eu preciso
Se você não confia seus e-mails no AgentMail, eu entendo perfeitamente. Não vi nada sobre a empresa usar os dados para treinamento, mas também é um serviço relativamente desconhecido (mesmo que tenha clientes corporativos) e por isso não gostaria de fazer roteamento. todos dos meus e-mails. Portanto, uso um filtro para encaminhar automaticamente com um endereço de e-mail AgentMail dedicado.
Já configurei usando newsletters; qualquer boletim informativo que chega à minha caixa de entrada é automaticamente encaminhado para este endereço AgentMail. Dessa forma, o AgentMail ou LLM conectado a essa caixa de entrada pode ver os e-mails pessoais que enviei porque literalmente não tem acesso a eles. Em vez disso, ele vê apenas aquilo para onde eu o direciono explicitamente. Além disso, como o filtro é o que encaminha os emails para o AgentMail, mesmo que o serviço utilizasse os dados do email para treinamento, ele sempre veria apenas o conteúdo que escolhi compartilhar.
A partir daí, Hermes pesquisa a caixa de entrada do AgentMail todas as manhãs e cada e-mail é recebido como um objeto JSON que o modelo pode ler. É totalmente automatizado por meio de um cronjob, então recebo um resumo matinal especial dos boletins informativos que chegam na minha caixa de entrada do AgentMail todos os dias. Não uso webhooks para isso (embora pudesse), mas também não preciso expor o serviço à minha rede para que funcione. A enquete me coloca no controle como as informações são recuperadas e com que frequência, portanto, tenho mais controle do que depender de um webhook.
Este não é um cliente de e-mail completo, mas, para ser sincero, eu também não era eu quero que assim seja. Eu poderia me identificar com isso IMAP e puxei tudo conforme chegou, ou poderia ter encaminhado todos os e-mails recebidos para o AgentMail, mas não queria. No entanto, se eu quiser adicionar mais usos, certamente poderei fazê-lo no futuro. Por enquanto, fico feliz apenas em coletar os boletins informativos que chegam diariamente, mas com potencial de expansão, provavelmente usarei mais no futuro.








