邮件的规矩没人读,agent 更不会去读|Latent Space × Zeno Rocha

中文深度整理,非逐字翻译
原始标题
Designing for Agents — Zeno Rocha, Resend
节目 / 来源
Latent Space
嘉宾
Zeno Rocha(Resend 创始人兼 CEO)
原始发布日期
2026-11-11
时长
约 86 分钟
内容类型
播客长访 / 开发者工具设计、邮件基础设施
原始内容
前往原始来源 ↗

一次把 10 万封信扔给 Gmail,对方会节流。Zeno Rocha 说,Gmail 先看开头那一批:有没有打开,有没有马上归档或删掉,有没有互动。后面那一批怎么走,由这段早期互动决定。所以要排队,把最会互动的人放在队列前面,批次之间留间隔,邮箱供应商之间也要隔开。还要买 IP 段,看这段地址的历史,把发信人分进不同的 IP 池,再随着时间把池子调平。

这套规矩几乎没人想学。智能体更不会先读完一篇送达率文档,再决定怎么发。Latent Space 这期的客人是 Zeno Rocha,Resend 的创始人兼首席执行官。主持认识他,是从 VS Code 主题和开源开始的。

原始来源:Designing for Agents — Zeno Rocha, Resend。中文深度整理,非逐字翻译。本文依据 YouTube 自动生成的英文字幕,专有名词和数字可能有识别误差。Recent、resent 下文作 Resend,Sang Grid 作 SendGrid,Mayo Gun、mailogun 作 Mailgun,male chimp 作 Mailchimp,SCS、SCES 作 Amazon SES,OAF、ooth 作 OAuth,Mistro 作 Mistral,Straa 作 Strava,vzero 作 v0。公司收入若字幕没有说成已经入账的数字,正文不写。即将发布的产品,字幕没有展开规格。

送达率先是一条要排队的曲线

他当天早上的口述是:Resend 在为 430 万用户发信,付费客户刚过 12 万。名单里他点了 Warner Brothers 和 HBO。Warner 那条是他在数据库里按域名翻出来的。一个周六,人工智能还没进来,他筛大域名、筛小域名,看见 WBD,当时不知道那是 Warner Brothers Discovery。这是他找社会证明的办法。

难在信要落进收件箱,而且大流量和给应用加 GPU 是两件事。Gmail、Outlook、Yahoo 各有各的行为。行业很老,很多事靠关系。他们入行时什么都不知道。Zeno 把这种无知说成后来最好的事:没有先入为主的对错。别人的产品第一屏是一张表,问你要发多少、发给谁、干什么,然后人工审核,两天后通过或拒绝,多数是拒绝。他当时觉得这说不通,把摩擦拿掉,摩擦留在自己这边。做了三四年,他懂了别人为什么拦:欺诈和钓鱼到处都是。他公开讲得很少,内部则做了一批系统。

滥用的形状他愿意讲。买一个两天前才注册的域名,声誉就差。网站是不是返回 200,有人连这个都不做。用一个看起来像正牌的域名做外联,看起来就是钓鱼。一次发很多,然后再也不发。Gmail 想看见的是一条持续往上走的发送曲线。多数人的曲线是:对一大群人发一次,空一段时间,再突然发一次。一周一次、一周两次,都是滥用方会有的样子。所以平台要做的,是滥用方不会做的那一面。

他举过近前的一伙人,字幕听成日本的一个团伙:也许 2 万个域名,2 万个不同的顶级域,注册商还不一样。他们会把每一个因素都看一遍。

声誉后来更多挂在域名上,早年则挂在 IP 上。一个 IP 受伤,后果跟着来。现在的做法是按邮件种类拆子域名。事务邮件可以不带点击和打开追踪,营销邮件走另一条。Resend 自己的营销和事务是两条流,投资人邮件他用 confidential.resend.com。五个子域名在他看来已经不太实用,还是有人这么做。主持人为了怪的顶级域去买 .com,被人说过这样送达率更好。Zeno 的提醒是:可口可乐再买一个长得像自己的域名,伤害会更大,因为那正像钓鱼。他仍然认为 .com 值得买。

Gmail 的占比他没有拿着报表。口播是至少大约 60%,后面是 Outlook、Yahoo 这一档,再是一条长尾。Apple 很大。Apple 会替人生成一个邮箱地址,进那些收件箱更严。他们在产品里做了向导,帮域名所有人向 Apple 登记。

Mailgun 创始人曾告诉他,自己研发的 90% 是在跟滥用者斗,所以早早卖掉,这门生意很糟。Zeno 听完很担心。他的教训是这件事必须自动化。安全方向现在有不少人,那不会是核心业务。他们要推的是行业本身。

SDK 下载量是另一条他主动拿出来的线。今年早些时候超过了 SendGrid,现在是对方的两倍多。他分得很清:这说的是采用。对方发出去的信仍然多得多,因为大企业客户还在那边。主持人问这是不是最好的指标。他认为这里面有采用的信号。

最佳实践得在发送之前就做完

邮件这个世界需要大量教育,而人们不想学。Zeno 的结论是:平台得替他们做。产品里放洞察,让人直接套用。发送模式会看。有了人工智能之后,发出去之前还有链接检查和拼写检查。一边在教受众,一边让产品自己教。能烤进去的最佳实践越多越好。

纯文本是他拿出来的那一个例子。一封信可以有 HTML 版和纯文本版。很早他们就判断,智能体比以前多得多,于是自动从 HTML 抽出 Markdown,生成纯文本,两份一起发。他说送达率因此高了一大截。垃圾过滤器直接看内容,不必先解析那一堆标记。字幕没有给百分比。

纯文本嵌不进那张 1 乘 1 的透明图,打开率就没了。行业原来有两种追踪。打开追踪靠那张图被加载。Apple 近些年的隐私改动、以及在信落地之前先读一遍做摘要,让打开率不再像从前那么可靠,因为过滤器会先碰那张图。于是更依赖点击追踪。点击的 URL、图片的 URL,都得和发信域名对得上。滥用方会把图片和链接指到别处,信却从这一个域名发出。

他们一开始也把链接改写到自己的域名。主持人以为这是常态。Zeno 说坏在嘈杂的邻居:同一个追踪域名上如果有一个客户在钓鱼,域名进了黑名单,出来要几天到几周。业务就停在那里。

他的哲学是默认信任,再在第一时间拦住。看退信率、投诉率,以及邮箱供应商返回的反馈。一有不对就很快封锁,然后跟人聊。多数时候是用错,是技能问题,主持人把这个词递给他,他接了。他用过一个比喻:有的产品像一出生就坐牢,坐满大约 18 年才证明自己是好公民。他想要的是生而自由,做错了再受一点罚,真的做得很坏再重罚。默认信任,同时不能让坏用户把整个平台拖差。

支持是同一件事的人力版。他把支持说成如果是软件,大概已经到第四个大版本。第一版是找任何人坐在椅子上,他自己快撑不住。很快发现,坐在那里的人得能让工单从一开始就不发生。第二版雇了有域名经验的人,仍停在回答,没有做到先写下来。于是有一条政策:回复工单只能给链接。不能直接把答案打出来。先写知识库,一封回复也许要一个半小时。换来的是同一条链接可以反复发。

用户过了 100 万之后,这条路也不够。他说去年十二月是 100 万,现在是 400 万。继续加人,只是继续加人。免费层他要留着。他自己是靠 Heroku 那些免费层做起来的工程师。域名系统仍是今天大多数问题的来源。CNAME、A、TXT,新用户会把值贴错。去年 Lovable、Bolt 和 v0 进来时,他看得出这是另一批人:卡住了,不知道下一步怎么走。

Domain Connect 是他把「不要让人打字」做成协议的一次尝试。很偏,行业里少有人投。由一些域名商发起,他口中像是域名的 OAuth:登录、点按钮,不必自己填记录。他们说服 Vercel 也进去。DNS 提供商是一边,像 Resend 这样的服务提供商是另一边。GoDaddy 收费很高。Ionos 那一位,第一家就追了几个月。协议本身几乎没人维护。主持人两周前第一次用,确认过这东西是真的。

模板是更早的一层。公司在做的时候,用户研究里反复出现写模板的痛:设计师交来 Figma,然后是 HTML 表格、内联 CSS、Outlook 的特殊注释,邮件里不能带 JavaScript。React Email 被他当成编译器:写法套进 API,就到处能用,TypeScript 还能在发出去之前拦住空逗号这种错。有人质疑这里没有状态、没有交互,他承认用的就是模板那一层。开源文档他故意连 SendGrid、Mailchimp、Mailgun 的接法都写了,每一篇都是他自己写的。模板这条路通了,后面才需要一个平台把信送出去。

来问「用哪家」的,开始是 agent

主持人已经接好 Cloudflare 的邮件、域名和 DKIM,模型仍在屏幕上要求加上 Resend。他问 Zeno 贿赂了 OpenAI 还是 Anthropic。Zeno 说希望有人可贿赂。他从一开始就认定,每一代工具的分发渠道会换地方。Heroku 那一代、Netlify 那一代,人们记得的是当时定义那一刻的工具。有人问起邮件,他要排在第一。主持人的观察是,Claude Code 有 60% 以上的时候会推荐他们。这是主持人的说法。

仪表盘是同一位移的证据。他花很多时间把仪表盘做漂亮。现在客户跟他说:我从不开那个仪表盘。他觉得挫败,也接受。

MCP 是他停下「什么流行、什么过时」之后仍在加的一层。几个月前人们说 MCP 已死,只剩命令行。他的产品观是无形:对方想怎么用,就应该能用。所以一直 API 优先。用例他盖不全,就把 API 交出去。MCP 调用他看到每个月至少翻倍。八月结束时,他记得大约是 120 万。字幕连写成 1.2 2 million,又说八月底之前的数字还要更高。这是他的回忆。主持人看着月度曲线,说增长从大约每月 50% 走到基本每月翻倍。

第一版开源 MCP 是投资人里的 Yoko 做的,当时在 a16z。字幕有一处听成 remote local。远程版要重做整套权限,先做 OAuth,再谈官方商店和插件市场。可观测、Datadog 的仪表盘,然后才是一家一家去谈。他希望自己有主持人那些关系。谈进去并不容易。

工具数量,早先的担心是太多会把模型弄糊涂。他现在不那么看到这一点,还在往上加。上线时也许 20 个,或者更少,现在 80 来个。主持人拿 Cloudflare 只有搜索和执行两个工具来对照。Zeno 要的是仪表盘能做的事,MCP 也能做。做到 90% 是一种做法。做到 100% 很难:用量计费、团队邀请、开户、删除,要不要暴露成 API,都得单独决定。他前一天发给主持人的投资人更新,就是用 MCP 从几处把数据拉齐的。

官方维护在他作为买家时是硬条件。Plausible 的 MCP 由 Sentry 做,他信任 Sentry,仍换到有官方 MCP 的 PostHog。跑步他改用 Strava,因为有 MCP。某个要在本地接上的 MCP,桌面能用,手机不能用,他就不碰。

命令行也在涨,涨得不如 MCP。招聘页是他某个周末做的。一个职位可以三种方式申请,其中一种是命令行的交互模式,技能也烤进了命令行:可以直接让 Claude 去申请 Resend 的产品设计师。申请来源若是命令行,他会另眼看,因为对方多走了下载和登录。对方也常说,自己从没用来命令行申请过工作。SDK 他们看过生成方案,字幕点了 Stainless 和 Fern,生成结果他们不满意。Java、Rust、.NET 这些 SDK 是人写的。有人拿一种大约 500 人在用的语言问他,相对 400 万用户值不值得。字幕把 500 和 400 叠在一起。他的回答是他在乎这几百人。

给智能体读的页面是同一原则。文档走长尾:不只有 Python,还有怎么配 Django。模型开始被拿来提问之后,几乎每页都有问答,定价页、安全页都有,因为人们会问 Resend 是否符合某项合规。文档站用 Mintlify,因此有 llms.txt,营销站每一页也要有。安全页加上 .md 能出 Markdown;内容协商也可以在原页直接给 Markdown。他不确定法律页上那个「总结 / 解释」入口有没有用。主持人也不确定。

有用的一次他记得很具体。一个周日他做竞品比较,问发 120 万封时谁便宜谁贵。模型把 Resend 说成定价很晦涩,数字完全错。定价页上的计算器是一段 JavaScript,智能体拖不动。他把同一页做成 Markdown。几天后再问,数字对了。访问得去 Datadog 看,常规分析看不见。采用率的对比图也一样:JavaScript 图表不会被执行,他就把同一组数据写成文字。对手做的对比页,被推荐得比他们自己的页面多。他们放在 /migrate 的是一段代码转换,加上后来补上的采用率图。Opus 4.5 上他看到过一种近因偏向:模型去取较新的材料,新工具更容易冒出来。他们没请过 SEO 或 AEO 顾问。提及追踪的产品他们订了四家。他缺的是这些工具不告诉他下一步做什么。

API 本身也曾被框架带偏。Next.js 让人把数据绑在页面上,默认就没有公开 API。他们的 API 一开始在 Next 上,账单高到付不起,迁到普通的 Node 服务。仪表盘曾是另一套私有 API,代码复制来复制去。现在在一个仓库里复用。他的默认希望是:后端无头,前端只是许多客户端里的一个。

薄的那一层用完了,就得往下走

他们起初走 SES,是为了把创新留在开发者体验上:每种语言一个 SDK,补上别人没写的用法,比如怎么在 Lambda 里发信。域名的组织方式很快碰到限制,里面有 configuration set 这套概念。主持人说 freeCodeCamp 大约 500 万订阅,SES 大约一个月 5000 美元。Zeno 说他们会比这贵。藏起来的成本是:退信、投诉、打开和点击要走 SNS,日志要 CloudWatch,事件多了要 SQS,还要自己做 webhook。SES 本身能用。围着它长出来的那一圈,会比想象中大得快。

所以他们现在往金属走。项目已经做了几个月,很快会公布一点东西。字幕没有说公布的是什么。要自己买整段 IP,自己管 IP 池,自己做流量控制,控制打进每个邮箱供应商的吞吐,还得有和供应商的关系。关系一旦有了,能交给用户的控制就多。他最想补的是可观测:信出去之后到底送达没有,落在哪个 IP,是不是进了推广标签。以前只能信任它出去了,然后听见某个用户说没收到。这段空白,离金属越近,能摊开的数据越多。

性能上他们在问最基本的问题,比如 P99 不该这么慢。原来整条栈都是 JavaScript 和 TypeScript。发送路径上已经不用 JavaScript,换成了 Go,别处也在换。语言在他看来已经便宜到可以按问题重写。

营销信和事务信的价差,也来自这套基础设施。行业习惯按联系人收费,按每个联系人创造的价值来定价。他们服务的人工智能公司长得很快,他点了 Mistral。按联系人收费这套模型因此在松动,他们在改。事务信是把消息放进队列再取出。营销信是一套引擎:批次、批次之间的间隔、边发边看、加快或放慢,必要时拦住。速率按域名有上限。主持人以 10 万封、大约 10 分钟来问。Zeno 确认有上限,并说以他们现在 430 万用户的规模,一次发送要超过一天。想进另一条队列,就得付更多。他把它比成令牌的速率限制,门一直得加宽。

企业销售他们才刚打开。主持人说团队大约 50 人,远程,散在各地。Zeno 在纯企业公司待过,知道牛排晚餐和销售配备是什么。他拖着,怕一次性损伤远程文化。现在有一名客户经理,他说帮上了忙。企业要的是另一件产品。加上单点登录、SCIM 和审计日志,放上定价页,还不够。20 美元的用户在乎的事,和企业在乎的事不一样。字幕把 SCIM 听成 scam。

收信是下一块他在花时间的地方。入站是最底层的抽象。再往上,是用 API 成批建收件箱。他口中是几十个,也可以是 100 个,然后要读、标记、加星、打标签。很快会发一个产品。主持人提起 Missive、Help Scout、Front 这种共享收件箱,他希望能做成那一类的一个版本,并说有个功能开关可以试。规格仍以发布时为准。

智能体已经在替人选用哪家邮件、替人读定价、替人发信。文档和仪表盘教不会它。烤进发送路径的纯文本、对得上域名的链接、排队和节流,是它不会主动去做的那一层。再往下的 IP、吞吐和「到底进没进收件箱」,决定这层默认值能不能继续成立。欺诈系统的细节、以及那次即将公布的基础设施,字幕都没有展开。