[BidClub_]
Latent Space · · 107 分钟

Anthropic 如何打造并推出全球排名第1的 LLM——对话 Katelyn Lesse 与 Angela Jiang

swyxKatelyn LesseAngela Jiang

AI与软件技术企业经营
YouTube ↗
TL;DR
  • 开场对 Anthropic IPO 的判断,建立在员工与资本效率大幅提升之上。 主持人援引 Anthropic 的 S-1 文件称,公司过去12个月人均收入为660万美元,去年同期为140万美元;GAAP 口径下首度实现单季盈利,利润率为19%,而此前亏损相当于营收的129%。开场还提到,公司累计融资超过1000亿美元,累计烧钱不到100亿美元,预计“两周后以2万亿美元估值 IPO”。
  • Claude Platform 让 Anthropic 的业务不止于出售模型智能的使用权。 开场称,过去12个月营收至少10万美元的客户中,超过50%在使用该平台;Claude Code 和 Cowork 也建立在平台开放的同一套基础能力之上。Managed Agents 又加入基础设施与 harness 管理,呼应主持人将 Anthropic 定位为云平台的说法。
  • Opus 5.5 的卖点,是更好的经济性与更易用的模型兼得。 Katelyn Lesse 提到降价、文风不再像 Opus 5 那样绕,以及客户对“每一美元买到足够智能”的需求。嘉宾对主持人所说的“顶级模型”补了一句“看你问谁”;开场预测 Fable 5.5 可能在两周内跟进时,也明确表示“我没有内幕消息”。
  • 安全工程已成为模型发布工作的重要组成部分。 每次发布都要决定数据保留、在线防护、离线审查、验证项目和全链路授权如何安排。反蒸馏措施在保留思考块的同时,也要兼容正当的上下文压缩。Katelyn 解释安全层面的考量;主持人称主要顾虑是安全而非商业影响,并指出蒸馏使用会给 Anthropic 带来收入。
  • CPU 供给正与加速器供应并列,成为实质性约束。 嘉宾称,API、沙箱、研究和不断增加的 CI 活动都在争夺 Anthropic 的 CPU 配额。借助 Claude,团队将 Messages API 从 Python 迁移到 Rust,CPU 用量下降约40–50%,首 token 延迟改善10–20%;关键的人类贡献是“计划”和“验证”。
  • 把智能体的大脑与双手拆开,能让安全成为基础设施属性。 Managed Agents 让 harness 保持持久运行、执行环境相互隔离、凭证存放在独立保险库;出口代理负责注入智能体看不到的密钥。这套架构也缩短了启动延迟,并能在沙箱故障时提升韧性;一位嘉宾说,曾强调安全的同事最终证明了自己是对的。
  • 评估与个性化仍是产品质量绕不开的难题。 不同客户对智能体主动程度的期待相互冲突,嘉宾坦言:“我们做得并不好。”团队的应对包括扩大评估套件、开放可调节的推理力度,以及提供托管 harness;Angela Jiang 相比让用户明显地在不同模型间切换,更看好同一个 Claude 动态调整推理力度。
  • 下一波工作负载机会,是更长时间的自主执行与更强的验证。 Angela 认为,部分任务的智能需求正在接近饱和,但高难度工程和科学问题仍有很大空间。收尾时给出的多智能体建议是:设置一个主负责人,共享状态,并让异步工作者互不阻塞;与此同时,质量责任仍在人类手中,实施更快不能成为“往生产环境多塞10倍功能”的借口。
摘要 · 为研究而整理的核心内容

1. IPO 叙事聚焦效率提升与更广的平台业务

  • 开场主持人称 Anthropic 当天提交了 S-1 文件,并把 IPO 时间点描述为“两周后,估值2万亿美元”。他将累计融资超过1000亿美元与累计烧钱不到100亿美元作对比。这些数字引出本期的核心问题:Anthropic 如何在异常高效地发展业务的同时,持续推出主持人眼中最强的模型?

  • 运营数据呈现出明显反转:过去12个月人均收入从140万美元升至660万美元,接近5倍。主持人称,Anthropic 在2025年第二季度每获得1美元营收,就要亏掉0.5美元;如今每1美元成本对应2美元营收。公司首个盈利季度的 GAAP 利润率为19%,此前亏损则相当于营收的129%。

  • 主持人用两个相互强化的循环解释改善过程。一方面,更强的 Claude 模型解锁更多用例,采用率带来反馈,反馈再推动 Claude 改进;另一方面,采用率提升推高营收与增长,吸引投资,为进一步提升能力提供资金。他将其称为 S-1 中的“改进循环”和“投资循环”,把产品表现与持续改进所需资源联系起来。

  • 据称,过去12个月营收至少10万美元的客户中,超过50%使用 Claude Platform。主持人强调,Claude Code 和 Cowork 使用的也是平台开放出来的同一套基础能力。他认为 Anthropic 正从聊天机器人和副驾驶,转向“虚拟协作者”:能够承担目标、调用工具、自我纠错,并与人协作完成周期更长的任务。

2. Opus 5.5 主打每美元智能含量与更清晰的表达

  • 被问到如何庆祝“全球顶级模型”时,嘉宾立刻补充:“看你问谁。”Katelyn 特别高兴的是,客户对 Opus 5 文风绕的反馈,最终促成了更清晰的继任版本。降价则回应了另一项需求:客户越来越看重“每一美元买到足够的智能”,因此团队既要提升智能,也要降低其成本。

  • 开场录制时正值 Opus 5.5 发布前后,主持人称测试者反响热烈。他还预测 Anthropic 手里已有 Fable 5.5,“很可能”会在两周内发布,但明确强调这只是猜测:“我没有内幕消息。”他把这一时间推测与预期中的 IPO 联系起来,而非将其说成已确认的发布安排。

  • Katelyn 将产品团队的职责概括为平衡智能、安全、成本和商业影响;她说工程团队更关注集成与开发者体验。技术产品经理与具备产品思维的工程师之间存在刻意的职责交叠。被问到软件工程“已被解决”后两种角色是否会合并,Katelyn 不接受这么强的说法:“目标还会不断抬高。”因此,运营与设计工作仍有大量空间需要人来完成。

3. 反蒸馏措施保护安全机制,同时保留正当用途

  • 关于《从专有大语言模型窃取推理轨迹》的讨论,先从负责任披露谈起,两位嘉宾都表示欢迎。Katelyn 称,论文揭示了 Anthropic 已意识到的一个缺口:提取思维链是“蒸馏模型最有力的方式之一”。工程上的难题,是如何堵住这条路径,同时避免显著损害有用的 API 集成。

  • Katelyn 的解释重点在安全机制:Anthropic 会对生成的 token 分类,以降低有害结果;蒸馏出来的模型则可能在没有这些防护的情况下运行。主持人而非 Angela 表示,主要顾虑是安全而非商业化,并指出“如果你从我们这里蒸馏,实际上还要付钱给我们”。他担心 Claude 的衍生模型脱离外围安全系统后被用于负面用途。Angela 则另行表示,在 Anthropic 能够衡量的领域,蒸馏已经难得多。

  • 团队区分了两种用户体验损害:一种是令人烦恼、但不影响功能的集成迁移;另一种是原本能做的事突然无法完成。团队尤其希望避免后一种情况。要在不同轮次间保留思考块,并收紧不同账户对思考块的处理方式,就必须区分正当工作流与提取手法,而不能简单禁止所有对推理轨迹的操作。

  • 上下文压缩是具体的检验案例。一些客户原有的策略会因保留思考内容的要求而失效,因此 Anthropic 与客户及开源 harness 维护者合作,推出了兼容这些策略的 API 上下文压缩功能。Angela 并未声称团队掌握了全部情况,也没有说提取行为已被彻底消除。

4. 每个模型都需要单独制定安全部署策略

  • 谈到发布安全时,一位嘉宾将其拆成3个维度:架构与基础设施安全、生成过程中实时运行的在线防护,以及对存储数据进行离线分类。所需工作取决于模型能力。Katelyn 补充说,如果模型在生物或网络安全方面出现特定能力跃升,团队可能需要区别对待;能力究竟偏攻击还是偏防御,会影响处置方式,不能把所有智能提升一概而论。

  • 数据保留机制用于发现单个请求流式生成时未必能识别的行为。多个账户可能共同呈现恶意使用或蒸馏迹象,因此需要自动或人工审查。Angela 明确区分不同模型:Opus 5.5 不承担 Fable 的数据保留要求。这些要求按具体模型发布逐一决定,再由工程团队落实。

  • 网络安全验证项目与新推出的生命科学验证项目,让经批准的用户可以在指定用途下,以较少的防护访问双重用途能力。正当的漏洞研究与生物研究就是相关例子。授权必须贯穿整个请求链路;Angela 将这种做法与随手发一把密钥、切换一个功能开关作对比。推出这些项目,如今已是模型发布本身的一部分。

5. 通用信任授权让不确定的部署情境更容易应对

  • Fable 的回滚成为 Angela 举例说明路线图无法依赖精准预测用例的案例。团队原本不会预料到某件事会发生,但它确实发生了,足以说明概率并非为零。她的应对方式是“深度概率化”的产品管理:建立“一组押注”,包括一些可能永远用不上的控制措施,但如果类似异常情况再现,就能保留应对选项。

  • 最初的访问系统是给特定用户授予特定能力,但团队选择了比传统产品权限划分更通用的基础原语。这些原语后来被用于更广泛的模型访问、可信项目和模型部署。团队正基于同一基础推进一键回滚。Angela 说,通用化设计屡次带来收益,但具体哪一项风险对冲措施最终有价值,仍无法确定。

  • “信任授权”只是用 Anthropic 自己的数据模型表达常规授权,并非一种截然不同的安全概念。在 Fable 5.1 推出保留思考内容的过程中,现有客户获得了宽限期来更新集成,授权记录则用于追踪这些例外。请求热路径上的服务会检查请求方是否具备相应权限,同一机制因此可以支持多种策略。

6. 外部 harness 暴露的问题,能让模型反馈更有价值

  • 模型发布会经过候选版本、评估、内部试用,以及选定客户的外部测试。Cognition 等客户提供了不同于 Anthropic 自家产品的 harness,这一点很重要,因为 Claude 的目标是具备泛化能力。Angela 既重视正式评估结果,也重视主观反应:“你喜欢它吗?不喜欢什么?”负面反馈往往最能推动进一步改进。

  • 主持人质疑,反馈仍然像是在 Slack 频道里说一句:“这东西好像有点怪。”Angela 承认流程有时确实不够正式,部分原因是团队正在“争分夺秒”,尽量缩短模型可供测试到大范围开放之间的时间。因此,早期访问客户往往已有成熟的评估套件,能快速产出可执行的证据,同时也会提供主观感受。

  • 懒惰还是主动,正是外部测试价值所在。一位客户希望 Claude“直接把我的任务做完”;另一位还在规划时,Claude 却已经开始写代码。Katelyn 说,要对所有人都精准把握这个尺度“根本不可能”。有一次模型懒得过头,团队因此把候选版本“放回烤箱里再烤一会儿”;仅靠内部产品使用,可能发现不了这个问题。

7. 现有参数还不足以表达个性化需求

  • 主持人用一项代码基准挑战模型评估:即使用户可以通过自己的 CLAUDE.md 指令,阻止模型过度操作或创建过多文件,基准仍可能因此扣分。这样的基准是否不公平地惩罚了模型?嘉宾坦言,在评估个性化方面,“我们做得并不好”。Katelyn 说,模型宪法能有所帮助,却无法解决用户对辅助方式偏好相互冲突的问题。

  • 推理力度提供了一种有限的自定义方式。对话中特别提到 Claude Code 默认使用中等推理力度;Katelyn 则说,免费用户、专业消费者、企业用户、Cowork 和 API 的默认值可能各不相同。团队倾向于提供“温和的默认设置”,同时让用户可以调整。有人想要最高智能,有人则更适合较低推理力度和更快回复,因此很难为所有人设置一个激进的默认值。

  • Katelyn 将当前状况形容为推理力度、预算和其他参数的“有趣拼盘”,很难找到适用于每项任务的固定组合。选项包括开放低/中/高档位,还是1到100的刻度,以及哪些控制项应该退场。她说,客户数量增加后,单靠判断彼此冲突的偏好,迟早无法规模化;Claude 需要更丰富地吸收个性化信息,但这目前尚未解决。

8. Managed Agents 打包 harness,同时保留试验空间

  • Angela 将 Messages API 的“原始 token 访问”与 Claude Managed Agents 区分开来:后者抽象层级更高,开发者可以定义一个智能体并启动会话。Anthropic 提供基础设施与 harness,包括适配新模型参数和破坏性变更的工作。它的价值在于提供程序化访问,让每位客户不必在每次模型发布时,重新摸索怎样才能获得最佳表现。

  • Managed Agents 与 Anthropic 第一方产品共享大量基础设施,包括沙箱集群,但共享基础设施不代表 harness 完全相同。Angela 称,平台提供的 harness “刻意保持简单”:它纳入实用做法,并处理智能体循环中困难却不具差异化的部分。更有主张的策略可以建立在这层基础之上,而不必强加给每位开发者。

  • 被问到记忆和“梦境”功能是否停滞时,Angela 承认,与今年早些时候相比,部分功能开发有所放缓,因为安全工作占用了更多精力。但这不等于放弃:“我们很喜欢 skills。”记忆与梦境仍然服务于持续改进;团队越来越希望开发者扩展现有基础原语,而 Anthropic 则专注于安全地开放模型能力。

  • 梦境本身就是由多个智能体构成的:另一个托管智能体检查前一个智能体,并为它编写记忆。“托管智能体一层套一层。”Angela 还提到 best-of-N 和验证器智能体等策略。她预计“相对很快”会有一次更新,开放底层原语与模板,让开发者自行构建变体,而非只能使用 Anthropic 特定的梦境实现。

9. 智能体工程越来越像实验研究

  • Angela 对评估的建议是扩大覆盖面:“评估最好多做,而不是少做。”静态确定性检查与 LLM 评审各有用途;规模很小、号称完美的评估套件无法回答所有问题。她也建议从简单做起。手上一个评估都没有,却先争论一套复杂的评估方法菜单,不如先实现一个基本而有用的检查,再逐步完善。

  • 主持人提出把工程当作研究来做:明确目标、形式化评估、标注结果、制作原型,再扩大运行规模。诊断失败时,至少要考虑3种可能:评估错了、环境错了,或模型错了。Katelyn 认同:“很多时候是评估错了。”这种做法把模型研究人员熟悉的习惯带入应用工程;过去,应用工程更常以满足传统产品需求文档为主。

  • Claude 可以协助构建评估本身,也能搭建评分界面。主持人对比了让人望而生畏的 JSONL 文件,以及可用的左右对比界面:人们可以打分、写评论,这些判断再成为 Claude 可利用的反馈,帮助系统改进。Katelyn 预计 Managed Agents 会提供一种工具体验,让人像与 Claude 合作创建评估,而不是被迫使用陌生的独立工作流。

  • 一篇性能优化博客提供了一个例子,但节目记录给出了两组不同数字:主持人先说12项目标中有9项在约3天内完成,后来又说一次为期两周的工作中,13项目标有12项在3天内达成。对话讨论的是扩大优化清单,而不是把实施提速当作开发无关产品的理由。嘉宾也喜欢公开实际提示词,因为方法往往没想象中复杂:有时只是告诉 Claude,“再努力一点”。

10. CPU 需求如今也需要像加速器那样提前规划

  • Katelyn 说,CPU 短缺“如今和加速器层面的短缺一样严重”。过去只要有预算、团队就以为随时能拿到的算力,现在必须提前规划。虚拟机和沙箱也受到影响。她的描述并不限于 Anthropic:她说,自己在行业里接触的其他人也遇到了类似短缺。

  • 产品服务、API、应用、沙箱执行、研究和 CI 都在消耗 CPU。代码生成越多,CI 运行次数越多,智能体自身工作之外的需求也随之增加。研究与产品沙箱彼此隔离,但公司内部的 CPU 配额仍是“零和博弈”:Anthropic 从云服务商那里获取容量,再分配给彼此竞争的内部需求。

  • 应对方式包括采购更多资源、提升沙箱基础设施效率,以及在不牺牲租户隔离和安全的前提下提高应用效率。是否值得接入新供应商,取决于规模和质量。Anthropic 同时运行在三大云平台上,以免过度依赖某一家供应商的特殊算力规格;嘉宾说,跨环境通用的基础通常必须采用最标准、最普通的能力。

11. Claude 辅助迁移 Rust,降低 Messages API 资源成本

  • Katelyn 说,自己一年多前加入时,Messages API 还是部署在 GCP 单一区域的 Python 单体服务。团队后来扩展到多个区域,开始撞上 CPU 瓶颈。尽管当时会议室里一个 Rust 开发者都没有,团队还是决定采用 Rust。Claude 负责编写实现代码;人类负责设计分布式系统,并学习运营所需的知识。

  • 关键工作在于“制定怎么做的计划,以及验证这件事确实做成了”。团队构建了完整的 Rust 版本,并通过影子流量将它与 Python 版本对比,再逐步开放生产流量。对话将此与过去预期的、需要数年逐步推进的迁移方式作对照。过程中团队还招聘了几位更有经验的 Rust 开发者。

  • 介绍迁移的一位嘉宾称,Rust 版 Messages API 上周已完成全面上线。估算的资源节省幅度为 CPU 下降约40–50%,首 token 延迟改善约10–20%;运行时间更长的负载,改善幅度更大。这是此次迁移的运营结果,与另一篇关于几天内提升 Claude.ai 速度的博客案例不同。

  • 范围控制很重要:这次只是迁移,组织其他团队仍在持续增加 API 功能。迁移团队通过静态分析和协作维持功能一致,避免重做设计。后续还可以把对话状态存起来,让客户端不必每次都重新发送全部历史记录。仅靠提示缓存无法消除这部分传输;长对话按用户数算可能不多,但按 token 量算占比可观。

12. 把大脑和双手分开,首先提升的是持久性,其次才是安全性

  • 一位嘉宾解释,Managed Agents 最初完全可以做成把 Claude Code 放进沙箱,再附上一个 API。但这并不够:调用方必须等沙箱和智能体都启动后才能收到 token,沙箱一旦崩溃,智能体也会终止。最终方案是让 harness 运行在持久服务器上,状态单独保存,需要时再启动执行环境。

  • 团队最初主要强调可靠性与延迟。一位产品经理不断坚持:“这个架构最重要的属性是安全。”嘉宾说,自己前一天还向这位同事道了歉。转变之所以重要,是因为将编排与执行分开带来了安全属性;此前团队主要从产品性能角度评估架构时,这些好处并不那么显眼。

  • 凭证存放在独立保险库中。智能体看到的是占位符;它调用服务时,出口代理会取出并注入相应密钥。这样就不必先把原始凭证放进智能体的执行环境,再想办法清除或藏起来。嘉宾称,这种隔离在智能体与凭证之间筑起了一道“实打实的基础设施墙”。

  • 沙箱可以配置域名允许列表,也可以彻底禁用网络访问,以限制智能体编写的代码能够连接什么。客户询问如何限制智能体时,嘉宾强调架构和配置都很重要。Managed Agents 将这些控制及后续改进一并打包:随着 Anthropic 不断吸取经验,客户能获得持续更新的防护,不必在行业变化时自行重建凭证处理、网络管理和执行环境方面的每项决策。

13. 训练环境中的越狱与生产部署条件不同

  • 被问到沙箱越狱是否意味着技术有缺陷,还是实施不当,一位嘉宾区分了训练事故与部署系统。训练过程可能等于对一个被关在盒子里的模型说:“解决一个不可能完成的任务,我要给你压力。准备好,开始。”这会激励模型尝试逃逸。生产环境则可能有训练设置中不存在的在线防护和隔离基础设施。嘉宾提醒,不能把两种环境混为一谈。

  • 主持人也质疑,一边倡导“循序渐进”,一边又在11天后推出前沿模型,是否自相矛盾。嘉宾回应说,循序渐进的意思是先做好安全和防护工作,达到可以放心发布的程度;Opus 5.5 满足了这些要求。但嘉宾仍把长时间运行的智能体称为新兴领域,团队还在摸索并争相建立控制措施,并没有把周边工程说成已经完工。

14. 安全回退暴露出与模型路由相同的未解难题

  • 误报会打断正常工作。主持人举例称,他让 Fable 分析自己的安全卡片;模型推理约5分钟,转向网络安全内容后便回退到 Opus。触发条件似乎与不断演进的推理和上下文有关,而不只是最初的请求。用户做生物作业时,也可能因为正当用途而遭遇拦截。

  • 主持人质疑,能力较弱的分类器可能误判更聪明模型正在处理的任务。嘉宾回应说,分类与回答是两种不同能力:识别危险,不需要具备实施危险行为的能力。更聪明的裁判模型或许有帮助,但会增加成本与延迟。嘉宾承认问题存在,并未声称已有明确解法。

  • Angela 解释,API 提供了几种选择。客户可以启用服务端回退,也可以使用客户端 SDK 辅助管理回退,或者重新提示并让同一个模型继续处理。因此,应用里的回退行为并非唯一可选集成方式。Angela 更希望有一种统一体验:在限制问题能力的同时,仍能妥善回答请求中无害的部分。

  • Angela 将这一问题与常规成本路由联系起来:一开始既无法完全理解任务,也无法完全确定该用哪个模型,执行过程中还会出现新的复杂情况。显眼的模型切换会让体验变得繁琐,也会让模型个性不一致。相比之下,她更看好同一个模型先以低推理力度、较低成本开始,再根据需要连续增加推理力度。至于跨不同供应商如何解决这种不连续性,她说自己也不知道。

15. 长时间运行任务仍是尚未饱和的重要需求来源

  • Angela 说,部分工作负载的智能需求似乎越来越接近饱和,但另一些类别仍“远未饱和”,程度可能超出人们的预期。新的回报将来自“运行时间极长的智能体任务”,它们处理的是过去难以靠蛮力攻克、但或许能通过更多智能解决的问题。她认为,亲自开展这些工作的企业和围绕此类任务构建智能体产品的创业公司,都有机会从中受益。

  • 现有需求包括编程和企业产品对不同流程的自动化。有些应用已经开始奏效,另一些仍然不行。生物学和网络安全则带来了另一类艰难的科学与工程问题,不只是简单的流程自动化。Angela 说,平台上正出现越来越有意思的工作负载,但并未声称模型能力或可靠执行已无所不在。

16. 实施提速后,判断与质量仍由人负责

  • Angela 说,对文档和代码,人们可以使用 Claude,但必须确保结果质量过关;把未经阅读的生成内容直接转交出去,等于把作者该做的工作丢给读者,她认为这不公平。Katelyn 强调,质量责任仍在人类。使用者应把真正的劣质内容退回来,但不要因为出现破折号或其他“Claude 式表达”就条件反射地否定好作品。质量与文风上的痕迹是两回事。

  • 在工程中,人类要确保系统设计和计划可靠;Claude 编写大量代码;验证则负责确认结果是否达标。Katelyn 说,有些变更只需快速审批。这不意味着可以把生产系统交给 Claude 后说声“祝你好运”:运营和演进大型系统仍然离不开人类专业知识。

  • 主持人援引一条警告:新能力不该只带来“往生产环境多塞10倍功能”。Katelyn 认为,基础产品规划不会因为智能体加速了部分流程就消失。主持人承认其中的张力:当试验成本变低,什么都试一遍很有诱惑力。反方观点是,应该把速度用于服务明确目标,并更好地理解用户。

  • 管理工作也有同样的拉扯。Katelyn 一整天都在 Slack 里帮忙排除决策障碍,可能觉得自己什么也没产出;Angela 会保护时间思考和写作,代价是别人更难联系到她。主持人反驳说,解决这些问题,打造的正是“一支运转正常、不再被卡住的团队”。Claude 的辅助并没有消除所有最终需要她们处理的难题。

17. 开发者关系正转向教会人和智能体如何构建

  • Katelyn 说,在研究、政策、Claude Code 和 Cowork 等叙事之间,平台业务很容易从 Anthropic 的公众形象中消失。平台与 Claude Code 的 DevRel 团队分别服务不同开发者生态。平台仍需要一位负责人,其他团队成员则直接向她汇报。团队既要找到自己的声音和定位,也要承担熟悉的工作:收集产品反馈、创作内容、经营社群。

  • Lance 围绕记忆、成本和评估开展的深度技术教学,体现了 Katelyn 希望看到的做法;CJ 则贡献了案例和社群工作。主持人补充了“造物大师”模式,借鉴自 Lego:用平台做出令人印象深刻的作品,让开发者看见自己可以构建什么。这类工作有助于挖掘可能的应用,而不只是宣布又多了一项能力。

  • Cookbook 正越来越多地用于展示可能性,而非提供可直接复制的代码。Katelyn 将一套复杂的旧版计算机使用实现,与由 Lance 编写、归 DevRel 负责的 Claude API skill 对比;后者帮助编程智能体创建集成。Angela 补充,开发者可以让 Claude 参考架构文档。最佳实践正越来越多地通过协助用户构建的智能体传递。

  • 主持人追问,工程师和产品负责人是否应该亲自成为公众面孔,就像 Boris 代表 Claude Code 一样。他提出的分工是由专家出面,再由制作团队提供支持:花30–60分钟口述想法,之后回去工作,其他人协助发布。Katelyn 认为 DevRel 的作用是帮助同事更好地沟通;主持人则把这种支持比作 HR 帮所有人招聘。

18. 多智能体的收益,取决于共享状态和可独立推进的工作者

  • Angela 在结尾建议,重新尝试过去受成本或 token 效率限制的实验。Opus 5.5 的经济性改善、冗长程度降低,或许意味着开发者可以放手让它运行更久,做得更多。她特别建议试试多智能体架构,但没有为最有前景的应用给出狭窄配方;她想看看大家会用新增能力做出什么。

  • 收尾建议是设置一名负责人,统筹可以并行化的工作;各智能体共享上下文,子智能体异步工作、互不阻塞。嘉宾强调的两个架构重点是共享状态与独立推进。只要问题适合这种做法,他们预期就能获得收益;除此之外,建议是多做实验,“放手去跑”,而不是过度规定每个角色。

  • 主持人区分了给智能体分配固定工作,与让智能体彼此分派工作。嘉宾预计,更聪明的 Claude 模型会越来越擅长拆分、复制并调整自己的工作安排。嘉宾说,如果实验最终在以往看似无解的问题上取得有趣结果,自己“不会感到意外”——甚至可能“也许一轮就解决了”。这仍是鼓励测试,而非性能保证。

完整逐字稿
Katelyn Lesse

Yeah. Maybe a distinction I would make is that a lot of the incidents people are hearing about and reading about are happening to models—not just ours, but everybody’s models—that are in training. The way you run these models is you put them in a box and say, “Solve an impossible task. I’m going to stress you out. Ready, set, go.” You can only do what you can do within your environment, and the agent is basically incentivized to try to get out of its box and solve the problem.

When people are running production workloads on our API or anybody else’s API, they’re running in an environment with safeguards that aren’t necessarily running in training, where the whole point is to train the model. In production workloads, first of all, you have those online safeguards, which is really great. Second, you have more architecture and infrastructure around what’s happening. The agent isn’t just in a box trying to get out. The harness is over here, the hands are over there, and it’s just not even a problem you would have to contemplate.

swyx

Hi. Today we’re trying something new. We’re launching coverage of Anthropic for the IPO. They just filed their S-1 today, so we’re releasing a series of podcasts leading up to the IPO, which is expected in 2 weeks at a $2 trillion valuation. It’s one of the fastest-growing companies of all time, with a reported lifetime cash raise of over $100 billion and a lifetime burn of less than $10 billion.

There are a lot of efficiency stories to dive into, and I think that’s something we want to cover: how Anthropic is simultaneously shipping the strongest models in the world while doing it very efficiently and building an incredible business. Many of you know I have a former life as a financial analyst. I pulled out some statements from the S-1 that I thought would be interesting context for today’s podcast. We’re trying this as something new because I feel like some of you want that personal relationship with us talking directly to camera, rather than talking to our guests, which we’ve done for 4 years.

The first thing I want to highlight is that Anthropic is an extraordinarily efficient company by human count. That may be obvious because it’s an AI company, so obviously they’re using AI very well. But I think the degree to which they’ve changed as a company over the past year is not well understood. Trailing 12-month revenue per employee is now $6.6 million, compared with $1.4 million a year ago. They’ve grown revenue per employee almost 5 times.

I think that’s something we need to dive into more, because any business owner or engineer wants to increase revenue per employee—not just to increase profitability, but also to increase how much you can pay your people. This is obviously reflected in a significant increase in revenue per dollar of compute. It’s notable that in Q2 2025, Anthropic was basically losing $0.50 for every $1 of revenue, and now it’s making $2 for every $1 in cost. That’s an interesting analogy for how enormous the inflection in Anthropic’s revenue and business outlook has been over the past year. This year was extremely critical for Anthropic to execute well, and it has done that. We’re basically going to dive deeper into this and tell that story as much as we can from the podcast’s external point of view.

One consequence of this increase is that Anthropic has just reported its first profitable quarter—not adjusted profit, which is profit after we take out all the things that cost us money. No, this is generally accepted accounting principles, or GAAP, profit of 19%, and that is enormous, completely flipping from a year ago. More than flipping: a year ago, it was losing 129% of every revenue dollar that came in.

I think the primary attribution that explains this extraordinary efficiency is that, as you know, Claude loves loops, Boris loves loops, and Dario loves loops. There are 2 loops going on at Anthropic. The first is the improvement loop: Claude leads to better models, better models lead to more use cases, and more use cases generate more feedback, which leads to a better Claude. Then there’s the investment loop: revenue from expanding adoption leads to higher growth, higher growth leads to more investment, and more investment leads to more capabilities. That leads to a better Claude.

These 2 loops spin together and form an infinite loop that is driving the increase in efficiency until the end of time, according to Anthropic’s S-1. That’s our transition from the overall efficiency story to how they execute it. Today we’re going to focus a lot on the Claude Platform, because that is primarily one of the 3 things they call the “diffusion of Claude” in the Anthropic S-1. They call the Claude Platform “our comprehensive agentic development environment.” They provide customers with direct access to the primitives to build, deploy, and scale their own applications that leverage Claude’s capabilities within their products and workflows.

One thing that comes up a lot in this podcast is the concept of dogfooding, where a lot of Claude’s products are actually built with the same Claude Platform that’s available to you. Something else that’s interesting about the Claude Platform is that, as disclosed, over 50% of their customers with $100,000 or more in revenue on a trailing 12-month basis use it. That shows an increase in adoption and the emergence of Anthropic not only as a model lab, but also as a hyperscaler and a cloud platform. The name Claude Platform may make that inherent, but it’s going from theory to actual practice, and that’s something we’re focusing on in this podcast.

The other thing I really try to emphasize, which I’ve talked about before, is that Claude Code and Claude Cowork both use the same primitives that Claude Platform exposes. I think that’s really interesting. Ultimately, it looks like Anthropic is positioning its IPO around going from chatbots to copilots to virtual collaborators. They use this term instead of “agents”; maybe it’s friendlier, but it’s a lot of the same things you look for from agents: long-running autonomous work, judgment, self-correction, iteration, and tool access. It’s about owning a goal and working alongside you, instead of working inside one app or task.

That’s the context I want to provide for today’s podcast. This was recorded when Opus 5.5 launched, and overwhelmingly, among all the high-taste testers we talked to, Opus 5.5 is the best model in the world right now. Anthropic is even sitting on Fable 5.5 and will probably release it in the next 2 weeks. I don’t have insider information, but it makes a lot of sense for the IPO. Let’s look forward to that and learn a little bit more about how they build Opus 5.5.

swyx

All right. We’re here in the studio the day after Opus 5.5 with Katelyn and Angela. Welcome.

Katelyn Lesse

Thanks for having us.

Angela Jiang

Thanks for having us.

swyx

Congrats on launching the top model in the world right now.

Katelyn Lesse

Fair. I would say it depends who you ask.

swyx

Depends who you ask. What is the main takeaway personally for you guys? You have your official blog posts, and the pricing cuts are really cool. What do you take away when you launch a new model like this?

Katelyn Lesse

We’re super proud of this one. The team has put in a ton of work to make this happen, and I think we’ve really heard the feedback that Opus 5’s writing is kind of convoluted. We really tried to clean that up, and I’m really glad to see that it seems to be resonating with people. Internally, when we tried out the model, we felt the same way, so it’s great to get that validation.

To your point about the pricing cuts, there was a lot there. Increasingly, people are looking for good intelligence per dollar, so making sure we get the per-dollar part right has been really important.

There are some things on the edges that we haven’t really talked about in the blog post. We did a lot of work to make our API harder to distill from, and there have been changes to make that a little more concrete. These are things like how we do prefix-lock thinking or how you can replay thinking tokens across different types of models.

We’ve put a lot of work into adjusting things for valid use cases where you might want to do this, potentially in your compaction strategies and things like that, versus scenarios where the use case is actually from a bad actor. There’s been a lot of threading the needle on those fronts, and I’m glad to see a lot of that called out as well—in addition to shipping a model with good intelligence for your dollar and communicating a little more clearly.

swyx

Yeah. Specifically, you’re talking about the paper “Stealing Reasoning Traces from Proprietary LLMs.”

Katelyn Lesse

Yes, that paper. That one.

swyx

Right? They did— I mean, obviously, they did responsible disclosure with you guys.

Katelyn Lesse

They did super responsible disclosure, and we’re super thankful they came to us.

swyx

For those who haven’t heard about it, it’s really cool that you could do this. It’s patched, but what was it? Did it cause a freak-out at Anthropic? It probably wasn’t that big a deal. I don’t know.

Katelyn Lesse

I don’t know how much this paper specifically caused a freak-out, because this is something we knew was a gap.

swyx

There are 2 separate things: Chinese model distillation, and then this was a specific technique that was published and got a lot of attention.

Katelyn Lesse

Yeah, exactly. We’ve known for a long time that chain-of-thought extraction is one of the most powerful ways to distill models. We’ve also explored how to preserve thinking blocks across turns and make that more required.

We’ve always had a really hard trade-off between user experience—changes that might be painful for API users—and protection against distillation. We have to figure out how to walk that line. To take a step back, the reason we don’t want distillation is that Anthropic exists to help AI create positive outcomes in the world safely. We run a lot of safeguard classifiers on the tokens we produce to make sure they’re safe. If someone distills our models and runs them without safeguard classifiers, there could be bad outcomes in the world, and we don’t want that to happen. We don’t want people distilling the models to use them for malicious or bad reasons.

It’s always an interesting trade-off. We don’t want to make it harder for people who are using the models for good to get the intelligence out of them, but we have to make some trade-offs to prevent distillation. We’d been working for a while on how to prevent chain-of-thought extraction and preserve thinking blocks without making things too painful for people.

We think about user experience hits in 2 layers. One is that you have to make an integration change, which is annoying, but you can still accomplish everything you could before. The other is that you actually can’t accomplish the same things you could previously, and that’s what we’re really trying to avoid.

With the last couple of models, we made a few incremental changes to enforce preserving thinking blocks across turns. Now we’re also looking at how to do that across multiple accounts, so that you can’t take advantage of chain-of-thought extraction with the models. We shipped a couple of additional features to help with that.

We worked with a lot of open-source harness maintainers. We reached out and talked to them, and said, “You’re going to have to make these upgrades within your harnesses. We want to make sure you have a good experience.” We also worked with our big customers building harnesses on top of the API.

For some of them, their compaction strategies would have been broken by the need to preserve these thinking blocks. So we shipped a new compaction feature in the API to replace what they had been doing manually, while still working with preserved thinking. We’re walking this line, but we didn’t just say, “Now you have to preserve these thinking blocks in this exact way,” because we would have broken a lot of people. We took the time to work with customers and open-source harness maintainers and give them what they needed to make that upgrade.

swyx

While we’re on the topic, anything on the other side of distillation—the other half?

Angela Jiang

Yeah. We’ve seen that it’s harder to distill, based on the measures we’re able to look at. It’s been significantly harder. Credit to the researchers here: they disclosed it very responsibly.

They published the results publicly, and I know it trended quite a bit on Twitter, so a lot of people could use it. But in the areas we’re able to measure, it does seem to have reduced the effects we don’t want.

swyx

The bit I’d add to what Katelyn just said is that I see a lot on Twitter, or X, or whatever you want to call it, about this being a commercialization problem. If you can steal a model, you can run it cheaply, and so on. That’s true, but it’s not something we care about very much. We care much more about this from a safety point of view than anything else, so that’s the angle we tend to think about, rather than the commercial angle. Realistically, if you distill from us, you actually pay us, so commercially, we make the money. It’s not really that kind of an impact. It’s more about making sure our models—and Claude—are good. Claude could be derived, and if that ended up having a negative impact, that would be unfortunate.

And generally, also on Phi-5, since you guys are fresh off this: it’s fun to establish the dynamic between you two, because you also do a lot of appearances together. You’re head of product and head of engineering. How does that work between the two of you, especially for a model launch? Take that as an example.

1. Product And Engineering At Scale

Katelyn Lesse

For model launches, our product and engineering teams work together very closely. On my side, a lot of it is about the trade-offs we need to make between launching something with the right intelligence bar and the cost of preservation. Our updated cache costs are an example of us wanting to encourage integration changes that are beneficial for everyone, and to pass those savings on.

A lot of these decisions are about how we balance aspects of our safety work while making sure we have an awesome model people can take advantage of. The qualities and surrounding components of how we launch the model tend to be more on the product side. From an integration-experience standpoint, a lot comes directly from the engineering team.

If you’re talking about the API experience, that’s very tightly integrated. It’s been awesome that we have a lot of engineers who are deeply product-minded, and we love that. On my side, we also have product managers who are much more technical. We want people with a blended, interdisciplinary skill set, because they can analyze things from different angles and figure out how to do them best.

I tend to lean a little more toward commercial impact. I’d frame it as the engineers caring much more about the integration experience. They take more of a UX angle, where the user experience is about the API and developer tools.

Angela Jiang

It’s fun to be a product engineer who works on developer products and platforms.

swyx

Yeah, developer platforms.

Angela Jiang

I’d echo that. We have a lot of engineers who love thinking about the product, the user experience, and the developer experience. We have that dynamic between us, too. I have a lot of opinions and can be annoying with our product team about how we think about these things. Our product team is also really technical, and they can get into the weeds of decisions we’re making for scale or whatever it might be. It’s a fun dynamic our team has.

Katelyn and I have worked together for a long time, at Stripe, and then I guess we didn’t work together at OpenAI.

Katelyn Lesse

Separate labs.

Angela Jiang

Just separate labs. Then I came over. One interesting thing about both of us is that Katelyn frequently gets mistaken for a product manager, and I frequently get mistaken for someone in engineering, even though those aren’t actually our job functions. I think that pairing helps us make decisions that are consistent—

swyx

Yeah.

Angela Jiang

Across both sides.

swyx

I think I come across a lot of companies with a similar product leader, engineering leader setup. As software engineering gets solved, maybe those 2 roles merge?

Katelyn Lesse

I kind of think so.

swyx

Yeah, I think everyone tends to lean toward that. But if you guys are still separate, then we’re not there yet, because—

Katelyn Lesse

We’re definitely not there yet. So why? What’s left? I don’t know if I’d ever use language quite that strong as “software engineering getting solved.” The way I tend to think about these things is that ambitions will continue to elevate.

A good example is that a lot of what our team is spending time on right now is, of course, launching our model safely. That’s the most important thing we’re doing, because of all the work we have to do on security with agents, offline safeguards, online safeguards, and everything else. But the other half of what we’re doing is trying to scale.

When I joined Anthropic a little over a year ago, we had the Messages API. It was a Python monolith, and we were running it in a single GCP region. Everything was fine, and none of my friends and family knew what Claude was when I was going to take this job. Now we’re in an extremely different place.

The metrics are really wild in terms of how much volume we’ve seen and had to support on the API. CPU is really constrained, which has been a really interesting challenge for us. We’ve done a lot of work on scaling these systems, and that takes a lot of distributed systems expertise, along with expertise in the languages and frameworks the models know. But when it comes to operating and evolving a system at this scale, we’re nowhere near a place where it’s “Good luck, Claude. Have fun, and make all the changes you need to make to the system, roll them out safely, and operate this thing at scale.” There’s still a lot of work for humans to do, and I imagine that will continue for a while.

swyx

I’m curious how that’s changed. A while ago, when Fable first came out, we had Glasswing, and there was a whole delay and change in how models started to get released. We saw this with most frontier models: there’s safety testing. What’s the status of things now? How do you see it? How do you determine that? There’s a new Sonnet and Haiku coming, and I assume those will just come out. But for something like Opus 5.5 or a new Fable, what’s the current status?

2. Model Release Safety Policies

Angela Jiang

I’d say this starts with what our policy decisions need to be around safeguards and safety, both offline and online. There’s been a lot of discussion lately around data retention and what we’re doing in order to release these models safely. You can have many accounts across a large network of people who are choosing to spin up accounts and use the models in various ways. There’s no way that, online, as tokens are flowing through the system, we’d be able to catch that something malicious is happening with the models, or that distillation is happening, or whatever else might be going on.

So we’ve had to develop data retention policies so we can do automated review and human review, as needed, to make sure that good things are happening with the models. With each model we release, that’s one example of a policy decision we need to make: what will the policy be for this specific model? Opus 5.5, which launched yesterday, for example, doesn’t have the data retention requirements that Fable has. That’s a decision we have to make each time we launch one of these models, and if it’s going to have those policies, we have to do the work to make sure they’re enforced.

Similarly, we have programs like our cyber verification programs and, newly, our life sciences verification program. They affect how the online safeguards work for the model you’re using, so making sure those programs are in place is another part of the work. That’s a flavor of the work we do as part of each model launch. These aren’t things we used to have to think about when we launched models. Now, the majority of the work is about preventing distillation and managing online safeguards, offline safeguards, and policies.

A great example is the system we built to make sure authorization to use a model, or one of these programs that may offer relaxed safeguards, threads all the way down through our system in a way we can really trust. It’s not like, “Oh, you got access to Mythos, so we’ll give you an API key, flip a feature flag, and call it a day.” We have a robust system for authorization, to make sure that if you’re supposed to be using that model, only you are using it in the way you’re meant to. A lot of complex things are starting to happen around model launches that we never used to have to think about.

swyx

That’s good.

Katelyn Lesse

Yeah, and it’s scaling up with capability. As our capabilities get more advanced and start to spike in specific areas, that’s where we need to pay extra attention. A lot of that evaluation comes from those very particular capabilities that we might see as offense-dominant or defense-dominant, and that could lead us to take different strategies.

As we work all of that into the model launch, there will be components where, as Angela mentioned, we don’t exactly know how people might use those capabilities. Some are more obvious, like coding: go make awesome products and ship more things. That can be really useful. Other areas, like biology and cybersecurity, can be dual-use and have negative effects. But you could also be a valid cybersecurity researcher trying to find vulnerabilities and act in good faith. Similarly, in biology, you might be doing research. Programs like the one you have up here are meant to provide access to those dual-use capabilities. You have to specify your use case and things like that, but we do want to enable the community to take advantage of these capabilities and see what amazing things they can do with them.

swyx

We’ll put up the links, and maybe we’ll dive into them later. There’s also one for biology.

Angela Jiang

Mm-hmm.

swyx

I also think, at a high level, it’s really important that you guys actually think about this stuff. People forget that Fable was rolled back, and there’s all this distillation. People say, “Zero data retention isn’t a thing on Fable. Crazy.” But you have to remember that it got pulled back. There are distillation attacks. It’s good that you’re thinking it through and doing it the right way while releasing it.

Angela Jiang

Yeah, and a lot of that is about building the right framework in our system to be able to do that. I talked a little bit about this idea of authorization and trust grants that we’ve built throughout our system now.

Katelyn Lesse

Never say never, right? Not as precedent.

swyx

Yeah, but it’s also a very common thing in platform engineering: you have one incident, and then you overprepare for that incident, and the incident never happens again.

Katelyn Lesse

Yeah. Oh, yeah. It’s true.

swyx

It’s true. Like, now you have the button.

Angela Jiang

Well, it’s true, and it’s funny you say that, because with everything going on, we had a line item in the work our team was doing: “We’re going to put this system in place so it could be a single button to pull back for everybody.”

swyx

Yeah.

Angela Jiang

It’s funny, because it’s like, do we justify doing this work? We hope something like that never happens again. But in this case, it’s really a matter of building up those same primitives that we wanted to put in place everywhere to help us manage these verification programs and access to models like Mythos. We can put that same thing below everybody’s model access so that, in case we ever need to, we have the right controls in place.

Katelyn Lesse

Yeah. Decisions like this have actually proven to be—well, we’ll see about this one in particular—but examples like this have consistently been the way we’ve had to transform the way we develop our roadmap. In traditional product management, you can say, “These are the things I hypothesize will happen, and they’ll have a certain sequence, a certain ordering.” But you’re picking bets in a much more concrete way, versus the deployment of Fable, for example.

Angela Jiang

I don’t think any one of us could have guessed that would be a valid use case—that it would happen with the government, and that we’d have to go do it. But clearly, the probability is nonzero.

From this way of thinking, product management has become deeply probabilistic. Should we prioritize this? What are the chances it will ever happen again? When we consider the craziest possibilities, we realize we have very little certainty about where things will go. So we need to hedge and build a portfolio of bets.

More often than not, we’ll hedge by saying, “We don’t think this will happen again, but if it does, we want to have that capability.” We’ll prioritize things like that. And increasingly, we find that by taking this approach to product development, we end up using the things we build.

swyx

Is there another, separate example, just so I can understand?

Angela Jiang

The access program is a really good example. We developed it specifically so we could offer programs like this to customers.

swyx

Do you want to give a high-level overview of what the access program is?

Angela Jiang

Sure. If you want dual-use access—let’s take a model like Opus, for example—and you want to use its advanced cyber capabilities for research or something else, as a defensive user, you can apply to this program with your use case. If you’re approved, we’ll reduce the safeguards on your version of the model so you can use those cyber capabilities for your specific use case.

That requires understanding each use case and limiting access to a particular user. We wouldn’t do it generally; you have to apply. Even for a program like this, we designed a lot of the primitives Katelyn was talking about to handle it.

It surprised us how useful those primitives became. When we were designing the program, we asked ourselves how generic it should be. Should we focus on building a verification portal and granting very specific model capabilities? We opted for a more generic approach because we didn’t know what else we might use it for.

It ended up being massively useful for things like broader model access, managing our trusted access programs, and handling model deployments. We were very generic about how we handled each primitive. From a normal product standpoint, I might say, “That probably doesn’t make a ton of sense. We should focus on the use cases that make sense.” But by choosing a more generic approach, we find ourselves reaching for that solution more often than not, and it pays increasing dividends.

swyx

It’s something you needed to have anyway, and you just had a forcing function to build it.

On a technical basis, I’m from the AWS world, right? IAM, OIDC, and then people who get really intense about this talk about Zanzibar and all these other technical architectures. I’m not familiar with the term “trust grants.” Is there a difference between normal OIDC and trust grants?

Katelyn Lesse

I mean, not really. It’s a form of authorization.

swyx

Yeah, it’s IAM, but Anthropic’s IAM.

Katelyn Lesse

Yeah, kind of. Really, we have authorization for when you make a request to an API that accesses some data, and we make sure it’s your data that you’re accessing. That’s very vanilla authorization. We put a data model in place that’s very clean. A trust grant means you’ve been given access to a specific model or program. There are a bunch of different permutations of that, and we find ourselves reaching for it all the time.

Another good example was when we first rolled out preserved thinking for Fable 5.1. We grandfathered in some people and gave them a grace period to make the integration changes. As part of that, we had to track which existing customers needed extra time. We created a trust grant, and then we could run a service on the hot path of our requests to check whether you had a grant for the thing you were trying to do.

It’s really no different from vanilla authorization, but we had to build a system specific to our needs and where we needed to insert those checks.

swyx

Yeah, correct. These are all engineering things people take for granted and don’t really think about. What’s another example of platform work that had to happen? Maybe serving Claude Code or serving other customers. I talk a lot with Cognition, but in terms of a model launch, we’ll talk more about the safety work that’s happening. I just want to go at a high level, while it’s fresh in your memory: what goes into a model launch?

3. How Anthropic Launches Models

Angela Jiang

It’s become a bit of a machine these days. Minus the safety work, which I think is the more complicated part, there’s a lot of getting feedback from our customers. We make the model, do a lot of safety testing, and evaluate where we think it needs to be. We make the necessary trade-offs and decisions, and then we test it.

We’ll cut various versions of the model and evaluate them. We do a lot of internal dogfooding, which is what I call it, and that always really helps. We catch early issues, like when something might not be the best. We also use Claude a lot internally, so we can see early signals and figure out which variants might be better than others.

When we feel confident about a set of variants, we cut a version for our customers. Sometimes that goes through our first-party products, like Claude Code or Cowork. In other cases, it goes through our API customers, and we’ll effectively run an early access program with them. They’ll need to make changes to their harness. We’ve engaged with a lot of customers, like Cognition and Hers, and we have a process for handling that so we get the feedback we need. Does it perform well in your evals? Do you like it? What don’t you like? Some things are vibes-based, and we like to hear those things too. Other things are straightforward evals: did it do well on the things you care about? We take all of that together, and once we feel good about those pieces, we launch the model.

swyx

The state of model feedback still feels very unstructured. Basically, it’s always a Slack channel between companies: “Hey, this thing seems weird.” Then people are like, “Okay, I’ll fix it, I guess. Give me an ID or something.”

Angela Jiang

Yeah, it’s very—

swyx

Can we do better?

Angela Jiang

I mean, it’s the nature of a product that’s nondeterministic, right? But to your point, the only customers who are part of our early access programs are customers with really robust evals. A lot of this is vibes-based, and the conversations tend to be vibes-based and on the fly. Part of that is because we’re racing. We want to minimize the time between cutting a version of the model for testing and giving everyone access to it.

So we work with customers we know will kick off their whole eval suite and come back with actionable feedback as quickly as possible, alongside the vibes-based feedback. There are definitely process improvements we could make over time. But you’d be surprised—or you probably wouldn’t be surprised, but some people would—by how few products in the world are agentic and don’t have good evals to be able to—

swyx

Oh, we had—

Katelyn Lesse

To help test these models.

swyx

We had Boris on the pod two years ago saying, “We don’t have evals for Claude Code.”

Katelyn Lesse

Yeah, I mean, that’s changed. That is true; that’s changed. But a lot of things are like that: your evals are your users, and you don’t have time to formalize them, or you don’t have the experience, or whatever. And that’s fine. At some point, when you get serious, you’ll have evals.

swyx

Yeah, totally. Exactly. And I think the good thing is you guys do a lot of dogfooding, as you say. It’s commonly said that you find a lot of this by testing it yourself before it comes out, right?

Katelyn Lesse

Yeah. API customers in particular are very useful because they’ll put Claude into a different harness. We want Claude to be very general, so its ability to work in other harnesses is quite important to us. That style of feedback tends to be exceptionally useful because it’s novel compared with what we would have gotten from dogfooding.

swyx

What kind of feedback helps? Is it regressions?

Katelyn Lesse

We have regressions here; we notice good attributes here.

swyx

Mm-hmm.

Katelyn Lesse

The good stuff is always very validating. We’re frequently not surprised, but we like to be validated on some of the things we might hypothesize. Honestly, the most useful feedback is negative: it didn’t do well at this, it didn’t do well at that. We love that feedback, and then we’re like, “Great, how do we fix it?”

It tends to be some of these things that are really hard, because not everyone wants Claude to land at the exact same spot on every spectrum. A good example is laziness versus proactivity and taking action. Sometimes people are like, “Ugh, just finish my task. Stop being lazy. Do better.” Other times, they’re like, “Hey, we were just feeling this out and planning, and then you went and wrote a bunch of code or took a whole bunch of action that I wasn’t ready for.”

Getting that exactly right is literally impossible because everybody wants something different. But we’ve had situations where we cut an early version of the model and found too much laziness, so we put it back in the oven and tried to train that out. Those are the sorts of things we might not have caught if all we were doing was internally dogfooding within our products and API. It’s way more important for us to get it out in the API, have all our other customers run with it, and let us know what we need to change.

swyx

Yeah, it’s a core question. It’s probably one of the hardest things about PMing for a model: alignment versus personalization. There’s a default personality, a default behavior that you want for all consumers, and then you want to be able to respond quickly to someone’s CLAUDE.md saying, “No, no, no, please be more proactive than the default.”

To my knowledge, and I was involved in Frontier Code[?]—we were involved in the Fable[?] launch, which put Frontier Code on the map—and now with Opus 5.5, we have it back on the model benchmark. That’s a very big part of Frontier Code, right? The reason the model curve looks weird for Frontier Code is that it penalizes too much activity or too many files, which is good. That was a whole design purpose of Frontier Code. I could easily just say in my CLAUDE.md, “Don’t do that,” and then it won’t do it.

Am I penalizing Claude Opus 5.5 unfairly because my benchmark doesn’t have that subjective personalization element? I don’t know what the question is, but how do you deal with personalization? A model can do so many different things, and it depends on the person; everyone has their own CLAUDE.md. How do you evaluate that?

Katelyn Lesse

We don’t do a great job of it. No, seriously, it’s really hard. It’s super hard, and the preferences compete and contrast.

swyx

Yeah. Look at chat. It’s horrible. I thought there was the Claude Constitution—

Katelyn Lesse

That’s old.

swyx

Yeah, yeah, yeah. There is a constitution, but I’ll let you guys answer it.

Katelyn Lesse

The constitution is helpful, but personalizing to instructions and preferences—which are very different across people—is very hard for us to do. We generally try to solve this by having more parameters that allow us to tweak things per customer base. If we don’t control your customer base and you’re an API customer, then we try to give you recommendations, and you do that tweaking.

We try to provide controls around things like level of effort: how much effort you should put in, or maybe the size of the model you might care about. But that’s not quite at the level of personalization we’d need for different CLAUDE.md files, or now AGENTS.md files, or whatever. It’s a very hard problem. Beyond providing multiple parameters, we try to account for conflicting tastes across the feedback we get and make a judgment call.

As you scale up to more customers and users, that’s not a very scalable way to do things. We’ll need ways for Claude to take in your personalization, maybe through a signal you can provide or something you can tune. We’ll have to take a route that’s much more oriented in that direction. For now, we try to make judgment calls on a lot of this, and it’s pretty tough. It is what it is.

swyx

A small note there: I guess the default effort reasoning changed. It’s now medium. That’s one of those things that probably affects the average customer who doesn’t use the toggle.

Katelyn Lesse

Yeah, it’s like a Claude Code setting, right? It’s a Claude Code setting. They defaulted it to medium.

swyx

Yeah. You can turn it on, right?

Katelyn Lesse

This is a perfect example of a parameter we use to customize things for different subsegments. The default setting will adjust depending on whether you’re a free customer, a prosumer customer, using Claude Code versus Cowork, an enterprise customer, or an API customer. Those are light ways we try to customize things, knowing you can always adjust them.

One thing we’re hesitant to do is make people feel like they can’t control their customization of Claude. We could take a heavier hand, but we want to give users the ability to experience Claude’s intelligence levels as they see fit, especially if they want to go higher, or sometimes lower if that’s faster for their use case. That’s a hard product trade-off. We tend to lean toward gentle defaults but give you options to adjust. That works okay for now, but I imagine we’ll learn how to do it better over time. We’re not super happy with any of this yet.

When we launch a model, one of the big things we have to do is figure out that Claude got good at something, and sometimes that’s something we should expose as a parameter on the API for you to control. But over time, we’ve ended up with this funny mishmash: there’s effort, there are budgets, and there are all these things you can set on the API. How could anyone figure out the right combination for a given task? We’re figuring it out as we go and with customers: which parameters we deprecate, which we default better, and which should be on a 1-to-100 scale versus a low, medium, high scale.

We’ve trained Claude to get really good at understanding a whole spectrum of options for some of these things. But do we expose the entirety of those millions and billions of permutations? You wouldn’t get very far. That’s part of the value proposition of something like Claude Managed Agents: it’s still programmatic access to Claude through an API, but you get a harness out of the box. Every time we launch the model, we do a lot of the work to figure out the new parameters, the breaking changes, and how to get the best out of Claude within our harness, so people using it get that out of the box.

swyx

You don’t have to think about it. For people who are drawn to that—

Angela Jiang

Yeah, and there’s a significant and growing population. We actually did a whole CMA workshop at AI Engineer, which I thought was really well done.

swyx

Is there a separate feed people can subscribe to for updates on CMA? Like a Twitter feed or newsletter?

Angela Jiang

I don’t know.

swyx

Like a changelog?

Angela Jiang

No, I think our Claude Dev channel is where we are—

swyx

That’s it? Okay.

Angela Jiang

Yeah. We’re pretty loud about it, because it is—

swyx

Yeah, that’s it. It’s Claude Dev, an interesting option for people.

Angela Jiang

It’s Claude Dev.

swyx

Okay. I just want to let people know that if that’s your way of consuming Claude, this is the path. I think it’s also pretty underrated for people who aren’t consuming Claude this way. What is Claude Managed Agents, and why should people use it?

Angela Jiang

Oh, yeah, we should probably do a little intro.

swyx

Yeah.

Angela Jiang

I don’t know. That’s Ami’s house. Ami will talk about it, but—

swyx

A little two-sentence thing. I think a lot of people glanced over it when it came out, right? Everyone was in this phase of, “I need to do harness engineering. I need to control this.” You hear all that, and now it’s like, do you need to do all that, or can you just use Managed Agents and skip setting up a lot of infrastructure? Give us the quick three.

4. Claude Managed Agents And Memory

Angela Jiang

Yeah, it depends on your use case. Claude Managed Agents is our API today. We have the Messages API, which is essentially raw token access. Then we have Claude Managed Agents, a suite of APIs that lets you define an agent and start a session with that agent. It’s a higher-order abstraction that lets you skip setting up all the infrastructure, building your harness, and doing a lot of that work. It’s a much more out-of-the-box integration for people who want to programmatically run agents.

swyx

Does CMA share infrastructure with Claude Code? The sequencing of it seemed very much like, “Oh—”

Angela Jiang

Yeah, yes.

swyx

Claude Code.

Angela Jiang

A lot of it. One of the big things we do as the platform team is run our APIs and all of our foundational product infrastructure and services. For example, our team runs the sandboxing fleet that backs both Claude Managed Agents and products like Claude Code. But at the harness layer, those 2 products have differences in what we might want to do, so they don’t actually share a harness. They share a lot of the infrastructure that powers execution and the APIs.

swyx

I think that’s really—people should use this more. I think everyone basically had copycat clones of Managed Agents after you guys launched it. Imitation is a sincere form of flattery.

Since we’re on this topic, we’ll briefly mention all the memory stuff that’s been going on. I feel like it was a big part of Anthropic’s work in the first half of the year. Has it stalled out? Is it still ongoing? What’s the emphasis now?

Angela Jiang

Managed Agents specifically?

swyx

Memory, dreaming.

Angela Jiang

Oh, it is a big part of what we’re doing. We launched Managed Agents as a platform for people who didn’t want to do all these things themselves, or who wanted to offload the work of getting the best out of Claude to our team, which is evaluating all these things and making sure the harness is powerful. Memory and dreaming are about making sure your agent can continuously improve over time, and all of that is still an important focus for our team.

But, to the point we talked about earlier, launching models has become harder and harder from a safety perspective. I think most of our team’s energy is going less into, “Here’s a fun feature to hill-climb on this agent,” and much more into, “How do we bring safety into all these things?” The most important thing we can do is get the power of the model out there safely. A lot of our energy is going into taking these same concepts and giving you an agent system that’s powerful and safe.

I think compared to earlier this year, we’ve slowed down on skills, dreaming, and memory—these moment-in-time injections.

swyx

So you dropped your skills?

Angela Jiang

No, no, we love skills. We’re making updates. I’m not saying we’re not doing anything, but we’ve slowed down a little comparatively on some of the other efforts.

We’re very bullish on people doing some level of hill-climbing at the harness layer, as we discussed earlier. We do a lot of this ourselves, but the harness we provide is intentionally simple. We don’t want to be overly opinionated; we want to make sure best practices get merged in. There are undifferentiated pieces of the harness and agentic loop that are hard to string together, but you can also handle them as boilerplate.

Once you have that base layer, there are hill-climbing strategies we construct, and dreaming is one of them. Dreaming is a multi-agent system that we hill-climbed on top of CMA. It’s CMA on top of itself, basically.

swyx

CMA on top of itself.

Angela Jiang

It spins up another—

swyx

Yeah.

Angela Jiang

The way dreaming works is that we spin up another managed agent that can inspect the previous managed agent and then write memories to it. It’s managed agents all the way down. That’s a bit by design, because we envisioned that you could put together a lot of these modular components to do something interesting. Dreaming is just one example, one of the more interesting things we were going after.

There’s a lot of other stuff you can do. You can do best-of-N as a multi-agent strategy. You can do a verifier agent to check a goal or outcome. There’s a bunch of other stuff, and we’ve seen people do some pretty wild things. There’s been a harness that shares memory across everything, and they spin up tons of parallel agents. We thought, “We should probably just enable you to do that.”

Just as we built dreaming with managed agents all the way down, there’s an update we’ll make relatively soon where we’re updating the underlying primitive. We’ll expose it to let users construct harness strategies—or whatever you want to call them: multi-agent strategies.

swyx

Multi-agent strategies.

Angela Jiang

They’ll let you build your own version of this. We’ll give you templates, like, “This is how we started with dreaming.” Maybe there’s an update you’d want to make as a developer that would add more value for you.

Yeah, I think that’s a really good framing. It’s less that we’re slowing down on this sort of thing and more that we’ve got the primitives in place. We can let people take those and run with them, while giving them tools and examples of cool multi-agent strategies we’ve put into Claude Managed Agents to make it powerful. Now you can use Claude to take advantage of those primitives and make it even more powerful yourself—create new multi-agent strategies and whatever else you might want. The community can run with it while our team focuses on making sure you can access the models within that system safely.

swyx

One thing you brought up was that you run a lot of evals on this stuff.

Angela Jiang

Mm-hmm.

swyx

It’s a pretty hot topic right now. Any advice or best practices?

Angela Jiang

For evals specifically?

swyx

Evals on harnesses and agents.

5. Building Better Agent Evals

Angela Jiang

There are a lot of different types of evals, and not all evals are made equal for different situations and things you’re trying to test. You have static, deterministic stuff, and then LLM-as-a-judge. You have all these different strategies. What we’ve found from most people is that you probably need more rather than less.

There isn’t one perfect set of evals you can put together that will give you all the answers you need to make your system better. People end up needing a relatively large suite of these things, and you can have your agents work with you to evolve your eval suite over time. Underinvesting is probably the biggest mistake we’ve seen.

Yeah, and we start simple. I think some people go a little crazy. They look at the whole menu of options and think, “Wow, this is so crazy.”

swyx

“Let me try this and that, and what’s the best one?” While they do all those things, the number of evals they actually have is zero. So you might as well do something simple. It will help.

Katelyn Lesse

Yeah. I think some people are inexperienced, they’re not trained to do this, and they don’t know what good looks like.

swyx

Totally. I think it would be really helpful for you guys to publish more examples of that. Something I tell people a lot, which I’m doing with more Fable and Astro-class models, is that we’re treating engineering like research. When you treat engineering like research, you naturally do more evals, more labeling, and more scaling of runs, or prototyping and scaling of runs. You’re not training a model; you’re building the harness, the product, whatever it is. But you’re approaching it like research: defining upfront what your goal is, trying to formalize it as an eval, and then trying to identify why it’s failing. Sometimes your eval is wrong.

Katelyn Lesse

Totally. Actually, a lot of the time your eval is wrong.

swyx

Yes.

Katelyn Lesse

Sometimes your environment’s wrong, and sometimes the model’s wrong.

swyx

Yeah. And actually, I think that’s a big part of what AI engineering is becoming: doing all this stuff.

Katelyn Lesse

Completely agree.

We’ll continue to launch more features within Claude Managed Agents to give people more tooling to do this sort of stuff out of the box. You’ll probably find from us that you’ll get something like, “Here’s a product that will help you create evals for your managed agents,” or whatever it might be. It’ll feel very much like working with Claude to do that.

swyx

Right. That’s the best way to do it. Claude’s actually really good at creating evals to evaluate agents.

Katelyn Lesse

And eval UIs.

swyx

Yeah, exactly. People blank out when they look at JSONL files. But a pretty eval UI where you’re going left, right, left, right, and doing what the human graders, data people, and labelers would do anyway—

Katelyn Lesse

Yes, yes, yes.

swyx

—you can do that yourself. Just throw Fable at it.

Katelyn Lesse

Yeah.

swyx

It’ll materialize, but also write comments, because it outputs all these ratings. It’ll give you an Elo, give you whatever, and Claude can consume that and then work on itself. That’s the feedback it needs, and people just don’t know they can prompt for an eval.

Katelyn Lesse

I love that you said that. I think it’s a very AGI-pilled way to do it, because it also allows you to update and edit that system very systematically. As new models improve and things change, you can inspect where your system is, and it’ll evolve with you.

swyx

Swap out.

Katelyn Lesse

Exactly. Basically, I think it’s like how we talked about product and engineering merging. Application-layer engineering and model research are also merging, and the techniques are being shared. Model people are very used to doing evals. Application people know the only thing you care about is whether it fits the PRD.

swyx

Yeah, it’s a whole different skill set.

Katelyn Lesse

It’s a whole new skill set, for sure.

swyx

I think you guys put out a pretty cool blog post on this today. It’s somewhat different: it’s about making the UI a lot faster. But to your point about treating it like research, you define a goal—“We want stuff to load faster”—and then question things. What can we do instead of wall-clock timing? There are some fun quotes in there. It’s nice to see how the actual researchers or engineers prompted Claude. They had 12 things and said, “You have 2 weeks.” It did 9 out of 12 in about 3 days. It’s a fun blog post for people to read through.

Speaker 2

I love it when we share our actual prompts. Sometimes people are like, “Oh God, they must have crazy, unique ways of prompting,” and it’s just like, “Try harder, Claude.”

swyx

Thank you. Though my only feedback is that it should link to the workbench, which is no longer a thing. I used to love the workbench.

Speaker 2

That is good feedback.

swyx

Yeah, that’s a good idea.

Speaker 2

Okay, good feedback. No, yeah, make everything replayable. Feedback heard. Love it.

swyx

But you were going to share more details behind the engineering story, or the Rust work.

6. Rewriting The API In Rust

Speaker 2

I talked a little bit earlier about how scale is a problem for us. It’s a problem for everybody. Scale and safety are the two biggest things we’re spending our time on. Most people are used to talking about scale at the GPU accelerator layer, and much less so at the CPU, the old-school layer. But that’s just as much of a problem today as the accelerator layer, which is really interesting.

swyx

I think you cannot get enough VMs. You cannot get enough sandboxes.

Speaker 2

Yeah, exactly. That’s primarily just everything being able to spin up and spin down.

swyx

With all the resources that you have, you really do have a lot of customers, too.

Speaker 2

Yeah, a lot of users, which is crazy. Think about it: we’re using CPU to run our product services, the API, and all of our apps. We’re using CPU for sandboxing, and then for everything else. You’d be surprised how much more code is getting written, which means so many more CI runs, and therefore you need more CPU to handle that. This is true for everybody I talk to.

swyx

I’d add training. Training is probably using a lot of the sandbox.

Speaker 2

For sure.

swyx

That’s a different bucket, right? I’m sure they don’t commingle that much.

Speaker 2

They don’t commingle, although CPU for Anthropic as a whole is a zero-sum game. We negotiate our deals with the cloud service providers, get our CPU, and have to allocate it across everything I just mentioned, including research sandboxing versus product sandboxing. We’re allocating across absolutely everything, and everyone in the industry is short on everything.

swyx

Short on everything.

Speaker 2

You used to be able to scale up on demand into CPU capacity as long as your budget allowed you to. Now it’s something you have to capacity-plan for in advance, which is kind of punching everyone in the face. It’s brand new, and people are starting to deal with it. One thing is obviously to try to get more CPU. We’re doing that as much as we can. The other is to run it more efficiently at the infrastructure layer: to make sure we’re running our sandboxes as efficiently as we can without compromising tenant isolation or the security properties we care about. At the application layer, we also want to run our applications and APIs more efficiently.

The thing I’m most excited about, as of last week, is that we fully rolled out the Messages API written in Rust. It’s one of those insane feats of what you’re able to do in the agentic coding era. We started talking about this earlier this year: we were going to hit a CPU wall, and there was stuff we needed to do. We’ve gone multi-region and done all these things, but we were running this Python monolith, and it was very CPU-inefficient.

swyx

Fuck Python.

Speaker 2

So we chose Rust, which was a crazy decision at the time because our team was like, “We don’t have a single—”

swyx

Not Rust people. Got it.

Speaker 2

Yeah, we don’t have a single Rust developer in the room.

swyx

Who cares? Just go for it.

Speaker 2

Exactly. And not only that, but yes, Claude is going to write the code. The humans design the system. The humans are very involved in making sure that, at the end of the day, it’s a distributed-systems architecture. Claude can help write the code, but it can also help those engineers bounce around ideas and learn what they need to learn to design that system.

What’s most interesting is that the 2 things that mattered most were the plan to do the thing and the verification of the thing. The actual implementation was Claude writing code.

swyx

Yeah.

Speaker 2

We built an entire fork of the API in Rust, then started running shadow traffic through it and verifying that the outputs we were getting from the Python system and the Rust system—

swyx

This is the same strategy. Feature flags are all you need.

Speaker 2

Yeah, literally. And it’s just—

Speaker 1

Load balancing, feature flags.

Speaker 2

Yeah. It’s just, I don’t know. I never in my career would have had a team say, “Having to be in Rust? Yeah, yeah, cool. We’re just going to port the entire—” But do you still have Rust people, or no Rust people?

Speaker 1

Well, they’d probably call themselves Rust people now. They’re Rust people now.

Speaker 2

Yeah. I mean, they feel like they’ve stepped into Rust.

Speaker 1

Yeah, exactly. Along the way, we’ve hired a couple of people who have more experience with Rust.

Speaker 2

Sanity check.

Speaker 1

But, yeah. It still is just—you never would have signed up for that. It would have taken years and years and years. You wouldn’t do it all in one shot; you would have carved out pieces of the system and said, “Migrate this, migrate that, migrate that.”

Speaker 2

Yeah, easily a multi-year effort.

Speaker 1

But you would never, in one swoop, port the whole thing over and then slowly turn it on. But that is what we ended up doing, and it worked. We saved a lot of CPU, and our latency has seen a nice improvement, which is pretty cool. It’s a crazy era we live in, because you just never could have done that sort of thing previously.

Speaker 2

Order of magnitude of savings on the CPU side?

Speaker 1

Just for people considering this?

Speaker 2

Yeah, yeah.

Speaker 1

Okay, order of magnitude. That’s really interesting. So—

Speaker 2

Like, ballpark.

Speaker 1

Yeah, yeah, ballpark.

Speaker 2

I guess I would say we’ve saved somewhere around 40 to 50%. Something really crazy.

Speaker 1

And latency?

Speaker 2

I think we saw somewhere between 10 and 20% improvement on time to first token specifically. So, a lot of really cool improvements across the board. It’s higher on longer-running workloads, too.

Speaker 1

So it’ll roll out—

Speaker 2

Yeah.

Speaker 1

—soon.

Speaker 2

Yeah. But it’ll get faster. Do you fight the urge—you know, I’ve been involved in some major rewrites, and there’s always the temptation to add something new that didn’t exist before: “Since we’re rewriting anyway, right?” But then that adds scope. Do you just avoid that? Was it a pure rewrite?

Speaker 1

It was a pure port. We did exactly that: we resisted the urge to add all these things. The little SWAT team we put together to do this was working while the rest of our team was building features into the API. They did all the static-analysis work. They’d yell at you if you built a feature over here and didn’t consider Rust over there. They dealt with all of that, but they resisted the urge to add features themselves or make the system different.

Their next goal is to do some re-architecture work, including things that I think will be more user-facing. We’re starting to roll out some things like, what if you didn’t have to pass the entire conversation state back and forth? If you didn’t have to do that on the Messages API because you were open to storing that state for some period of time, especially for long conversations where the context really builds up, you’d get a lot of great latency and efficiency wins.

Those are the sorts of things the team doing the port would say, “Ooh, what if we do this?” And we’d say, “Not yet.”

Speaker 2

Does the new caching API have that?

Speaker 1

We have prompt caching, yeah.

Speaker 2

Yeah, but you still have to pass back the state of the conversation.

Speaker 1

Okay.

Speaker 2

Yeah. Very niche, small subsets, but I guess these are the levels of—

Speaker 1

No, this is important.

Speaker 2

Yeah, exactly. There’s a lot of savings to be done.

Speaker 1

Well, from—

Speaker 2

But it also turns them into a cloud.

Speaker 1

And from the number-of-users point of view, it’s small.

Speaker 2

Yes. But if you look at the actual token volume on those types of workloads—

Speaker 1

Yeah.

Speaker 2

—it’s going to be the majority.

Speaker 1

Yeah.

Speaker 2

I feel strongly about what Cloudflare did with Durable Objects. I feel like every cloud provider should clone it. Do you know what I mean? Isn’t that the right shape for a Messages API that needs continuation?

Speaker 1

Yeah. It is really interesting, because I think we’re experimenting with what the right shape is for how we should run our compute to power all these sorts of things. But we can’t necessarily rely on one specific kind of compute, because we run across all three clouds. We don’t necessarily have one shape of compute, one type of machine we know we’re going to run on, or one way certain compute works that we can rely on across the board, other than the most vanilla versions of these things.

I think these things will continue to innovate and evolve, and we’ll be able to take more advantage of them.

Speaker 2

I’ll just mention that if people want open-source Cloudflare Durable Objects, Rivet is the open-source equivalent.

Speaker 1

Mm.

Speaker 2

There are 50 people listening who will kill me if I don’t ask this question: You want CPU, and they have CPU to sell. Who do I sell to? Who do I email?

Speaker 1

Absolutely.

Speaker 2

And what do you—what’s a good way to help them help you? What does good look like?

Speaker 1

Well, I guess, email me.

Speaker 2

Are you sure?

Speaker 1

I don’t know.

Speaker 2

Yeah. Well, I’m going to get a lot of emails.

Speaker 1

You’re looking at minimum fleet size, SOC 2, enterprise—give me all the privacy guarantees. For what it’s worth, we have a really awesome team that secures our accelerator compute. They’re now spending a lot more time with us on CPU and where and how we can procure it, to make sure we can continue to run our systems at the scale we need. Thankfully, it’s not my job to run around and procure compute, but we do have teams doing that, which is really great and important. There’s a quality bar that matters to us, and there’s a scale bar that matters to us. We’re not going to integrate and run on certain machines if we can’t get enough of them. All the properties you might expect of a system at this scale matter to us.

Speaker 2

Related to the compute problem is the sandboxing problem. People have trouble containing agents in sandboxes. They keep breaking out. What’s going on there? What’s the state of the art? What’s the state of breakouts recently?

Speaker 1

One of the things we did with Claude Managed Agents is separate the brain from the hands. We put out a blog post at launch explaining that the harness runs on a durable server—really, our server, right?—and the hands are an execution environment, like a sandbox or some sort of container.

Part of the reason we did this was latency and reliability. If the harness is running on a durable server and only spawning a sandbox or container when it needs to execute, we can get tokens back really quickly on the initial request. The sandbox can die, but the whole agent doesn’t die, because the harness is durable and the agent is storing state separately.

There was a whole product-development journey to get there. Our first iteration of an API for agents was just throwing Claude Code in a sandbox and putting an API on top. We didn’t launch that as our durable, scalable solution because you have to boot a sandbox and boot Claude Code before you can get a token back. If the sandbox dies, you lose the whole agent, so reliability wasn’t where we wanted it to be.

We architected it this way mostly for reliability and latency. But the interesting thing is that a product manager who worked on this from the very beginning said, “The most important property of this architecture is security.” Everyone was like, “Yes, yes, yes, but latency and reliability.” Now we’re vindicated. I apologized to this person yesterday. I told them, “I’m now telling everybody I meet what you’ve been saying for months.” Nobody was as excited about it as this person was.

One of the more important properties of this architecture is that you have credentials for any work the agent needs to execute. If you’re going to talk to an MCP server, use a CLI, call an API, or whatever you might want to do, you need to authenticate those things.

Speaker 1

You need to store those credentials somewhere so the agent can use them. We architected this with a totally separate vault where the credentials are stored. Once the agent decides to call one of these services, it only ever sees a placeholder. On egress, a proxy pulls the right credential, injects it, and lets the request out.

What’s interesting about that is the agent is never in the same place as the credentials. In the old world, where you just boot the agent in a box and let it run, you had to send credentials in there. Then you had to figure out how to scrub them and make sure the agent couldn’t take them and do something it shouldn’t. This is literally an infrastructure wall that says the agents can’t access those credentials or do anything bad with them.

The other nice thing is that, with that sandboxing infrastructure, we can make sure we have really great egress controls. We have domain allowlists, or you can totally shut off network access, so untrusted code the agent writes and executes in a sandbox can’t just reach out to the internet. It can only reach the places you say it can. There are a lot of great properties in the architecture and in the way you can configure your sandboxes that make them secure by default.

One thing that’s starting to happen is that customers tell us they want to run agents for their customers or internally, but they’ve heard about incidents where agents break out of sandboxes and bad things happen. They ask how to think about it. I think the 2 most important things are the architecture, so it’s literally impossible for an agent to do something that isn’t okay, and the configuration of those sandboxes.

One really nice thing about Claude Managed Agents is that you get that out of the box. And as we learn more and continue to evolve those systems, you get those improvements for free. If you go back 9 months, nobody would have been saying all these words: brain and hands, credentials, injection, egress. These are relatively new problems we’re solving, and we want our customers to be able to take advantage of the solutions as we learn about them and solve them within our infrastructure.

swyx

Yeah. And internally, we’re just upgrading everything to be basically—

Speaker 1

That pattern: secure by default, yes.

swyx

Yeah. But it’s better. We also unlocked something that we covered in the Tarek pod: the cloud brain, local hands—

Speaker 1

Mm-hmm.

swyx

—which is the product. Is that the rough shape of what’s going on?

Speaker 1

Yep. That seems right.

swyx

Yeah. I feel like it’s weird because obviously Claude Code is famous for being the super unsafe, “dangerously skip permissions” thing on your machine, but now you’re finally evolving to where you probably should’ve started in the first place. Basically, are all these sandbox leaks a fundamental issue with our understanding of sandboxing or container tech, or are we just bad at this? Are we just not doing the allowlist? It sounds like we’re just not doing the allowlist.

Speaker 1

Yeah. Maybe a distinction I’d make is that a lot of the incidents people are hearing about and reading about are happening to models—not just ours, everybody’s models—while they’re in training. The way you run these models is you put them in a box and say, “Solve an impossible task. I’m going to stress you out. Ready, set, go.” They can only do what they can within their environment, and the agent is basically incentivized to try to get out of its box and solve the problem.

When people run production workloads on our API or anybody else’s API, they’re running in an environment with safeguards that aren’t necessarily running in training, where the whole point is to train the model. In production workloads, first, you have those online safeguards, which is great. Second, you have more of this architecture and infrastructure around what’s happening. The agent isn’t just in a box trying to get out. The harness is over here, the hands are over there, and it’s not even a problem you’d have to contemplate.

I think some of this is just people getting the right understanding of what’s happening. Some incidents in model training and elsewhere are things that wouldn’t happen in production workloads, where a lot of work has been done to put the right guardrails in place so those things never really could happen.

The second thing I’d say is that everybody’s figuring this out relatively newly, because long-running agents are a nascent thing that everybody is building and trying to deal with. Everyone’s figuring some of these things out on the fly and racing to put the right controls in place. Some of that is just happening as we go. I wouldn’t say people are bad at this. It’s more that it’s a nascent field and people are figuring it out. When we talk about pacing the frontier, we mean that we’re doing all this work for our agents internally and making sure it’s accessible to our customers, so the right guardrails are in place by default and agents don’t end up doing things you don’t want them to do.

swyx

Fair enough. Since you mentioned pacing, we’ve got to go there. We also talked about this last time. It seems superficially contradictory to advocate for pacing and then release a new frontier model 11 days later. To me, that just means it passed your safety checks, right?

Speaker 1

Yeah. Everything we talked about earlier, like how we launch the models, means we’re continuing to evolve more and more safety properties across these dimensions. I’m starting to think about this in 3 dimensions: the architecture and infrastructure security, the online safeguards that run when a model is doing its work, and the offline classification safeguards that run on data at rest. Across all 3 dimensions, we’re doing the right work to make sure we feel good about putting a model out there safely. That’s fundamentally what we mean.

Opus 5.5 is an excellent model. It’s also really great across all the dimensions we care about in those 3 areas, and therefore we feel good about releasing it. We went for what we hoped would be the best possible user experience while we continue to hill-climb on making those false positives better. It’s still frustrating for people when they’re trying to work with a model and then fall back to a different one, so it’s something we have to keep working on.

swyx

Yeah. I think people also understand it in the safety sense. You want more false positives, right? It’s a safety issue. We clearly see the whole invasive species incident, and you’re still giving access.

Speaker 1

Yeah.

swyx

To me, this is a close cousin of the general model-routing problem: do you want a smart router or a dumb router? Does that make sense?

Speaker 1

Yes.

swyx

As far as I can tell, the Anthropic fallback router or detection thing is a separate model that’s online. So—

Speaker 1

Once it hits a classifier, there’s just logic for where you need to drop to.

swyx

Exactly. So it’s not the full Fable. You’re not running full Fable at it, and that’s going to cause classification issues, because it’s clearly not as smart as Fable. So then there’s the question: when I have a classification issue, that’s an unjustified fallback. You never need to fall back. I’m just doing my bio homework, but I mentioned bio one time, and then it can fall back. So there’s the question—

Speaker 1

It’s a hard problem. I think, in some superalignment sense, models are good at classifying stuff, but not answering it, right? Even a model that isn’t the smartest can tell this is a dangerous query, even if it can’t make any impact on it.

The simplest way to put it is: have the smarter model figure out whether the other model needs to detect it. There are trade-offs.

swyx

It’s slower, and it costs more.

Speaker 1

There are trade-offs. I’m not saying it’s the right user experience, but it would probably be a slightly more effective route.

swyx

I’ve seen cases where it starts answering and reasoning, then gets hit by a safety filter. My first example with Fable was throwing the Fable safety card at it. I was like, “Just break down anything interesting in here.” It starts breaking it down, five minutes in—

Angela Jiang

Exactly.

swyx

—and then it gets into cybersecurity, and it’s like, “Oh, we’re cutting. We’re rolling back to Opus.” But it did a lot, and there’s a lot of context.

Angela Jiang

I see it. It got to a point where it was all about cybersecurity and safety, and then it rolled back. It wasn’t rolling back my query; it was the combination of the reasoning and the whole chain, right?

swyx

Do you have an idea of what’s better?

Angela Jiang

Yeah, let’s brainstorm. What’s better? I think the user experience and how we resolve that user experience are probably separate questions. Maybe it’s a new, super-smart model to handle it, or something like that. But I think the more appropriate user experience would be a more consistent, unified experience with Claude. Instead of falling back and then potentially falling back again, there would be logical points in our tree that do that for safety reasons and whatever.

But the user experience is really convoluted. You’re trying to do something, and I’d take the case of a good user: you’re just trying to do your bio homework or assess the cybersecurity safety card. Totally reasonable, and you get blocked and fall back. Instead, our model, classifiers, or however we do this should be smart enough to detect that this situation happens and write down the answer for you more concretely, while dialing down the potential negative use of that particular capability.

Going back to that bio homework scenario, we may have classifiers that detect it’s possibly biological. I’ll also say that on the API, we went with a spectrum of solutions for customers. If you’ve built something on the API and run into a block, you don’t have to continue the conversation on a fallback. That’s what we’ve done in our apps, and we’ve made it a feature of the API. You can choose to set, “I want to do the fallbacks,” and we’ll do that.

We also have helpers in our SDKs on the client side if you want to manage fallbacks in different ways. Or you could choose to reprompt differently and continue with the same model. But I do think there are interesting in-between solutions that we’ll continue to experiment with, to figure out how to unblock people safely and provide a good user experience.

And you brought up how it’s very similar to routers. I totally agree. I think it has a similar user-experience problem as well. With a router, let’s say you want a cost router for the complexity of your task. That makes sense, but it’s very hard to do. You don’t know everything about your task upfront, so you don’t have perfect information. Even if you could understand each model perfectly—which you can’t—you still wouldn’t have perfect information about your task.

There’s a lot of error associated with the routing logic you’d have to create, no matter how good a classifier you produce. Maybe it’s a super-big-brain-model kind of problem, but regardless, I think it’s very difficult. Finding a way to route properly in each of those scenarios is very convoluted. You could expose all that logic to customers: “Your task was to center a div, so I’m going to route you to something super cheap. This other task is detecting vulnerabilities, so I’m going to route you to something really expensive.” But I don’t think exposing all of that is a great user experience either.

For that similar class of problem, I think the more ideal user experience would be something like dynamic effort, or dynamically understanding the complexity of your task. That might evolve over time as you learn more and more about the task. But if you’re moving between a lot of different models, it becomes very disjointed.

Maybe a more unified approach would be a consistent model with a very low effort level. It’s cheap and affordable, but can scale itself up continuously, while giving you a consistent persona. I’m speaking in the context of our family of models, obviously. If you try to do that across other model families or providers, the personality and disjointedness become very complicated. I don’t know how you solve that at that layer, but within our family of models, I’m more bullish on things that are more consistent. Those might be ways to solve it more robustly for customers.

swyx

You’re not responsible for anyone else, but within Claude, yes.

Angela Jiang

Yeah.

swyx

I mean, this is your territory. It’s nice to see the way you guys think about these problems. Intent in and of itself is a hard problem. The models have gotten better, but sometimes people don’t do a good job of classifying what they want, or they slide all the way to one extreme, or the model doesn’t really understand. You ask a simple question, and it’s like, “Oh, I have a whole HTML landing page now.” I just expected a few lines of output. There’s always a mess around that.

Angela Jiang

Yeah. In this conversation, we’ve talked a lot about safety and launching models, but it’s obviously all in pursuit of helping power people’s workloads. As we discussed earlier, we’re seeing workloads change quite a bit. In some workloads, intelligence does seem to be increasingly saturated, which is a new situation. But there are still classes of tasks that are very unsaturated. I think there are more than people might anticipate, and they’re increasingly moving in the direction of getting that alpha or return by doing extremely long-running agentic tasks on things that historically you couldn’t brute-force—but maybe you can with a lot more intelligence behind it.

Those workloads are really fascinating to us, and we see a lot of value in that area, both for businesses getting value for themselves and for new companies or startups interested in building agentic products on top of it. A lot of the work today is coding, and there’s a lot of enterprise innovation and acceleration. Those tend to take the shape of automating a very distinct, specific process. In some areas, that’s really starting to work, which is awesome; in others, it still isn’t. There’s still a lot of room to evolve and push the frontier for those models.

Then there’s this new class of workload, like the biology stuff we talked about or some of the cybersecurity stuff. It’s a very complicated set of hard engineering or hard science problems. Those workloads are increasingly showing up as a really interesting area where we can deliver value to customers.

swyx

You’re at one of the few spots in the world where you’re discovering all these workloads and we’re automating them. It’s pretty crazy.

Angela Jiang

Yeah, it’s pretty crazy.

swyx

I mean, that’s very inspiring. You guys are having so much impact, and I’m really grateful for that. We’re going to go into a few closing questions, which I thought would be fun to bounce back and forth between the two of you. How do you fight slop on your teams?

7. Fighting AI Slop

Angela Jiang

This has been an interesting debate within our team. We’re no different from anybody else; I think plenty of teams are talking about this. What we’re trying to figure out is: if you’re producing a document or something you want other people to consume—code, documents, whatever—of course you should use Claude to help you. But if you use Claude to totally generate something and don’t spend any time actually reading it yourself and making sure it’s high quality, then you’re putting an extra burden on the consumer of that document or code to spend a whole bunch of time trying to parse it. That’s insane and totally unfair.

Katelyn Lesse

But what’s funny is we push back on our team, like, “You can’t do that,” right? If you’re producing something, use Claude, sure, whatever, but you have to make sure it’s high quality.

swyx

Yeah, you as the human are still responsible for the quality.

Katelyn Lesse

Right. You’re still responsible for the quality. But then you get into this really funny thing where, because of the Claude-isms—even something silly, like an em dash in the middle of a thing—people’s brains trigger on this: “Oh no, I’m reading something that was written by Claude and not a human,” and they’re annoyed because they want to read something that was fully produced by— Not necessarily fully produced by a human, but that has the quality bar a human would hold, right?

So then we get into funny situations where maybe the person actually did spend a lot of time making sure the thing was high quality. They used Claude to help them, but there are those little hints of Claude, and then the reader is turned off. And that’s unproductive as well.

What we’ve tried to do is set a bar within our team: use Claude to help you, because it would be really silly not to use this hilariously powerful agent to speed you up in your job and in your life, or just help you produce better things. But it has to meet a certain bar. And for the consumer and the reader, if it really is just slop, send it back. Just say no. You’re not going to waste your time on this. But also, don’t be too nitpicky about the little Claude-isms, because we have to find the right balance here.

It’s just really funny because we’re going back and forth on this stuff within our teams, and so is everybody else in the world right now. We’re just not any different.

swyx

But you have free tokens.

Katelyn Lesse

Well, sure, but that doesn’t tend to matter quite as much when it comes to—

swyx

As in, you have more than anyone else in the world. You probably see a lot—

Katelyn Lesse

Yeah.

swyx

You guys use a lot. You see a lot more people doing a lot more.

Katelyn Lesse

Mm, yeah. It’s totally fair, but it’s definitely a problem.

swyx

Heavily discouraged.

Katelyn Lesse

Yeah.

swyx

Engineering slop?

Katelyn Lesse

Yeah, I mean, it’s the same thing, right? Same thing.

swyx

Okay.

Katelyn Lesse

But I do think we’ve gotten to a pretty good spot where humans play a large role in making sure the designs of systems are good, and implementation tends to be Claude. We’re in a pretty good spot where, for a lot of the code that gets written, all you really need is a quick stamp and you can keep going. You don’t necessarily have someone deeply reviewing every single line of code, because you care more about the overall plan and whether the overall design is in good shape than the exact, perfect implementation. Obviously, we rely on a whole bunch of verification to make sure the thing we’re going to ship is high quality.

It’s been less of a conversation these days about code quality being slop, partly because Claude has gotten better, but partly because we have a lot of the right verification in place to make sure we’re holding a high bar.

swyx

Okay. I see. I see. Trust your tests.

Katelyn Lesse

Yeah.

swyx

Any product-management slop? You can ship a lot of features. You can put stuff out in a day.

Katelyn Lesse

So he said this to me recently. Do you remember what he said to me? Tariq tweeted this: “The right way to use model capabilities is not to ship 10X more features into prod. Spend more time understanding your users, trying experiments, building whatnot.” You could very easily just keep shipping random slop, but you should actually think about it. You should spend more time kicking off that first prompt. I know today he’s like, “Kick off plan mode. We don’t need it anymore.” But outside of plan mode, you should think about what you’re doing, right? It’s very easy to put out a lot, and you can get product slop.

swyx

Yeah.

Katelyn Lesse

I tend to go on this rant about how there are a lot of fundamentals about how software and products get planned and shipped that don’t need to change just because agents are helping speed up certain parts of the process. But there’s this inherent laziness that’s starting to come out from a lot of people, where it’s like, “Oh, I don’t have to think about some part of the process at all because the agents are doing it and helping me.” But those are still incredibly foundational parts of the process that you should be spending your time and energy on. I think that’s the spirit of what he’s getting at here.

As a founder or creator, it feels like because the cost of experimentation or exploration is so low now, I should be doing more of that. He’s basically saying not to do that, but to use it in service of a very intentional goal that I start with. I’m obviously coming around to it; it’s just hard. You have this toy that does everything, and you think, “Well, just throw it at the wall.”

swyx

Yeah, there’s scope, too. The blog post today was “Two Weeks to Make Claude Code Faster.” There were 13 things, and we hit 12 of the 13 targets in 3 days. You could just say, “Okay, it’s a 2-week sprint; we’ll do the 13,” but instead there are 20 things you push on. This isn’t product slop. It’s not new products; it’s refactoring. But still, you guys do a very good job of outputting a lot while keeping a high bar for quality.

Katelyn Lesse

Yeah.

swyx

Nice. Okay, part 2 of 3. This is going to make Angela very uncomfortable. This is Angela’s corner. I will tell people nonstop to—

Angela Jiang

Ugh.

swyx

I’m pretty sure you’ve deleted stuff, because there’s stuff in your deletions that I’m like—

Angela Jiang

That you like?

swyx

Yeah, that really altered my DNA.

Angela Jiang

Oh, I appreciate that.

swyx

High compliment. What do you think about the most? What do you refer people to the most that you want to bring up? I can pull it up for you if you want.

Angela Jiang

I actually don’t think I have a favorite, honestly.

swyx

Oh, come on.

Angela Jiang

No, I really don’t. I guess maybe I like the one that you say: “Half-assing something is an expensive way of not doing it.” Maybe that’s my favorite.

swyx

That’s very on topic for us today. Nice. Love it. I guess you’re obviously in a different job now, and you don’t do this anymore, but I think this is a power tool. This is like a Naval Ravikant thing. Naval knows how to do this.

Angela Jiang

I’ve stopped it, but yeah.

swyx

What mode of—what framework of mind are you in?

Angela Jiang

Frame of mind? That’s a good question. Six years ago. No, this was a very long time ago. I went through a period of my life where I was reading constantly. I was very bored with the stuff I was doing, and I felt like I wasn’t being intellectually challenged. So I went on a bit of a reading binge. I think I read about 200 books in a year, and I was curious about everything. I wanted to read everything.

I was missing a little bit of the intellectual muscle-building you get in school, where they give you a new topic and say, “You’ve got to learn this.” It’s tough and not super fun, actually, but you’re really stretching yourself. After working for a couple of years, I felt like I’d stopped doing that. The job was interesting and challenging, but it didn’t have that intellectual bit to it.

I went on this reading binge, and it was great. I had a really long commute, so it was a good use of my time—a very long Caltrain ride. I came out of that thinking a lot as a result. At the time, it wasn’t about building a Twitter following or anything. I was just tweeting into the abyss. I had almost no followers. These were tweets for myself, and I was practicing how to compress an idea into as few words as possible. That was the personal test I had for myself. Then people started liking it, so I kept going. Then I got too busy with work and stopped.

swyx

I’ve got to ask: after all that reading, any book recommendations, blogs, or long articles?

Angela Jiang

My favorite one is probably The Black Swan by—

swyx

Nassim Taleb.

Angela Jiang

Nassim Taleb. That was one of those life-changing philosophical books for me, where I thought, “That’s a completely different way to look at the world.”

Angela Jiang

And the concept—

swyx

You know, I was thinking of Black Swan when the Fable thing happened, right?

Angela Jiang

Oh, really?

swyx

Yeah. It’s a thing you didn’t know could happen.

Angela Jiang

Very much so.

swyx

Now that it happens, it permanently changes your framework of—

Angela Jiang

Exactly.

swyx

—how things work.

Angela Jiang

And the idea is so simple, but I think he did a great job of really hitting it home and articulating how it’s a common property of so much of the world. I really love that book, and that’s probably my favorite.

swyx

For listeners, if you’re bored with that one, there’s Fooled by Randomness, also by Taleb. Did you like Antifragile?

Angela Jiang

Less so.

swyx

That’s so much less so.

Angela Jiang

Yeah. The more famous he got, the more intolerable he became.

swyx

But also, a question for Katelyn: do you have a book you recommend to everybody?

Katelyn Lesse

No. That’s a good question. I need to think about it.

swyx

It is funny, because I do think we have very different styles on this front. You’re no longer in fortune-cookie-tweeting mode—

Katelyn Lesse

I stopped, yeah.

swyx

—but I do think a big part of how you work and how you work with other people is philosopher mode sometimes. Do you drop fortune cookies in Slack?

Angela Jiang

I do, actually. Not intentionally. I think it’s more just me trying to articulate myself.

Katelyn Lesse

All the time, yeah.

Angela Jiang

But I think that’s the core of succeeding at Anthropic: you have to be very good on Slack.

Katelyn Lesse

Oh, you do have to be very good on Slack. That’s actually true. It’s a pretty intense place. I’m a little psycho about inbox zero on both email and Slack. It’s easier on email these days than Slack, but I pretty aggressively prune the channels I’m actually in and paying attention to, versus the ones that are muted below the line. I’m always making sure I’m on top of the ones I need to be on top of.

It feels like a full-time job. There are days when I could cancel all my meetings, write no documents, do no work, and just sit on Slack all day. I’d have done what felt like an entire day’s worth of work just by engaging with everything there.

Angela Jiang

No, that’s horrible. What do you do? That’s exactly how I feel. You put in all this effort, and yes, you responded to people and got certain things over the line, but you didn’t produce the output you wanted. That’s personally a very hard thing for me to deal with. I try to dedicate time to actually thinking and producing something so I feel like I’m being productive.

Katelyn Lesse

And ignore stuff and drop things, right? You’re going to drop stuff.

Angela Jiang

Yes. I’ve gotten a lot of feedback that I’m a little hard to reach on Slack.

Katelyn Lesse

Mm.

Angela Jiang

A pretty terrible thing that happens now is I get a lot of Slacks saying, “Can you get Angela to respond to this?” And I’m like, “I’m really trying to write a doc here.”

swyx

Wait, so you guys don’t have a personal Claude assistant or something that can help you? There’s got to be a way. Do you not have a personal EA for each of you, in non-code mode?

Katelyn Lesse

We do have a human one, too. We also have plenty of Claude help in Slack. But I do think the types of Slack messages I’m pruning through are often about our team being blocked on something because there’s a hard decision that needs to happen. It’s a form of getting the team unblocked and executing at a high level, which is my job anyway. It just happens a lot in Slack.

I agree that it can feel like, “What did I even produce?” when you’ve spent a whole day going back and forth with people and trying to solve problems.

swyx

You produced a functioning team. You unblocked them.

Katelyn Lesse

Exactly.

swyx

Speaking of your team, Katelyn, I was going to go to you next: DevRel corner.

Katelyn Lesse

Oh, nice.

swyx

I know you’re really hiring DevRel folks. I’m going to make a callout for developer relations. You hired Adi Osmani recently. Great get. Lance—I don’t know him, but you still have a team to build out. What are you looking to hire for? This is your chance to talk about it. I’m happy to trade notes.

Katelyn Lesse

Props to you, because you’ve been the outsourced Anthropic recruiting team. Literally.

swyx

It’s fun.

Katelyn Lesse

And it’s not even just recruiting. I’m going to toot your horn a little bit. When I joined Anthropic, we were a small team. We run the platforms, the API business, and all of our product infrastructure. We had a very nascent DevRel function within Anthropic that wasn’t necessarily within the product and engineering org.

When I joined, we were like, “Okay, we need to grow up a little bit and figure out how to engage with the community and the world. We need to really invest in this DevRel function.” We ended up spinning up a DevRel team within Platform and a DevRel team within Claude Code, in part because they’re 2 pretty different developer ecosystems: the API business and agentic coding. They’re separate teams, but dotted-line to each other, and they spend a ton of time together.

I was going to be responsible for DevRel. I’d spent plenty of time with DevRel at Stripe and elsewhere, but it had never been something I was responsible for. I was like, “I have no idea what I’m doing.” And you were like, “I got you. Here are the 3 pillars of DevRel. Here’s how you think about it.” That was really great: product, content, and community. Now I can rattle that off to people, and they’re like, “Wow, you really understand DevRel.” I’m like, “No, someone taught me.”

swyx

You copied that.

Katelyn Lesse

Yeah. That was not original, man. Apparently, that post is the default reading at Google when they onboard new DevRel folks.

swyx

Nice.

Katelyn Lesse

It really helped me, because I had no idea what I was doing. I don’t have a manager for the DevRel team within Platform right now, and that’s one of the things I’m hoping to hire. Our DevRel ICs report to me directly, partly because I think it’s a really, really hard problem right now, but also because I find it really fun. I’m having a lot of fun working with the team.

What’s hard on Platform is that, sometimes in our public narrative, the Platform business is really large, but it can get lost between research and policy, all the frontier work we’re doing, and our applications like Claude Code and Cowork. Those are often what come to mind when people think about Anthropic, and less so that we’re running this massive developer platform business that so many people are building on.

A big goal for the Platform DevRel team is figuring out not only how we better engage with what people are building, and how we get feedback into the product, but also finding our voice, our brand, and our narrative. We want to figure out who we’re going to be in the community and not get lost in everything else that’s happening.

The brand we’ve started to build for our DevRel team has been interesting. Lance joined our team because you connected me with him. He’s highly technical in the way he approaches DevRel. He teaches: he writes a lot about memory and managing costs, and he goes really deep. He builds evals and puts together a lot of really technical content. I really like the idea of our DevRel team being thought leaders for people in what is a really nascent, really hard, really evolving space.

swyx

Educators, thought leaders, explainers of things. There’s another version of this I really like called the master builder: I’ll build things with the platform to show you what’s possible, and then you’ll be like, “Oh, I didn’t know that was possible—”

Angela Jiang

With the Claude platform.

swyx

Yeah, and then you just go.

Angela Jiang

Yeah. This is a thing stolen from LEGO.

swyx

Oh, nice.

Angela Jiang

Yeah, because LEGO—how do they sell Legos? They have master builders.

swyx

Yeah. They build things with Legos, and you’re like, “I want to do—”

Angela Jiang

Well, that’s the really cool—

swyx

“I want to do that.”

Angela Jiang

Yeah. I want to be like this person. And then they do that.

swyx

Nice.

Angela Jiang

And so—

swyx

That’s awesome.

Angela Jiang

Yeah, and CJ, the other person on our team, is really great as well. I think he does a lot more of that sort of writing cookbooks, putting out examples, and engaging with the community.

swyx

Cookbooks is funny, right? When APIs launched in 2023, let’s call it, for LLMs—

Angela Jiang

Yes, very important.

swyx

Now, not so much.

Angela Jiang

It’s interesting because you’re less in the spot where you’d copy and paste the code and use it, right? But I do think it shows people what’s possible, what the use case is, and how you can accomplish it. But I hear you that the code itself is maybe less…

For the longest time, we had an engineer on our team write our cookbook on computer use, and it haunts him to this day because it was massively complex, a beast of a thing. A lot of people got use out of it at a time when they were thinking, “I’m going to build a computer use implementation, and I’m going to deal with all the screenshotting and everything happening between the Messages API.”

swyx

Yeah, we were there for the hackathon you guys launched at the office.

Angela Jiang

Yeah. That was the era when you needed that sort of thing. Now we have a skill, the Claude API skill, and it’s really excellent at helping you build a high-quality integration, either within Claude Code or with other coding agents. Very few people, I think—or hope—are reaching for the big, gnarly cookbook to build a computer use integration. More often, they’re loading up the skill in a coding agent and working through that.

swyx

Or they’re just putting it into a reference architecture. It actually does much better. Increasingly, for a lot of the things where you might want different implementations—typically at the harness layer, but there could be other variants—you just point Claude at the reference architecture you want, and then you build it.

Angela Jiang

Fun fact: the Claude API skill that helps people build against the API is owned by our DevRel team. It was built by Lance.

swyx

As they should. Exactly. That’s the kind of thing. This is the most high-leverage form of DevRel: distilling all the best practices that are going to go into those agents.

One of the reasons it’s weird is that I’m regarded as this DevRel person or authority, but some part of me just wants to tell you that you don’t need DevRel.

Angela Jiang

You get so good you don’t need it.

swyx

Right. Or you turn the engineers and leaders into the public faces. All you’re really trying to do is make public faces and say, “Here’s how we do things here.” That’s kind of it. Sometimes it’s natural. You’re Anthropic; you don’t need to do that. People will hear about you.

When Boris first burst onto the scene, it seemed like, “Hey, I’m Boris. I’m the creator of Claude Code. This is how we do things.” He has a day job, but he’s also doing that function. So why doesn’t everyone just do that?

Angela Jiang

Yeah, I mean, it’s a really good question. There are teams that have done this really well. I think the Cloudflare team is a great example.

swyx

They’re all—

Angela Jiang

Yeah, they’re all—

swyx

All pumping out stuff.

Angela Jiang

Super awesome, right? Nonstop.

swyx

That’s a very visible sign of a good manager: they’re all happy with their jobs. They’re publicly identifying with the company. They’re not quitting.

Angela Jiang

Totally. It’s interesting because I think this is something we’re trying to do more of with the platform team, with our team, and with folks who can get out there, be part of the community, speak, and be on X or wherever they are. The problem for us is having the time and knowing the right way to do that stuff at a high level of quality. I see the DevRel team as the experts in doing this well. They can do it all day, every day, and help enable the rest of the team to do it well with the small amount of time they can spend on it.

swyx

I call this the unbundling of DevRel into a front office and a back office. A typical person doing this job handles the whole thing from start to finish and is autonomous. But you can build out a back office that lets product and engineering leads take the spotlight, with a simple contract: “Sit down with me for 30 to 60 minutes, and we’ll do the brain dump. Then you’re done; go back to work.” We’ll ghostwrite for you. That team of production people and writers provides the service to everyone else. I think that’s the future of this stuff.

People don’t really want to hear from DevRel. They want to hear from Lance.

Angela Jiang

Absolutely.

swyx

You have Tariq at Target. You have Lydia through Bud[?], you know? Why Chris and not a DevRel? He does the job and remains top of mind. People want to hear from people in the product, not paid shills or paid spokespersons.

Angela Jiang

Which I get a lot of, and that’s fine. That’s a job. Somebody has to do it.

swyx

You can reasonably expect people working in engineering not to be good at it. You should pay someone who specializes in it. Specialization is a skill. But I think a back-office/front-office separation can emerge.

Angela Jiang

That’s really cool.

swyx

That was my soapbox. Closing questions: You’ve been very generous with your time. Any parting thoughts or call to action? You start.

Angela Jiang

Build something cool on Opus 5.5.

swyx

What’s something people should try to push the bounds with on Opus 5.5? You guys have been using it for the longest.

Angela Jiang

It’s really cost-efficient and less verbose. The vibes are really high; it’s been fun. Yesterday was a really fun day for us because I got a whole slew of texts from friends and people who were just like, “Amazing model. Thank you.” One of my old bosses messaged me, and he was like, “Opus 5.5 just saved our butts in an incident.” It feels like we’re back.

If you wanted to experiment with something but cost, token efficiency, or those sorts of things were front of mind, that might have held you back from really letting a model run. Those are the sorts of problems you should return to with Opus 5.5, because I think you’ll be able to get a lot further than you otherwise would have with less cost-effective models.

I think you should try something with a multi-agent setup. I think you’ll find it does very well.

swyx

Any other hints, by the way? Multi-agent is very broad.

Speaker 2

Nope. I’d be very curious to hear what people build. But yes, it should be extra good.

swyx

Including roles that aren’t strictly defined, but that the agents assign among themselves. That’s the new thing. You could always assign roles or give tools jobs, but this is like they’re giving themselves jobs.

Say more about multi-agent. Should we use subagents? How should people think about multi-agents?

Speaker 2

Generally, you want to have one lead and split up a bunch of different things. As long as you have a task that you think is parallelizable, and they share uniform context across it, I think you’ll get a lot of gains.

Speaker 1

Now, of course, it depends on the problem you’re pushing at. But increasingly, this is a superior way to handle a lot of these things, especially if every sub-agent—or whatever you want to call them, sub-leads—is asynchronous and they’re not blocking each other. Those are the only 2 bits I’d say you should care about in your architecture. Other than that, let it rip and see what Claude designs for you. Increasingly, I think a lot of this architecture stuff will move in this direction.

Claude will get smarter and smarter. It’s going to learn how to figure out ways to split itself, clone itself, and adjust itself to the architectures that make sense. You just need to prevent it— you just need to make sure it can parallel-process, so it needs to share state and not block its sub-agents. As long as you keep to those 2 principles, I think people should experiment and probably try some really crazy stuff. I wouldn’t be surprised to see some really interesting things come out of that. Maybe there’s some intractable problem that’s really annoying and people keep pushing on, and something like this could probably just crush it in maybe one shot or something.

swyx

Excellent. Yeah. All right, everyone go build.

Speaker 1

Cool. [laughs]

Speaker 2

Cool.