[BidClub_]
Latent Space · · 36 分钟

⚡ 深入 GitHub 的 AI 革命:Jared Palmer 揭示 Agent HQ 与编程 Agent 的未来

Jared Palmer

YouTube
TL;DR
  • GitHub 正将 Agent HQ 定位为编程 Agent 与开发者期待中的归宿,而不只是又一个自研助手。 主持人提到 GitHub 拥有1.83亿开发者,Jared Palmer 则称 GitHub 的开发者数量已超过1.8亿。Jared 表示,GitHub 可以将 Copilot、Copilot CLI 与 Claude Code、Codex、Devin 等第三方 harness 组合起来,形成吸引 Agent 和开发者的“引力井”。其战略资产在于掌握工作流并提供 Agent 选择,而不是依赖单一模型。
  • V0 的历史表明,只有当产品形态与边界跟上之后,模型进步才会被爆发式地货币化。 Jared 称,初代产品用了约9个月达到100万美元 ARR;主持人表示,模型能够支持聊天后,一次重写让收入大约每14天增加“另一个100万美元”,产品由此变成“一艘火箭”。Jared 将其归因于对 Next.js、前端和 shadcn 的刻意聚焦:“这种约束反而让人如释重负。”
  • 真正相关的抽象,正在从模型切换器转向与算力、文件、工具和运行时紧密耦合的 Agent。 讨论认为,松散的模型接口最终会向最低公分母收敛。Jared 将编程 Agent 的配置称为一个独立的“Agent 世界”,其中包括沙箱、文件系统和工具调用。因此,价值正转向 harness、专业子系统、评测,以及围绕模型构建的基础设施。
  • GitHub 短期的切入口,是覆盖软件生命周期的环境式 AI,而 VS Code 集成则提供了杠杆。 演示中,一个从 Agent HQ 发出的任务会进入 pull request,并可一键在 VS Code 中打开;Jared 还将 issue 分配、合并冲突和损坏的 Actions 视为介入点。未来大约6个月,他的重点是在移动端、Web、GitHub.com 和编辑器中,以“撒盐哥式”的方式铺开 AI。
  • 从90%的成功率走向“多个9的成功率”,剩下的斜坡靠的是可靠性,而不是又一种炫目的模态。 对于编程 Agent 之后是什么,Jared 的答案很简单:“把它们做好”;98%与99%正确率之间的差异非常明显,而多轮会话会放大供应商故障。在 Vercel,关键指标大约每3小时汇总一次,包括无错误会话、延迟、请求丢失和基础设施错误。
  • 可复现的仓库配置仍是尚未解决的基础设施瓶颈,dev containers 虽有前景,但还没有成为标准。 一个专注于 Next.js 的系统可以假设存在安装 package 的路径;通用 Agent 却无法预测某个仓库是否暗中依赖 ffmpeg 之类的组件。讨论提到 Microsoft 内部存在相互竞争的运行时方案,并将共享默认值、自动检测和抢占式处理视为尚待开发的机会。
  • GitHub 正在将 Agent HQ 与迟来的核心产品修复结合起来,但它的规模意味着,即便是热门需求,也需要付出高昂的落地成本。 重新设计后的首页如今突出任务和最近的 pull request,而社区呼声最高的 stacked diffs 也重新进入积极探索阶段。内部尝试最早可追溯到2020年,包括一个完成度很高的2022年实现,但由于它把 pull request 之外的 stack 引入系统,被认为风险过高。
摘要 · 为研究而整理的核心内容

1. V0 如何将狭窄约束转化为模型进步与产品增长

  • Jared 的起点早于任何 Vercel AI 团队:当时他负责 Next.js、Turborepo、Turbopack、webpack 和内部工具的工程管理,将一次 Server Actions 的内部试用变成了 AI 试验场。Guillermo 告知 nat.dev 将于周一上线,迫使他立即交付;这次试验也让他逐一处理了各家供应商的 API 和流式传输问题。

  • 这个试验场后来变成 AI SDK,因为 Jared 已经将可复用的流式传输层抽离出来,同时没有把开发者锁定在某一家供应商上。它切入的是 UI 层:提供有用的抽象,但不妨碍开发者。随后,一个用 shadcn 构建的开源 ChatGPT 模板为小团队提供了功能完整的基础,支持快速试验:“这让人如释重负。”

  • Code Interpreter 催生了最初的生成式 UI 构想:代码执行可以输出表格数据,另一个 prompt 可以将其渲染出来,输出还可能彼此串联。但当时还没有工具调用,上下文窗口只有4,000 tokens,后来扩大到约16,000 tokens;而允许联网执行又引发了安全争论。代码执行的方向被搁置,prompt-to-UI 成为了 v0 的“顿悟时刻”。

  • 2023年9月前后,v0 以“React 版 Midjourney”的形态上线,通过可选的视觉变体来工作,因为当时可靠的聊天能力还不存在。GPT-4 和 GPT-4 32K 的进步抬高了上限,但 Jared 承认:“我们始终没真正让 GPT-4 Turbo 跑起来——我也不知道为什么。”

  • 在商业化方面,Jared 称,第一版产品用了约9个月达到100万美元 ARR。主持人随后表示,模型能够维持聊天、artifact 模式成熟之后,团队重写了产品;重新上线后,收入大约每14天增加“另一个100万美元”,产品由此变成“一艘火箭”。真正持久的优势,是专注于 Next.js、前端和 shadcn。主持人还提到,Vercel 曾向前沿实验室共享其 post-training harness 和经过清洗的数据。

2. Agent 正在取代独立模型,成为产品单元

  • 讨论围绕两种路径展开:整合不同模型的最佳能力,或直接向用户开放模型选择器。复合式方案可以引入专业子系统——搜索不必使用生成模型——也能通过拼接不同组件提升性能,并让产品掌握自己的品牌。

  • 经济账有利有弊。品牌化的供应商模型可以获得联合发布带来的推广,但计费实际上会锚定在该供应商的零售价附近,从而限制溢价空间。Jared 补充称,复合式方案可以在独立于模型实验室的情况下支撑可持续业务,同时真正改善性能。

  • 主持人认为,模型层已经不再是正确的切换抽象:模型与 Agent harness 必须“高度、高度耦合”,否则通用接口就会继承最低公分母。Jared 将编程 Agent 的配置描述为一个独立的“Agent 世界”,涉及循环、算力运行时、文件、沙箱和工具调用。

  • Agent HQ 正体现这一转变。GitHub 提供 Copilot 和 Copilot CLI,同时容纳 Claude Code、Codex 和 Devin 等第三方 harness。Jared 希望它成为 Agent 和开发者的“归宿”,提供选择,而不是强迫用户采用单一的第一方技术栈。

  • Skills 又把接口向下推进了一层:主持人将其描述为一个 LLM 原生的软件包,Agent 读取 Markdown 和一个文件目录,使文件系统成为通用接口。讨论强调 MCP 是连接企业上下文的重要机制,而 GitHub 已宣布的 custom agents 则可以将特定任务的 prompt 与 MCP 能力结合起来。

3. GitHub 的优势,在于掌握开发工具之间的接缝

  • V0 优化的是一个框架和一个问题;GitHub 覆盖所有语言、框架,以及主持人提到的1.83亿开发者。Jared 上任才第13天,称这一规模“非常庞大”,并将 Agent HQ 放入更广泛的 Microsoft CoreAI 组织,该组织包含 GitHub、Visual Studio、VS Code 以及 Azure 的部分业务。

  • 目标体验是连续的,而不是围绕某个目的地展开:发起任务,收到 pull request,然后一键在 VS Code 中打开。Jared 希望 AI 被嵌入现有的摩擦点——分配 issue、解决合并冲突,或修复一个远程失败但本地正常的 Action——让开发者无需脱离工作流。

  • 未来大约6个月,他的重点是让移动端、GitHub.com、Web 和本地编辑器之间的切换无缝衔接。最有记忆点的说法,是以“撒盐哥式”的方式把 AI 撒进原生工作流;Agent HQ 与 GitHub 将共同演进,而不是变成一个孤立的 Agent 控制台。

  • Jared 认为 dev containers 是一种重要的轻量级沙箱概念,并提出它是否应该成为标准。主持人指出,它们可以打包 VS Code、文件系统、沙箱、安全控制和 GitHub Enterprise 连接能力,同时也提到 Microsoft 内部存在相互竞争的运行时方案。

  • Jared 认为,仓库配置是 Cognition 面临的头号痛点,Codex 以及其他 Agent 想必也有同样的问题。他指出,Next.js 专业 Agent 往往可以假设执行 npm install;主持人则解释,通用系统无法预判 ffmpeg 之类的隐藏依赖。讨论指向自动检测、抢占式处理和共享默认值;主持人还回忆了一个未能实现的开源框架检测器构想,希望推动生态从 npm 一起迁移到 Bun。

4. 更好的 Agent 需要可靠性工程,而不只是更聪明的模型

  • 当被问及 Copilot 之后、更加自主的编程 Agent 之后会是什么时,Jared 拒绝追逐某个戏剧性的新类别:“把它们做好。” 从90%提升到95%、98%、99%,最终达到“多个9的成功率”,难度会不断加大,而“98%正确和99%正确之间存在巨大差异”。

  • 他警告称,许多 AI 团队对质量的判断都“活在 La La Land”,因为它们没有衡量无错误会话、供应商故障、请求丢失或延迟。在 Vercel,关键指标大约每3小时汇总一次,形成一种近似“电子游戏式”的运营循环,让好日子还是坏日子都能立即显现。

  • 基础设施可靠性本身就是模型质量的一部分,因为推理服务还没有像数据库那样具备可靠的正常运行时间。不同供应商在性能和可用性上各不相同,而且“总是在宕机”;Jared 将 OpenRouter 和网关产品的成功,与多轮 Agent 会话期间切换供应商和故障转移的需求联系起来。

  • Computer use 仍是讨论中的一种模态:Jared 称,它过去以慢、差、不准确而闻名,但正在改善,尤其是在 DeepSeek-OCR 和 olmOCR 等开放视觉模型的推动下。主持人认为其计算成本很高。Jared 仍强调最后的困难阶段:“细节决定成败。”

  • Jared 也将 Agent 用于个人工作流。他让 Claude Code 处理父亲的会计表格,后者生成了 Python 脚本,看起来比 ChatGPT 更好,但后来“跑偏了”。他使用 Agent 浏览器,目前主要用 Atlas,同时保留带有垂直标签页的 Arc;他还构建了 Chrome Dump,通过 Markdown 汇总并关闭数百个标签页。主持人惊讶于数据分析 Agent 仍相对欠发达,许多组织仍处于 BI 时代,而不是通过 Slack bot 查询精准分析结果。

5. GitHub 正重新打开核心工作流,进行修复

  • Jared 引用了 RZ 在2025年5月22日发布的一条推文,称“GitHub 首页基本上完全没用”;该推文获得130万次浏览和19,000个点赞。新版首页以任务、最近的 pull request 为核心,同时保留最近仓库等元素。Jared 认可这次重做,但强调:“还有更多工作要做。”

  • Stacked diffs 是更大的工作流之争。Jared 的比喻是,一连串 pull request 每个只包含一个 commit:开发者可以修改更早的 diff,再将依赖其上的工作重新堆叠;如果系统支持,也可以自动 restack。之后整个 stack 可以被压缩并合并,更复杂的配置还可以选择哪些层需要 CI。对于 monorepo 和超大型代码库,这种方式让审查和更新比传统 pull request 更顺畅。

  • 多年来,这一需求一直位居 GitHub 社区需求榜首。Jared 发现,相关尝试最早可追溯到2020年;2022年还有一个完成度很高的客户端实现,但它把 stack 引入了 pull request 之外的模型,因此被认为规模过大、风险过高。该功能如今重新进入规划,但 GitHub 的规模和 Git 实现意味着,这“绝不是在公园里散步”。

  • 这种张力体现了 Jared 的工作姿态:对外展现响应速度,但不承诺轻松交付。他的私信仍然开放,因为“所有反馈都是礼物”,而且“所有反馈都是信号”;收集更多反馈,应当有助于改进 Agent HQ 以及底层那些不那么光鲜的 GitHub 基础组件的决策。

Speaker 1

All right, we are here for a very special edition of Latent Space with my buddy Jared Palmer, SVP at GitHub and VP at Core AI at Microsoft.

Jared Palmer

Correct. Dual title.

Speaker 1

Yeah, twice the time. Is it weird to have 2 jobs?

Jared Palmer

I'm only on day 13, I think, so early days. So far, so good.

Speaker 1

So far, so good. We've been trying to get you on the podcast for 2 years, I think.

Jared Palmer

I think so. Yeah. Don't worry.

Speaker 1

Yeah, you're a busy guy. We have to do it in person. It's way better.

I should also plug that Jared fans should dig into your previous podcasts with Ken. [Laughter.]

Jared Palmer

Okay. But Ken—shout out to Ken.

Speaker 1

Before that, you were building v0 and AI SDK, and you were VP of AI at Vercel.

Jared Palmer

Yes, yes. All AI initiatives and vibes.

Speaker 1

I feel like, basically, you went from building one coding agent to now being the home for all coding agents. Is that the general vibe of Agent HQ?

Jared Palmer

I think that's right. Backing up, I spent the last 2 years or so building v0 at Vercel and AI SDK. Then this summer, I took time off, and now I've joined GitHub. Today, we launched Agent HQ, among other things, here at Universe.

It's going to be the home, we hope, of not only agents but also developers. It seems like a gravity well for this new collaboration space that we're trying to build.

Speaker 1

What do you think GitHub can do that you couldn't do at Vercel?

Jared Palmer

GitHub is an enormous platform, right?

Speaker 1

183 million?

Jared Palmer

Yeah, GitHub has over 180 million developers. The scale is immense. v0 was focused not only on one language but one framework and a specific problem space with a built-in renderer.

For those who aren't aware, v0 is like Bolt or Lovable, but it's built by Vercel and focused specifically on building Next.js apps. That constraint was rather liberating for the team at the time and let us really laser-focus on it.

Speaker 1

I hope. Thank you. I hope.

Jared Palmer

Obviously, at GitHub, we're the home of all languages, frameworks, and developers, so the scope is broadened. It's just a different part of the map, if you will.

Speaker 1

You've basically been covering the entire journey of coding agents from the start. What's your personal journey through coding agents? We started out with Copilot—obviously, GitHub started the Copilot trend. Tell us about the origin story of v0, how that developed, and maybe where you want to see things go next.

Jared Palmer

It's funny you ask that, as I've told the story multiple times. I feel like I've unlocked different parts of it in my brain by going back, so maybe we'll have to figure out how retrieval memory works.

Speaker 1

Interesting how memory works for agents.

Jared Palmer

Totally. That's why I brought it up. Sometimes you discover new paths, right? Anyway, the story goes like this.

When ChatGPT first came out, it was obviously incredible—world-changing and the fastest-growing product ever. I looked back at the timeline and dates, and we were very early in jumping into AI stuff when I was at Vercel.

At the time, there was no AI division and no AI group. I was the director of engineering for all of Vercel's frameworks, and I was helping with Next.js—spelled right?

Speaker 1

Yes.

Jared Palmer

Next.js, Turborepo, Turbopack, Webpack, and all the internal developer tools at Vercel. I was helping the Next.js team dogfood and test the initial implementation of Server Actions. Instead of building a to-do app, I was like, “Why don't you build a playground?” And I was like, “Okay, cool.”

That led to AI Playground, which is now just part of AI SDK.

Nat.dev—Guillermo told me about it. I got a DM; I remember, because I was at a bachelor party. He sent me a note saying, “Nat.dev is launching on Monday. You have to ship.” I had been working on it previously, so he was like, “Same idea.”

Speaker 1

Yeah, so he got wind of it, I guess.

Jared Palmer

I definitely had to jump into motion. We didn't even ship chat first. Guillermo sent me this DM over the weekend while I was at a bachelor party. He sent me the link to Nat.dev, this side-by-side thing, and I played with it. I was like, “Cool, okay,” so I sprang into gear and shipped AI Playground.

What was cool about AI Playground was that it forced me to go through every single model provider's API docs and figure out their quirks and nuances around streaming. At the time, it wasn't like everybody used OpenAI; they all had little quirks, though some of them were somewhat compatible. That was my first foray.

Then I launched AI Playground, and it shot to the top of Hacker News. I remember I didn't even implement chat because chat wasn't as important. It was just completions. Eventually, we added chat, and out of that project came AI SDK.

I had already looked at all the model providers and all the combinations and was like, “Okay, here's that chunk of streaming code you need.” AI SDK found that niche of asking, “How do we focus on the part that we're going to be good at, which is the UI aspect of it, but also not get in your way?”

We shipped a playground, then AI SDK launched. We're always about demos and having great starter templates at Vercel. I remember writing Guillermo and saying, “You know what would be cool? This guy, shadcn—he seems amazing, and his UI library is doing great. Why don't we team up and ship a ChatGPT clone open source?”

We did. We shipped this awesome template, which is now called Chat SDK, and it's great. What that did at Vercel was set us up for rapid experimentation, because we had this really good, pretty full-featured, ChatGPT-ready template with all the latest features.

When it came to rapid prototyping that summer—now we're in summer 2023—it was liberating. By that point, I had gained some momentum internally and pivoted almost entirely to AI. I had Shu Ding, who you're friends with, Max Leiter, and shadcn cooking.

I think code execution had just come out. I think that's my timeline.

Speaker 1

Yeah, the Code Interpreter sandbox.

Jared Palmer

Code Interpreter. That's what they called it at the time. As soon as I saw this, I had a very ambitious idea and proposal to present to Guillermo.

Mind you, tool calls didn't exist, and the context window was 4,000 tokens, so there wasn't much there. What if we had a thing where you could prompt and sometimes it would do code interpretation, then maybe it would choose to render a UI? Other times, it could render a document inline in the chat. It would just have different kinds of generative UI.

Maybe you could pipe them together, so the output of one could feed into another prompt. If we did code interpretation, we could coerce it to always emit tabular data. Maybe we could pass that to another prompt that rendered a UI.

Speaker 1

Yeah, it sounds like these are just tool calls.

Jared Palmer

That's exactly what these are.

I came back to Guillermo, and at the time we had a security debate: Should we allow code interpretation with the ability to fetch data? Giving it internet access was scary at the time. Now they're like, “Fine, whatever. Do whatever you want,” but at the time it was a little scary.

We said no to code interpretation, but the UI idea was pretty neat. That prompt-to-UI idea was the aha moment of v0. The models weren't very good, though, relative to where they are now.

That was the GPT-4 era. We were just into the GPT-4 era, and we were probably at a 16,000-token context window. You couldn't really do chat, so we had to invent this new paradigm of faking it with completions. That forced us to do the initial v0, which launched in September 2023.

It looked more like Midjourney. In fact, if you go back to the original tweet, it was “Midjourney for React.” It was all very visual, and you could click on different components and elements and reprompt. Again, we were hacking around the limitations because we didn't have chat or tool calls.

Fast-forward again: v0 launched, and then it probably took us about 9 months to get to $1 million ARR with this little team. The models progressed from GPT-4 to GPT-4 32K—the big boy. We never really got GPT-4 Turbo working; I don't know why that never happened.

Then we switched to other frontier models and started doing our own models and things like that.

Speaker 1

But fast-forward another 10 months, or 9 months or so, and then we rebased toward chat, and now the models finally could do chat. The artifact pattern had evolved, so it was time to rewrite. When we launched v0—the chat version, or the new v0, whatever you call it—it was 14 days, another $1 million ARR; 14 days, another $1 million ARR. It was like a rocket ship after that.

And that just proceeded, and we just kept cooking. That’s been the journey. We just kept perfecting, and what was really liberating for us was the focus on just one stack or one framework. When everybody else was trying to do a general-purpose coding agent, we were like, “No, we’re just going to focus on Next.js front end and shadcn.” That really allowed the team to focus. That’s the story arc.

Jared Palmer

I mean, to be fair, because Next.js is so dominant, basically everyone has to be good at Next.js, right? But being focused even right down to the UI library and component stuff like that helps a lot.

Speaker 1

We also started working with all the frontier model labs to help, because it was in Vercel’s best interest to have them be great at Next.js.

Jared Palmer

Yeah.

Speaker 1

And also because of the post-trained models—you can read about this on the Vercel blog—we had the post-training harness that we created, and we started sharing it with other model labs. We had all our data in a very hygienic state to work with them.

Jared Palmer

Did you ever debate internally—and, from my seat at Cognition, I can also see this—whether you should pick the best qualities of every model and string them together in v0, or have a model selector and let customers go back and forth?

Speaker 1

Yeah, we went back and forth on all this. I think at the end of the day, there are pros and cons.

Jared Palmer

Yeah. One of the benefits of having your own branded model, whether synthetic or composite, is that you can stitch these things together. It’s a little different now with the agentic flow, but even look at what you guys launched recently with v0, right? Search is going to be a different model than generation, but search and generation are 2 different subsystems, right? So you can have search eval be totally different.

Speaker 1

So where we’ve probably ended up now is that, for a long time, we didn’t have a model selector, and then we had our own models, which were composites, as we talked about. That would allow us to mix and match. I think that’s probably also nice because, as a product, you get to brand it.

Jared Palmer

Right, and you can decouple it from the launch of the frontier lab.

Speaker 1

Yes.

How does Cognition even bill for it? An ACU, right?

Jared Palmer

So it gets a little wonky. We could go on about pricing this stuff; it gets challenging. But the nice thing about having the brand-name model is that you get to co-launch with the provider, and they’ll hit you up.

Speaker 1

But your billing needs to be capped at whatever retail is, right? Or some—

Jared Palmer

Right, right, right. You can’t really charge too much of a premium. You can, but—

Speaker 1

Right, right. And it’s like, well, then how do we charge you for SWE-bench or something?

Jared Palmer

I think some part of it is the cynical part: you want to create a sustainable business and independence from the model labs. But the other part is genuinely that you actually do get better performance—you get to string together all these things.

Jared Palmer

Yes. Switching gears to GitHub, we’re all about model choice now and making sure that—and what’s cool is that we also have Copilot, which is our harness, and Copilot CLI. But we also have third-party harnesses like Claude Code, Codex, and Devin now in Agent HQ. So you get the best of both worlds. I think that’s going to be awesome and ultimately what people want.

Speaker 1

Yeah. I think the model layer is not the right abstraction to do the switcher anymore. It’s weird, because that’s where you started with the AI SDK.

Speaker 1

Yeah, exactly.

Speaker 2

But now the model and the agent have to be strictly tied together—very, very strongly coupled. You can’t loosely bind them and just do a generic interface, because then you’re just going to have the lowest common denominator of all the models.

Speaker 1

If you’re in the agent world—

Speaker 2

Yeah, yeah.

Speaker 1

—which may just be better than the chat world in general. Better.

Speaker 2

Agent world is a much better abstraction. I’m calling it agent world, but I mean a loop with maybe a compute runtime and files.

Speaker 1

So that’s your definition of an agent? You’re dropping your official definition here.

Jared Palmer

No, don’t put me on. My initial definition of an agent for AI—I was dying on this hill because the AI SDK, everyone else is an agent framework—was that an agent is orchestrating an API request with a queue and a for loop.

But a coding agent now has meant so much more. There are coding-agent SDKs, and you’ve got sandboxing, file systems, and tool calls. I do think that’s a uniquely different world. I’ll call that agent world.

Speaker 2

Yeah, and I think that seems to be where things are going. I even believe the Claude for Excel agent is basically related to Claude Code. I was talking to my colleague backstage, and I think it could be.

Speaker 1

It could be. I actually don’t know how it works under the hood yet, so it wouldn’t surprise me if it was.

Speaker 2

Yeah. They seem very all-in on skills, which is kind of interesting.

Jared Palmer

What do you think of skills?

Speaker 2

It’s kind of DXT, which is the bundled version of MCPs.

Jared Palmer

Okay.

Speaker 2

Wasn’t the reason you didn’t know about it that it wasn’t very popular?

Jared Palmer

Okay.

Speaker 2

Skills are kind of the second shot that’s very LLM-y. It’s like, “Just read my Markdown and read this directory of files and go nuts.” As long as it can understand that it has the capability to run code and read files, you’re good. And actually, that is the universal interface, which is a file system.

Jared Palmer

Right. Back to agent files.

Speaker 2

Yeah, which is kind of cool.

Speaker 1

Yeah. What you’re hitting at is this philosophy of our understanding of what the minimum bar for coding agents is. Over the last 2 years, you’ve lived this journey, and now you’re basically the kingmaker.

Jared Palmer

I don’t know about that.

Speaker 1

You run Agent HQ, and I imagine you have other projects too, but Agent HQ is the big one that we’re talking about here. What are you seeing from the different agents, and what do you want this to become?

Jared Palmer

Such a good question. I think Agent HQ and GitHub itself need to co-evolve. One of the things that Microsoft has done really well is putting things that are alike closer together. Think about the new CoreAI organization: Visual Studio, Visual Studio Code, GitHub, and parts of Azure are all in one. Obviously, the GitHub team and the VS Code team have been working closely together for a long time, but now we’re really close together.

For me, one of the cooler things that Agent HQ can offer is seamlessness and fluidity with your workflow. If you saw the demo today, we saw a demonstration where you use Agent HQ, fire off a task, and it creates a PR, but you can also open that PR up in VS Code with one click. That’s awesome.

I think the vision for GitHub as it evolves is to look at those touch points where AI can be sprinkled in, in a Salt Bae-style, into the native workflow. Whether you’re assigning an issue, or maybe some new stuff that we should focus on, could be: How do we resolve a merge conflict?

Jared Palmer

Oh my God.

Speaker 2

Right? How do we maybe pop open an action or get in? We’ve all been in that flow where Actions don’t work locally. What if we could just put in a comment or kick off a task to solve this for you? What I’m trying to describe is a workflow where it’s seamless and fluid, and you can stay in a flow state across all devices—mobile, the web on GitHub.com, or in your local editor. That’s where my focus is going to be for the next 6 months or so.

Jared Palmer

Yeah. As a side tangent, one of the things Microsoft also owns—I don’t know if it’s Microsoft or GitHub—is dev containers. I think a very important concept for sandboxing environments, whatever you call it, is a lightweight version of what Docker containers are. Do you see that as a standard that we should invest in? It’s supported in VS Code, but I don’t think it’s that popular outside of VS Code.

Speaker 1

Yeah. It's used internally at GitHub too for development at GitHub.

Jared Palmer

Oh, yeah. Yeah.

Speaker 1

Which is cool. I think they were so far ahead, but now there are sandboxes. There are so many of them these days, right? I think Cloudflare just launched theirs. There's Daytona, and there's Modal, which I think Lovable uses.

Jared Palmer

I have no idea.

Speaker 1

Yeah. You probably have your own. I don't know. What do you guys use?

Jared Palmer

Just some Kubernetes pods.

Speaker 1

Okay. You guys roll it yourselves. Cool. I think that's maybe the runtime, but there's work and discussion about what that runtime should be, even internally at Microsoft. We've got a couple of different competing things, so we'll figure it out in the next cycle here.

But there's a great point: there's a lot of cool stuff in a dev container. You already have VS Code loaded, you've got a file system, you've got a sandbox, you've got the security protocol, and it's also wired into GitHub Enterprise.

Jared Palmer

Yeah.

Speaker 1

It's ready to be packaged, so there's lots of goodness there.

Jared Palmer

Yeah. I say the number-one pain point that Cognition has—but Codex and presumably the other guys do too—is repo setup, which is effectively what dev containers and a Dockerfile do for you: run this thing, then that thing, set this up, do that thing. Why is it so hard? Why haven't we solved it?

Speaker 1

I don't know. I think it's hard because you can't predict what's in the repo, right? You don't know when they bundled FFmpeg. You just don't know.

Jared Palmer

It's nice when it's just Next.js and you can run npm install.

Speaker 1

Correct. Correct. You can make optimizations with obvious constraints, and I think the general-purpose container is just challenging. That being said, there's probably some work to do on autodetection and preempting and stuff like that, but it's a bigger, broader problem space, right?

Jared Palmer

Yeah.

Speaker 1

So, fun fact: when I was at Netlify, I actually wanted to reach out to Vercel to do a standardized, open-source autodetection system for frameworks. We never got internal momentum on that. It was an idea. I was like, “Shouldn't this be open source?”

Jared Palmer

Yeah. Yeah.

Speaker 1

Autodetection is a common utility that everyone needs.

Jared Palmer

Yes. Yes, I remember that. I'm having a flashback.

Speaker 1

Yeah. Everyone knows theirs. Yes, probably we shouldn't all build it, right?

Jared Palmer

No, it's—what are your defaults? They're not exactly the same, which would be better to—

Speaker 1

Just having even the same preference stack of defaults would be the right thing. Yeah.

Jared Palmer

It would be great, because then we can move the whole ecosystem together from npm to Bun, right?

Speaker 1

Are there other movements, protocols, or standards that you're interested in? MCP was a big winner this year. There are others, like A2A and ACP. All of these are interesting. I'm not as familiar with ACP, the payments one. Is that the x402 one?

Oh, no, the x402 one. The—

Jared Palmer

The one. Okay.

Speaker 1

And then the payment one—was it Stripe or Coinbase? Stripe. Yeah, that's very cool.

Jared Palmer

We've had them on the pod.

Speaker 1

Okay. Yeah, that's very cool. It would be interesting to see if that takes off.

Jared Palmer

I mean, it's right. So—

Speaker 1

Yeah, but it still needs to be adopted by the clients, right? I think that's fascinating. MCP is huge. It seems like it's the way that a lot of our enterprise customers, especially when it comes to digital transformation, will be able to add context.

In addition to that, we also have custom agents that we announced today. You can work with prompts and stuff within your Agent HQ and customize these agents for different tasks. Those can have MCPs and such, and I think that's going to be really powerful from a platform perspective. That gets me excited. That's what I think is shipping now and next, but we're always on the lookout for the next thing. What's top of mind for you?

Jared Palmer

For standards or—

Speaker 1

Standards.

Jared Palmer

Standards should be: a container is a container.

Speaker 1

It's the—

Jared Palmer

Look, I think dev containers just have a PR problem.

Speaker 1

It's a great idea.

Jared Palmer

Right.

Speaker 1

Just no one—

Jared Palmer

Makes it interesting. I think you can do it, basically, with this one.

Okay, added to my list. But before that, you probably have a bunch of other stuff that I do want to get to. Just staying on the AI stuff, I think we're actively exploring computer use as a thing. It got going a little bit, people were very excited, and then they found out it was slow, bad, and inaccurate.

Speaker 1

It is computationally intensive, my understanding.

Jared Palmer

It's getting better.

Speaker 1

Yeah.

Jared Palmer

Especially with open vision models like DeepSeek-OCR and olmOCR. Just give it a few more turns of scaling.

Speaker 1

It seems like you need that use case, and primarily it just seems like a modality worth pursuing. A lot of people on the code generation and code agent side are trying to think about this. We had this evolution from Copilot to more agentic systems, sort of like a Claude Code situation. What's next? What's the obvious next step?

Jared Palmer

Making them good.

Speaker 1

Making them good. Yeah. You don't like Claude Code?

Jared Palmer

No, I don't. It's more that the devil's in the details.

Speaker 1

Yeah. Going from 90%—it's like hill climbing; it gets steeper.

Jared Palmer

In my opinion, it gets steeper. Going from 90% success to 95%, to 98%, to 99%, to nines of success—

Speaker 1

Yeah.

Jared Palmer

I mean, it's really hard.

Speaker 1

I mean, it's really hard, paying a lot of money for expert programmers or open-source maintainers.

Jared Palmer

Then you realize along the way maybe the users aren't that good at it.

Speaker 1

Yeah.

Jared Palmer

No, but I just think there's a lot of work to do to finish the swing. There is a big difference between 98% and 99% correct, and that's noticeable.

If you're working on an AI product, you probably don't realize how poor the quality of your AI product is lately. Most people are blind, living in La La Land, unless they're really measuring the number of error-free sessions, how many errors are coming from the infrastructure providers, how many requests are dropped, and how fast these things are. That's something we cared about at Vercel quite a bit, and we'll care about it.

Speaker 1

Do you have a daily review of your dashboard? I don't know.

Jared Palmer

Daily? Daily is slow. Okay.

Speaker 1

I thought you were going to say daily is too much.

Jared Palmer

No, you're thinking it's like every 3 hours—a roll-up of key metrics and stats.

Speaker 1

Yeah.

Jared Palmer

One of them was error-free sessions, and other things like that were really important. Especially now, with agents, which are multi-turn, I have a tweet about this from 2024: agents will really only work when we get not only more intelligent models, but also better reliability from the infrastructure providers.

Inference is not like a database uptime update. There are still differences between providers, differences in performance, and differences in uptime. That's why you see things like OpenRouter being very successful, along with different gateway products.

We would switch because of reliability; they go down all the time. Long story short, it was almost like a video-game style system. We'd have all the data coming in all the time, and that allowed us to do what I used to joke about as mood ranging: good day, bad day.

Speaker 1

So it was very successful for us. I think other teams should adopt that data-driven approach. One thing that's surprising is the relative lack of data-analyst agents, where you can chat with it or add a Slack bot for the precise analytics that you want to generate. I think we're still in the BI era.

Jared Palmer

Yeah. Isn't that weird?

Speaker 1

Yeah, I totally agree. That space hasn't been captured as much. Actually, I'm interested in this shift into knowledge-work tasks with coding agents.

Jared Palmer

Okay. I wonder—

Speaker 1

Using coding agents for non-coding tasks.

Jared Palmer

Correct.

Speaker 1

Do you do that personally?

Jared Palmer

I do. Yeah.

Speaker 1

Yeah? What do you do?

Jared Palmer

This summer, I was helping automate some of my dad's workflows. He's got some Excel spreadsheets for financial accounting, or managerial accounting, I guess. I pointed Claude Code at that stuff to see what happens. It ended up doing Python and generating some scripts. It kind of got off the rails, but even he saw that it was better at it than ChatGPT.

Speaker 1

Super obvious.

Jared Palmer

It became kind of obvious. It felt better.

Speaker 1

I wonder if he can try Claude for Excel and see.

Jared Palmer

Yeah, you got me, right? And then, of course, you've got the browser—the browser-based agents, not computer use, but browsers with agents.

Speaker 1

Agentic browsers, Perplexity, everybody—is that better? If that's true, then maybe the general-purpose injection point is there. Have you tried any of the agent browsers?

Jared Palmer

All of them. I'm currently using Atlas mostly because I just want to give ChatGPT a fair go.

Speaker 1

Okay.

Jared Palmer

But I'm stuck with Arc and its vertical tabs.

Speaker 1

Oh, okay.

Jared Palmer

I think any pro user—I have multiple businesses.

Speaker 1

How many tabs do you—

Jared Palmer

I'm context-switching, right? I have hundreds of tabs open. I made an open-source tool called Chrome Dump. You can find it on my GitHub. It literally dumps all the open tabs, summarizes them, and then I can close them by deleting them in Markdown.

Speaker 1

That's pretty cool. [Laughter.]

Jared Palmer

So you just go on a bender, and then you dump it.

Speaker 1

Yeah. I mean, it should be as easy to close as Markdown in Chrome. Chrome isn't that good on the performance side of things yet.

Jared Palmer

And you were working on some browser comparisons.

Speaker 1

I was, but I tried to build it in Tauri.

Jared Palmer

Okay.

Speaker 1

Tauri explicitly doesn't want you to build a browser, and I tried to fight it too much.

Jared Palmer

I see. Yeah, very cool.

Speaker 1

So, just to wrap things up—we're about out of time—there are other side projects, tasks, and things that you've announced here. First of all, redesigning the GitHub homepage, which a lot of people don't even know GitHub has. [Laughter.]

Jared Palmer

I legitimately want RZ's tweet printed out.

Speaker 1

You read the tweet. There's a tweet like, “No one uses all of this stuff. It's totally useless.” I'll pull it up.

Jared Palmer

I quoted it today because, when we launched—let me get it right, because I've got to do it right. Hold on—it was, “Incredible how pretty much the entire GitHub homepage is useless.” It has 1.3 million views and 19,000 likes, and this was May 22, 2025.

So I heard the team made improvements, and today they launched a new GitHub homepage, which I'm very proud of. They should be really proud of it, too. It's got tasks at the top and recent PRs. Some stuff is still there, like your recent repositories. I still think there's more work to do, but it's really overhauled, and they did an amazing job with it. They nailed it.

There's always more work to do—it's never done—and hopefully we can keep iterating with the community and everyone and keep going.

Speaker 1

The last thing I want to hit you on is stacked diffs.

Jared Palmer

Oh, you asked everyone when you joined what I should work on or something.

Speaker 1

Yeah. What—

Jared Palmer

I don't know if this is your job specifically.

Speaker 1

It wasn't, but why do people want stacked diffs so much? I think you have some history there.

Jared Palmer

Yes. Anyone who's interacted with anyone at Facebook knows about Phabricator, just about it.

Speaker 1

So can you explain why it's been so—what it is and why it's so hard?

Jared Palmer

Okay. So this concept of pull requests, which we're all familiar with: You write some commits, you open a PR, and then you merge the PR and go about your day.

As you scale to larger organizations, you look at your history, and there are people who have near-religious beliefs about how to do Git right: rebase versus merge. There's a crowd that wants to fast-forward the repository to preserve all the history, and then there's a crowd that wants to squash and merge.

Anyway, at Facebook—and I've never worked at Facebook—in my previous startup, Turborepo, I did a lot of research on build systems. Facebook has custom build tools called Buck, a custom file system, and they don't use Git; they use Mercurial, which is now sort of custom, and it's all wired together.

At Facebook, they don't use pull requests. They have a different sort of philosophy. The best way to analogize this is to imagine every PR just had 1 commit in it. You could branch them and restack them, and the critical thing is that you can restack them. If you restack or make a change later—like earlier in the stack rather than later in the stack—and these stacks are just diffs, the commits are just diffs, and that's the term “stacked diffs,” you can then collapse them and merge the last one as a single diff.

It gives you a nicer workflow, and if you work on a monorepo or a very, very large codebase, it's a really nice way to work, especially if you've got a system that will automatically restack. If you think even more deeply about it and get really deep into the weeds, you can decide which diffs in the stack CI should run against, if you get fancy.

Speaker 1

By a commit message or—

Jared Palmer

They're just always there. Yeah, you could decide: Maybe this one doesn't need it, or skip that one, or whatever. You end up getting these groups, these stacks, and it's really nice from a code-review perspective because, when you go to update—or you can update a different part of the stack—it makes it a little more fluid. That's what people want.

There are a couple of tools on the market that do this kind of behavior. One is called Graphite. There are a couple of others.

Speaker 1

Too many tools called Graphite. You see? Here's another Graphite right here.

Jared Palmer

Yeah, yeah. It's a workflow, and so it's been the top pull request—or, sorry, the top feature request—

Speaker 1

Feature request.

Jared Palmer

Feature request, thank you—at GitHub for years, from the community's perspective. I don't know about GitHub, but as soon as I joined, the first thing I did was look this up. I asked how I should make GitHub better, and it was the top feature request.

I went to investigate, like any good product person would, and there have been multiple attempts at this internally going back to 2020. There was one very, very polished attempt in 2022, and I don't have all the context, but there was a pretty good implementation. All of the work was done on the client, and it reintroduced a new concept called stacks outside the pull request into GitHub. It was deemed a little too risky, too big of a change. That's just what I was told.

Anyway, we've had a couple of meetings internally already, and we're trying to weave it into planning and the roadmap. Hopefully we'll be able to share more updates soon, but it's a top-of-the-list known feature.

Speaker 1

Again, heard.

Jared Palmer

Yeah. We're working on it. Obviously, something the size of GitHub moving to support this kind of new feature isn't just a walk in the park because of the size of GitHub and GitHub's Git implementation, but it's something that we're actively exploring.

Speaker 1

Yeah. Well, I think, just to wrap all that up, it's really nice for someone who's so deeply engaged and coming from one of us, literally, that you now run things at GitHub and we can just add you like that.

Jared Palmer

Yeah, yeah.

Speaker 1

That you now run things at GitHub—

Jared Palmer

Yeah. I think Andrej Karpathy was saying the other day that every company needs one of these where you can say, “Hey, this really shouldn't exist at GitHub. We love GitHub, we use GitHub, but come on.”

Feature requests welcome. My DMs are always open.

Speaker 1

Oh, careful.

Jared Palmer

I am of the philosophy that all feedback is a gift. It's all a signal, and the more signal we can collect, the better decisions we can make and the more we can truly build this really useful website and company together. I think that's going to be the future, and if we focus just on that, we're going to be okay.

Speaker 1

Yeah. We're going to be okay. All right, well, thanks so much. Pleasure catching up.

Jared Palmer

Yep, likewise.

Speaker 1

Congrats.

⚡ 深入 GitHub 的 AI 革命:Jared Palmer 揭示 Agent HQ 与编程 Agent 的未来 — 文字稿与摘要 | BidClub