Now, use Autumn everywhere 🍂
- NEW! CLI + skill.md
- Improved MCP experience
- AgentID integration
- Improved experience on mobile browsers
- Early Slack integration
'Tis the season to use https://t.co/FbtR2IUQVI
you go to a conference in SF:
> what are you building?
you go to another office in SF:
> what are you building?
the doordash guy who walks inside to deliver food:
> what are you building?
bro lemme just eat my food.
.
.
.
.
.
.
.
.
.
.
.
.
.
AND THEN when you ask him what he’s building:
“we’re stealth”
there are a lot of things wrong with this:
- spf, dkim, and dmarc prove a domain authorized a sending server. they don't say anything about which agent sent it or why or whether or not it should be trusted
- spf/dkim/dmarc also don't stop one agent on a domain from saying that it's another agent. you'd have to configure your mail server for that separately
- spam filters are meant to catch phishing and ads. they're not meant to catch prompt injections. also if one email gets cooked in a forwarded thread, then that corrupt email now enters the context of all the continuing agents reading it. and if you're communicating with other people, how are you supposed to differentiate a spammer's LLM anyway?
- again, email was fundamentally just never thought to handle this use case. what if one email gets delivered before the other to an agent and this causes differing instructions? what if an email bounces or gets delayed a few hops down? what about race conditions? email only avoids mail loops because auto-responders follow conventions like the Auto-Submitted header. ig that's one more rule you'd have to put in its email "harness"
- smtp is literally older than the internet itself (aug '82 vs tcp/ip in jan '83). it was designed without authentication and we continue to bolt on these patchy solutions (starttls, spf, dkim, dmarc, arc) to keep it alive. and not to mention that if you want to do any sort of automation with it, you either need to set up your own SMTP server or use some external service. like TO THIS DAY there's no reliable way to know an email actually landed. a 250 just means the next server took it, and delivery/read receipts are still optional. can you believe that in 44 years, we still can't reliably confirm an email reached the inbox. (and yes, i know tcp confirms each server-to-server handoff, but there's nothing at the application layer that confirms it worked end to end... except for the html tracking pixels advertisers use, and even those break now that apple mail preloads images. but don't get me started on those)
but let's ignore all of those things and remind ourselves of the insane distribution and just convenience of email. even then, it is still a really bad layer for agents to communicate over. every email comes with received chains, dkim signatures, mime boundaries and html. people like @badlogicgames are against MCP for exactly this kind of context waste, so why feed agents even more of it? and yes, you can parse it out, but the headers you'd be stripping are the exact ones you called "identity." so either the agent can't verify anything itself, or it's just taking your mail server's word for it, which brings us right back to the first point
I recognize email isn't going anywhere for a long time and there are plenty of use cases for agents to have an inbox. but for the sole use case of agents talking to each other, there are much better ways to do it.