Ramp 自研编码代理 Inspect:75% PR 由它提交
Why Ramp built its own in-house coding agent, Inspect
给技术团队和产品负责人:Ramp 用 5.5 人自研编码代理,把 75% PR 自动化,并给出架构、验证机制和采纳曲线,可直接评估是否值得自建。
At a select few tech companies, they write most of their code with their own, custom-built, internal AI coding agents. This is different from most of the industry which uses AI coding agents and harnesses like Codex, Claude Code, Cursor, OpenCode, GitHub Copilot, etc. At Ramp, their own version is called Inspect, while at Block it’s Goose (open source), at Stripe it’s Minions, and River at Shopify.
在少数几家科技公司,他们大部分代码是用自己内部定制构建的AI编程代理编写的。这与行业内大多数使用AI编程代理和工具链(如Codex、Claude Code、Cursor、OpenCode、GitHub Copilot等)的公司不同。在Ramp,他们自己的版本叫Inspect,而在Block是Goose(开源),在Stripe是Minions,在Shopify则是River。
But why not just use what frontier labs and coding harness AI startups already offer; why take the time and effort?
但为什么不直接使用前沿实验室和AI编程工具链初创公司已经提供的产品,为什么要花费时间和精力呢?
We reached out to Ramp, a fintech company big on building its internal AI infrastructure, and sat down with the founding team of Inspect and engineering leadership. We talked with CTO Rahul Sengottuvelu, Head of Engineering Hamid Dadkhah, and Zach Bruggeman, principal engineer and founding engineer of Inspect.
我们联系了Ramp——一家大力构建内部AI基础设施的金融科技公司,并与Inspect的创始团队和工程领导层进行了深入交流。我们与CTO Rahul Sengottuvelu、工程主管Hamid Dadkhah以及Inspect的首席工程师兼创始工程师Zach Bruggeman进行了对话。
Today, we cover:
今天,我们涵盖以下内容:
- What is Inspect? Imagine an AI coding agent running on remote sandboxes with access to most internal data sources, and verifying all backend and frontend changes on the remote machine.
- Why build your own background coding agent? Engineers and designers at Ramp were dissatisfied with third-party harnesses: they wanted to run more than a few agents in parallel – which local machines don’t support – to have better frontend tooling, and also faced demand for remote development environments.
- How Ramp uses Inspect: coding, bugfixing in Slack, debugging, and building internal agents like code review and incident management on top of the Inspect platform
- Tech stack and architecture: React/Vite, Cloudflare Durable Objects, SQLite, Cloudflare Agents SDK, Modal sandboxes.
- What makes Inspect so popular? The machine in the cloud is a developer machine, plus it has access to numerous internal integrations via API and MCP.
- Inside the sandbox. OpenCode, services for development (e.g. Postgres, Redis, RabbitMQ, Temporal), Chromium, and VS Code Server. Plus, we check out smart tricks to make sandboxes spin up in five seconds or less(!!)
- Collaboration & feedback. All Inspect sessions are public and open to collaboration, with no opt-outs allowed. More than 150 people at Ramp have contributed to the project.
- 什么是Inspect?想象一个AI编程代理,运行在远程沙箱中,能访问大多数内部数据源,并在远程机器上验证所有后端和前端更改。
- 为什么构建自己的后台编程代理?Ramp的工程师和设计师对第三方工具链不满意:他们希望并行运行多个代理——而本地机器不支持——希望有更好的前端工具,同时也面临对远程开发环境的需求。
- Ramp如何使用Inspect:编码、在Slack中修复bug、调试,以及在Inspect平台上构建内部代理,如代码审查和事件管理。
- 技术栈和架构:React/Vite、Cloudflare Durable Objects、SQLite、Cloudflare Agents SDK、Modal沙箱。
- 是什么让Inspect如此受欢迎?云中的机器就是开发机器,加上它通过API和MCP能访问众多内部集成。
- 沙箱内部。OpenCode、开发服务(如Postgres、Redis、RabbitMQ、Temporal)、Chromium和VS Code Server。此外,我们还挖掘了一些巧妙技巧,让沙箱能在五秒或更短时间内启动(!!)
- 协作与反馈。所有Inspect会话都是公开的,开放协作,不允许退出。Ramp有超过150人为此项目做出了贡献。
If you’re like us, you might wonder what the point would be of building your own harness and investing the time and resources in it, given all the choices already out there. This article sets out to answer that question, to understand why other places chose a similar path, and how a non-AI frontier lab can build more efficient tooling than what the frontier AI labs offer. It looks like the “buy, don’t build” tooling convention might not apply to AI tools!
如果你和我们一样,可能会好奇,在已有众多选择的情况下,自己构建工具链并投入时间和资源的意义何在。本文旨在回答这个问题,理解其他机构为何选择类似路径,以及非AI前沿实验室如何能构建出比前沿AI实验室更高效的工具。看起来,“购买而非构建”的工具惯例可能并不适用于AI工具!
Let’s get into it.
让我们深入探讨。
The bottom of this article could be cut off in some email clients. Read the full article uninterrupted, online.
本文底部在某些邮件客户端中可能被截断。请在线阅读完整文章,不受干扰。
Read the full article online
在线阅读完整文章
1. What is Inspect?
1. 什么是Inspect?
Inspect is Ramp’s internal background coding agent, shipped and opened internally last November. Engineers at Ramp can use any tool they want, but 75% of merged PRs are now raised by Inspect; a clear indication that many engineers prefer the tool over others:
Inspect是Ramp内部的背景编码代理,于去年11月内部发布。Ramp的工程师可以使用任何他们想要的工具,但目前75%的合并PR是由Inspect提出的;这清楚表明许多工程师更偏爱该工具而非其他工具:
Inspect’s home page: showing sessions started by the user
Inspect的主页:显示用户发起的会话
Inspect: how the UI looks for engineers inside of Ramp
Inspect:Ramp内部工程师看到的UI界面
A couple of things make Inspect different from coding agents like Claude Code and Cursor:
有几件事使Inspect不同于Claude Code和Cursor等编码代理:
- Remote sandboxes: Inspect spins up a sandboxed remote development environment which unlocks unlimited session concurrency, centralized setup configuration, and cross-functional session collaboration.
- Internal integrations: Inspect is integrated across the org with the same tools and context that a Ramp engineer has; the only constraint on agents’ ability is model intelligence, not missing tools or access.
- 远程沙箱:Inspect启动一个沙箱化的远程开发环境,解锁无限会话并发、集中式配置设置和跨职能会话协作。
- 内部集成:Inspect与整个组织集成,使用与Ramp工程师相同的工具和上下文;代理能力的唯一限制是模型智能,而非缺失的工具或访问权限。
Inspect verifies all its changes. As a remote development environment with full tooling access, it can “close the loop” and confirm the changes it makes work:
Inspect验证其所有更改。作为一个拥有完整工具访问权限的远程开发环境,它可以“闭环”并确认其更改有效:
- Backend verification: Inspect runs tests, reviews telemetry and queries feature flags
- Frontend work verification: Inspect visually verifies its own work by providing screenshots and live previews to users.
- 后端验证:Inspect运行测试、审查遥测数据并查询功能标志
- 前端工作验证:Inspect通过向用户提供截图和实时预览来视觉验证其自身工作。
At present, most third-party AI harnesses cannot do these kinds of verifications ‘out of the box’ because they lack internal integrations with things like telemetry and feature flag systems. Also, almost a year ago, Ramp built screenshot verification before it was supported by third-party vendors. Things like this placed Ramp months ahead of nearly all AI coding harnesses, and they could also build a far better feedback loop in their own harness.
目前,大多数第三方AI工具链无法“开箱即用”地执行这类验证,因为它们缺乏与遥测和功能标志系统等内部集成。此外,将近一年前,Ramp在第三方供应商支持截图验证之前就构建了截图验证功能。诸如此类的事情使Ramp领先于几乎所有AI编码工具链数月,他们还能在自己的工具链中构建更好的反馈循环。
Rapid adoption when background agent released
背景代理发布后迅速被采用
The v1 of Inspect was a Chrome extension for designers to prompt AI to make minor website changes. A few months later, the v2 version with background agents followed.
Inspect 的 v1 版本是一个 Chrome 扩展,供设计师提示 AI 对网站进行小幅修改。几个月后,带有后台代理的 v2 版本随之推出。
History of adoption numbers
采用历史数据
By January of this year, just two months after the v2 launch, around 60% of PRs at Ramp were authored by Inspect, which increased to 75% by May. At Anthropic, Claude Code won rapid adoption after an internal release, as covered in the deepdive How Claude Code is built.
到今年一月,即 v2 发布仅两个月后,Ramp 约 60% 的 PR 由 Inspect 编写,到五月这一比例增至 75%。在 Anthropic,Claude Code 在内部发布后迅速获得采用,详见深度报道《Claude Code 是如何构建的》。
Then Inspect hit a neat milestone in July, crossing the one million total sessions mark:
随后,Inspect 在七月达到了一个里程碑,总会话数突破一百万:
Milestone: one million Inspect sessions
里程碑:Inspect 会话数达一百万
2. Why build your own background coding agent?
2. 为什么构建自己的后台编码代理?
There are a few reasons why Ramp decided to turn down tried-and-tested products and create their own:
Ramp 决定放弃经过验证的现成产品并创建自己的产品,原因有几个:
- Local machines are limited in how many agents they can run. Ramp found third-party products below expectations; they liked Claude Code on day 1, but were constrained by only being able to run one or two sessions on local machines.
- Better frontend tooling. The web engineering team wanted to improve their frontend tooling so designers could make small UI tweaks. There was an opportunity to use AI to automate themselves out of that loop.
- Need for remote dev environments. As Ramp scaled, so did the complexity, and with it there was more work at the intersection of systems, like debugging backward compatibility, and broken API contracts. The solution was to create remote dev environments.
- 本地机器能运行的代理数量有限。Ramp 发现第三方产品未达预期;他们第一天就喜欢上了 Claude Code,但受限于本地机器只能运行一两个会话。
- 更好的前端工具。Web 工程团队希望改进他们的前端工具,以便设计师能够进行小的 UI 调整。有机会利用 AI 将自己从这一循环中自动化出来。
- 对远程开发环境的需求。随着 Ramp 的扩展,复杂性也随之增加,系统交叉领域的工作也更多,例如调试向后兼容性和损坏的 API 契约。解决方案是创建远程开发环境。
Inspect started as a designer’s frontend tool, and a good part of its team were frontend engineers with interests in UX and speedy performance. The v1 was a Chrome extension for visual edits, where a user could highlight an area and tell the AI what minor website changes to make, like copy edits and button placements. The task of building a tool for making UI edits with AI was given to two frontend engineers, Zach Bruggeman and Jason Quense, who aside from their frontend domain knowledge, brought a welcome adversarial perspective, as they were less than fully convinced by AI at that time.
Inspect 最初是设计师的前端工具,其团队中很大一部分是对 UX 和快速性能感兴趣的前端工程师。v1 是一个用于视觉编辑的 Chrome 扩展,用户可以在其中高亮一个区域,并告诉 AI 要对网站进行哪些小的修改,例如文案编辑和按钮位置。构建一个用 AI 进行 UI 编辑的工具的任务交给了两位前端工程师 Zach Bruggeman 和 Jason Quense,他们除了具备前端领域知识外,还带来了受欢迎的对抗性视角,因为当时他们对 AI 并不完全信服。
People liked v1 but it wasn’t adopted because engineers already knew how to go to a file and edit a single line of code, so didn’t have a reason to use it, and it also required setting up a local development environment, making it too complicated for non-devs.
人们喜欢 v1,但它没有被采用,因为工程师们已经知道如何进入文件并编辑一行代码,所以没有理由使用它,而且它还需要设置本地开发环境,这对非开发人员来说太复杂了。
For the current iteration of Inspect (released November 2025) the team pivoted. They built Inspect v2 as a remote development environment with a coding agent on top. Setting it up as a remote environment that they could configure centrally removed the need for local setup on each machine. They were also encouraged by seeing that OpenCode, the open-source coding agent which serves as Inspect’s harness, exposed an HTTP API which made it straightforward to set up, and was open-source, good enough, and importantly, offered model agnosticism.
在Inspect的当前迭代版本(2025年11月发布)中,团队进行了转向。他们将Inspect v2构建为一个带有编码代理的远程开发环境。将其设置为可集中配置的远程环境,消除了每台机器上本地设置的需求。他们还受到鼓舞,因为看到OpenCode——作为Inspect的底层框架的开源编码代理——暴露了HTTP API,这使得设置变得简单直接,并且它是开源的、足够好,更重要的是,提供了模型无关性。
Check out the episode of The Pragmatic Engineer podcast with OpenCode creator, Dax Raad.
请查看《实用工程师播客》中与OpenCode创始人Dax Raad的对话集。
After pivoting, adoption skyrocketed to where it is today:
转向后,采用率飙升至今:
Daily unique human Inspect users
每日独立人类Inspect用户
Adoption numbers today:
今日采用数据:
- 75% of all merged PRs come from Inspect sessions
- ~90% share of PRs merged into the Inspect repo come from an Inspect session
- Under 5 seconds to spin up a fully provisioned remote dev environment
- 5.5 people in the Inspect team: four engineers, a director, and part-time PM
- 75%的合并PR来自Inspect会话
- 约90%合并到Inspect仓库的PR来自Inspect会话
- 启动一个完全配置好的远程开发环境不到5秒
- Inspect团队有5.5人:四名工程师、一名总监和一名兼职产品经理
更进一步:量化金融体系
看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力