Claude · Live Coding · 2026-05-06 · 双语整理

The Bottleneck Keeps Moving

Boris Cherny × Jarred Sumner:一场关于"用 Claude Code 跑几百个 agent 维护 Bun"的现场编码

在一场开发者大会的现场,Claude Code 负责人 Boris Cherny 和 Bun 作者 Jarred Sumner 不放 PPT,直接开终端写代码——让一群 agent 自动复现 GitHub issue、写测试、互相 code review、提 PR,人类只剩下一件事:决定该不该按下 merge。"Robo Bun is now a bigger contributor to Bun than I am."

Boris Cherny(Claude Code 负责人 @ Anthropic)× Jarred Sumner(Bun 作者)· 现场编码 · 约 31 分钟 · YouTube 原视频
TL;DR · 速读

From Writing Code to Deciding What to Merge

  1. Robo Bun 已经比作者本人更能写 Bun

    "Robo Bun is now a bigger contributor to Bun than I am — and that's with merging not all of its PRs."

    "Every single issue that goes up in the Bun issue tracker, Robo Bun automatically tries to reproduce it before anyone looks at it. And this saves a lot of time because we have so many open GitHub issues."

    每个 GitHub issue 一进来,机器人先自动复现、写带测试的 PR;按主分支贡献量算,它已经超过 Jarred 本人——而且还不是所有 PR 都被合了。

  2. 瓶颈从"修 bug"变成"该不该 merge"

    "It really moves the challenge from just fixing and debugging the issue to: is this the right thing to merge?"

    "The challenge is really: how do we know, can we merge the PR? And that's the tests."

    当复现和修复都自动化后,人类唯一要做的判断只剩一个——这个修法对不对、值不值得合并。

  3. 重复三次的事就写进 CLAUDE.md

    "Every time that you find yourself repeating something, it should probably go in CLAUDE.md... It's kind of like compound engineering."

    "The question now is: how do you make it maintainable to have lots of Claudes running all the time? And to do that it needs to be written down, it needs to be documented."

    让几百个 agent 长期稳定跑的前提,是把踩过的坑、构建/测试规范都沉淀进 CLAUDE.md——越写,后面越省。这就是复利式工程(compound engineering)。

  4. 现在每天晚上跑几百个 agent

    "Every night I'm running like hundreds of agents every single night. And I feel like now I'm finally there."

    "I remember when we first met, you were talking about your vision of everyone being able to run hundreds of agents in parallel, and I didn't really get it at the time."

    Boris 几年前就在讲"人人并行跑几百个 agent",Jarred 当时没 get;直到模型够强,这事才真正变成日常。

  5. Opus 4.7 是第一个真能闭环的模型

    "4.7 is the first model where it's really felt like it's able to do this... it's efficient enough, you can actually do this day-to-day."

    "In the past maybe you could do it with a bunch of scaffolding — you just throw a bunch of tokens at it and it can kind of work. But now it's like efficient enough."

    以前靠堆脚手架和 token 勉强能跑,现在模型本身够强够省,"复现→修→测→盯 CI"的全链路才第一次能天天用。

  6. Hill climbing:给指标 + 验证,它自己爬到目标

    "If you just give it a target, a way to improve the performance and a way to measure, it'll just keep going until it's done — if you let it go in auto mode."

    "I gave it a benchmark on a separate Linux box and I was like 'make it faster than sharp,' and that's basically what it did."

    AI lab 里管这叫 hill climbing——给一个可度量的目标和验证方式,模型会自己迭代到撞上指标。Opus 4.7 尤其擅长,却被严重低估。

  7. PR 变成"建议",merge 门槛反而被抬高

    "PRs become suggestions... you don't have to feel bad when it's Claude. So in some ways it does actually end up raising the bar for what you decide to merge."

    "Not merging a PR used to be — you feel bad if you don't merge a coworker's PR because they put work into it. But you don't have to feel bad when it's Claude."

    人写的 PR 你不好意思不合;Claude 写的随时可以不合。结果反而是评判更纯粹、门槛更高——只看"这东西到底该不该在"。

Chapter 01

Robo Bun: Every Issue, Auto-Reproduced

每个 issue 进来,机器人先自动复现并提 PR
01:00 — 05:00 · 现场开场 · Robo Bun · 带测试的 PR · 贡献量反超作者
Jarred 01:27

"All right. So this is a developer conference. We're going to do a little bit of talking, but mostly we're just going to be coding — so this is for the developers in the room."

"好,这是一场开发者大会。我们会稍微讲几句,但大部分时间就是写代码——所以这一段是给在场的开发者看的。"

"I'm going to start by talking a little bit about how Bun uses Claude Code to build and maintain Bun, and also how our setup works — because it's a slightly more advanced setup than what's common today."

"我先讲一点 Bun 是怎么用 Claude Code 来构建和维护 Bun 的,顺便说说我们的整套配置——因为它比现在大多数人的玩法要再进阶一点。"

"But first I'm going to get a few agents running to just fix some GitHub issues."

"不过我先放几个 agent 跑起来,顺手修几个 GitHub issue。"

Boris 01:55

"This is classic Jarred — doing work during a talk."

"这就是典型的 Jarred——在台上演讲的时候还顺便干活。"

Jarred 02:00

"So in Bun's repo, every time somebody submits an issue, we have a Claude bot automatically run and try to reproduce the issue."

"在 Bun 的仓库里,每次有人提一个 issue,我们都有一个 Claude 机器人自动跑起来,去尝试复现这个问题。"

"So you can see this person has this side effect — this is one of the most recent issues. And we can see that Robo Bun, which is our bot, went and managed to reproduce the issue and submitted a PR automatically."

"你能看到这个人遇到的这个副作用问题——这是最新的 issue 之一。可以看到 Robo Bun(也就是我们的机器人)跑过去,成功复现了问题,还自动提了一个 PR。"

"And this PR — it always has tests. It's one of the actual hard requirements before it can submit a PR."

"而且这个 PR——它一定带测试。这是它提 PR 之前的一条硬性要求。"

"So the challenge here is: does this code look correct? And one of the things we do to check that is — does the test fail in the previous version of Bun and pass in this debug branch? The bot actually can't submit a PR without that being the case."

"所以这里的难点是:这段代码看起来对吗?我们检查的一个办法是——这个测试在上一版 Bun 里会失败、在这个 debug 分支里会通过吗?如果做不到这一点,机器人根本提不了 PR。"

Boris 02:35

"And so — just to make sure everyone understands — this is, like, every single issue that goes up in the Bun issue tracker, you have Robo Bun automatically try to reproduce it before anyone even looks at it."

"所以——就是想让大家明白——基本上,Bun issue tracker 里每提一个 issue,Robo Bun 都会在任何人去看它之前先自动尝试复现一遍。"

Jarred 02:50

"Yeah. And this saves a lot of time, because we have so many open GitHub issues. It really moves the challenge from just fixing and debugging the issue to: is this the right thing to merge? Like, is this the right fix? How good is it — is it doing 100% of yours, or is it like 10%?"

"对。这省了非常多时间,因为我们 GitHub 上开着的 issue 实在太多了。它真正把难题从'修 bug、调 bug'挪到了'这东西该不该合进去?'——这个修法对吗?它质量多高?是把你想做的做到了 100%,还是只做了 10%?"

"We can go to the insights, go to contributors, and if we go to the last three months — and this is specifically to main — we can see that Robo Bun is now a bigger contributor to Bun than I am. [laughter] And that's with merging not all of its PRs, for sure."

"我们可以进 insights、点 contributors,把范围拉到最近三个月——而且这是只算 main 分支——可以看到,Robo Bun 现在对 Bun 的贡献量已经超过我了。[笑] 而且这还是在没把它所有 PR 都合进去的前提下。"

"You can see we have a lot of PRs open right now."

"你能看到,我们现在还开着一大堆 PR。"

Chapter 02

Bots Reviewing Bots

机器人之间来回 code review,自己解决 comment
05:00 — 07:30 · CodeRabbit × Claude review · 对抗式互审 · 控制流里的 bug
Jarred 03:05

"The challenge is really: how do we know we can merge the PR? And that's the tests."

"真正的难点是:我们怎么知道这个 PR 能合?靠的就是测试。"

"And then the other thing that's really interesting about this is — we have automatic code review bots that run. And then they're going back and forth: so CodeRabbit leaves a comment, then Robo Bun leaves a comment, and they go back and forth. And CodeRabbit did the— [laughter] I love this. And it also marks the comments as resolved when it's done."

"另一件很有意思的事是——我们还跑着自动 code review 机器人。然后它们就开始你来我往:CodeRabbit 留一条评论,Robo Bun 回一条,来回拉锯。CodeRabbit 还——[笑] 我太喜欢这个了。而且改完之后,它会自己把评论标记成 resolved。"

"You can see they actually went a lot — there's a lot of back and forth here, there's like 30 comments or something."

"你能看到它们来回了挺多轮的——这里一大堆来回,差不多有 30 条评论。"

Boris 03:40

"So you're using a combination of agents. This is like code review — this is Claude code review, and then also CodeRabbit, and you're using them together."

"所以你是把好几种 agent 组合着用。这是 code review——一个是 Claude 的 code review,另一个是 CodeRabbit,你把它们搭配着一起用。"

Jarred 03:52

"Yeah. And I think basically CodeRabbit is good for the stylistic issues, things that make sure it follows the CLAUDE.md. And the Claude code review is really good at: 'here's this really subtle edge case that would have taken me 30 minutes of reading all the code and having all the context to figure out.' So it's really good at surfacing bugs that you need the full context to really understand."

"对。我觉得 CodeRabbit 主要擅长风格问题、确保代码遵守 CLAUDE.md 那类。而 Claude 的 code review 真正强的地方是:'这里有个特别隐蔽的边界情况,要我自己搞明白得读完全部代码、攒齐所有上下文,得花 30 分钟。'所以它特别擅长揪出那种'你得有完整上下文才能真正看懂'的 bug。"

"And I think it's really hard to actually have all this automation without having code review that is in the loop — with Claude there replying. Or 'replying' is very performative; really it's fixing."

"而且我觉得,要让这一整套自动化真的跑得起来,几乎离不开一个嵌在回路里的 code review——有 Claude 在那儿回复。或者说'回复'听着有点表演性,它其实是在动手修。"

"That's also a big part of what used to take so much time — why PRs would take so long to merge — because you'd have to check out the branch locally, fix a lint error, run the linter locally, then push it back up. There's all this switching cost that's constantly there."

"这也是以前特别耗时间的一大块——为什么一个 PR 要拖那么久才能合——因为你得把分支 check out 到本地,修一个 lint 报错,本地跑一遍 linter,再 push 回去。这中间一直有大量的上下文切换成本。"

"So I think this is an especially good use case for LLMs, because otherwise it just takes up so much time to ship."

"所以我觉得这是 LLM 特别合适的一个场景,因为不然光是把东西发出去就要耗掉太多时间。"

Boris 04:35

"And I guess especially for the Bun codebase, because it's systems code, it's very easy to repro an issue and then see if the issue is fixed — this is back to what we were talking about before, with this kind of verification loop. It's all systems code, so it's really like a test case on a particular architecture, and you can essentially repro or verify anything."

"而且我猜对 Bun 的代码库尤其如此,因为它是系统级代码,复现一个问题、再看问题修没修好,都特别容易——这又回到我们刚才聊的那个'验证回路'。它整个都是系统代码,本质上就是在某个特定架构上的一个测试用例,所以你基本上想复现什么、验证什么都行。"

Jarred 04:55

"Yeah. One thing that makes it easier in Bun's codebase is that it's a CLI tool — we don't need to run a browser to test things. But you could also just have something set up to take a screenshot or record a video, those sorts of things. In Bun's case we don't need that, at least not yet. There's a couple things we could do that for — we have some frontend stuff where it would be nice. But yeah, this is the direction I think is really interesting, because it saves so much time."

"对。Bun 的代码库里有一点让事情更简单:它是个 CLI 工具——我们测东西不需要起一个浏览器。当然你也完全可以配个东西去截图、录视频之类的。在 Bun 这边我们暂时还不需要这些。有几个地方可以这么搞,比如我们有些前端的部分,配上会挺好。但总之,我觉得这个方向特别有意思,因为它省下的时间太多了。"

"And this is specifically for Bun, but the more generalizable thing — because most products are not open source — is that, instead of an issue, maybe the starting point is a customer support ticket. So you could imagine automatically passing customer support tickets to a Claude bot, to then go and try to reproduce the issue and submit a PR, and then having code review go back and forth."

"这套是专门针对 Bun 的,但更能推广的一点是——因为大多数产品并不开源——也许起点不是一个 issue,而是一张客服工单。你可以想象:把客服工单自动丢给一个 Claude 机器人,让它去尝试复现问题、提一个 PR,再让 code review 在里面来回过几轮。"

"And that's where I think, for a lot of companies, it becomes a lot more impactful — because it just saves so much developer time."

"我觉得对很多公司来说,真正变得有冲击力的就是这一点——因为它能省下太多工程师的时间。"

Boris 05:40

"We should think of some kind of name for this pattern. It's like adversarial code review or something."

"我们应该给这个模式起个名字。有点像'对抗式 code review'之类的。"

Jarred 05:46

"Yeah, I don't know."

"是啊,我也说不好叫啥。"

Chapter 03

Write It Down: CLAUDE.md & the Full Loop

开发环境、CLAUDE.md、读 CI 日志:闭环的地基
07:30 — 11:30 · 环境就绪 · 构建/测试规范 · 复利式工程 · set up for success
Chapter 04

Hundreds of Agents, Every Night

从"愿景"到"日常":自验证让 agent 能自主跑
11:30 — 17:00 · 几年前的愿景 · 审 PR 的工作流 · 现场举手 · Opus 4.7
Chapter 05

Hill Climbing

大 PR、Rust 重写、"比 sharp 快":给指标让它爬
17:00 — 22:00 · HTTP3/2 · 图像处理库 · benchmark · 100 条 comment 逐个修
Chapter 06

Auto Mode & No-Flicker

让 Claude 连跑几小时的两个开关
22:00 — 25:00 · auto mode · no-flicker · 虚拟化渲染 · 终端里的鼠标事件
Chapter 07

The Bottleneck Keeps Moving

验证、规划、品味、信任:下一个瓶颈是什么
25:00 — 31:00 · 移动的瓶颈 · 工程品味 · PR 变建议 · 信任的变化 · 收尾