河底
It’s a strange time to be working in developer tools. Things we were doing six months ago don't make sense anymore. Tools that didn't exist a year ago are now central to how we work. The texture of the job has never changed so fast, and the tools we’re building reflect that.
现在从事开发者工具工作正处在一个奇特的时期。我们六个月前做的事情现在已经没有意义了。一年前还不存在的工具现在已经成为我们工作方式的核心。工作的质感从未变化得如此之快,而我们正在构建的工具也反映了这一点。
River is an AI agent that lives in our company Slack. We launched it a couple of months ago. Now, one in eight merged pull requests across Shopify is coauthored by it.
River 是一个居住在我们公司 Slack 中的 AI 智能体。我们在几个月前推出了它。现在,Shopify 全局每八个合并的 Pull Request 中,就有一个是由它共同编写的。
Tobi shared how River has become a teaching workshop for our company, but the agent surface layer is only one part of the story. This is what we built underneath River, and the bet we placed in early 2024 that made it all possible.
Tobi 分享了 River 如何成为我们公司的教学工坊,但 agent 表层只是故事的一部分。这就是我们在 River 底层构建的东西,也是我们在 2024 年初做出的让这一切成为可能的押注。
Part I · The signal
第一部分 · 信号
Spring 2024
2024 年春季
Here’s where Shopify was: many repos, bespoke development environments, slow feedback. Friction we’d learned to live with, especially when the alternative was "rewrite everything."
这就是 Shopify 当时的处境:众多的 repos,定制化的开发环境,缓慢的反馈。这种摩擦我们已经学会去适应,尤其是当唯一的替代方案是“重写一切”的时候。
Around that time, we made two seemingly unrelated decisions:
在那段时间,我们做出了两个看似无关的决定:
- Become a monorepo company. One repository for all things Shopify ships. We call it World.
- 成为一家 monorepo 公司。一个仓库包含 Shopify 发布的所有内容。我们称之为 World。
- Build everything with Nix. Dev environments, CI, production images: one reproducible substrate.
- 使用 Nix 构建一切。Dev 环境、CI、production 镜像:一个可重现的基底。
These were not crowd-pleasers. They were infrastructure-hygiene moves some thought were a waste of effort. But a bet drove them:
这些并非讨好大众之举。它们是一些人认为是浪费精力的基础设施治理举措。但一个赌注推动了它们:
“Code is going to be increasingly written with AI, and our infrastructure needs to be the substrate for that.” — a sentence we said in early 2024
“代码将越来越多地由 AI 编写,而我们的基础设施需要成为其底层支撑。” ——这是我们在 2024 年初说过的一句话
What happened next, in...