Warp founder Zach Lloyd in the AI Engineer World’s Fair expo hall.

我关注 Warp 已经有几年了,看着它从一个命令行界面工具迅速演变为一个软件工厂平台,这个过程非常引人入胜。这家公司成立于 ChatGPT 出现之前的 2021 年年中,最初是一个基于 Rust 的终端。后来当 AI 浪潮到来时,它转型为一个集成了编程 Agent 的终端。

但近年来,CLI 工具之间的竞争急剧加剧,其中包括 Claude Code、Codex CLI 和 Gemini CLI——这三款产品背后都有大型科技公司支持。这很可能促使 Warp 决定在今年四月开源其核心 CLI 工具。

我自己就是 Warp 的用户,发现它比我 Mac 原生的 CLI 强大得多。但我也很钦佩这家公司与时俱进的能力——几年前我第一次采访 CEO Zach Lloyd 时就注意到了这一特质。因此,我很高兴本周在 AI Engineer World's Fair 上与他再次交流,他在那里发表了一场关于软件工厂的主题演讲——这是用于编排一个 Agent 团队(咳咳,一个工厂)的新术语。

Warp 推出了一个名为 Oz 的新 Agent 编排平台。这是公司对 Lloyd 所认为的行业转型的回应:从工程师与 Agent 交互式协作,转向能够持续进行问题分诊、实现、审查、验证和监控软件变更的自动化系统。Oz 旨在连接多种模型和编程 harness,覆盖本地环境和隔离的云端沙箱,同时融入开发者已经在使用的工具中。

我在他登台演讲结束后不久采访了他,演讲视频可以在 YouTube 上观看——它是了解软件工厂的绝佳入门材料。在我们的一对一讨论中,我们谈到了 Warp 转向软件工厂的原因、Lloyd 是如何想出这个术语的(似乎与类似公司——比如 Factory——是各自独立想出的),以及为什么他预计在未来一年内,大多数重要的软件项目都会以某种形式的自动化工厂运作。

从单个 Agent 到自动化开发循环

Latent Space:你第一次接触到“软件工厂”这个术语是什么时候?这个概念吸引你的地方是什么?

Zach Lloyd:我不记得具体是什么时候开始用这个术语来构思的,但应该是在过去六个月内,当时软件开发自动化的能力已经变得更加完善。

我们最初做的是更多一次性的自动化:在云端运行一个 Agent。很多平台都是从这里起步的。然后演变为:在云端按定时任务运行一个 Agent。

接下来的问题是:最值得自动化的循环是什么?答案基本上就是软件工程的主循环:问题分诊、规格说明、实现、审查、验证、发布和监控。

大约一年前,在我们开始构建 Oz 之前,我们就开始朝着这个云端自动化愿景迈进。在过去几个月里,行业也开始围绕“工厂”这个术语凝聚共识。本次大会就有一个完整的软件工厂专题track。

这正是我们产品所围绕的核心。在 Oz 的下一个版本中,你将搭建自己的工厂,查看它的样子并管理工厂车间。

但我并不太在意这个术语能否流行。本质的转变是从交互式开发到自动化开发。“工厂”是一个有用的比喻。

围绕现有工作流构建工厂

Latent Space:在您的演讲中,您展示了一个包含多款自家产品的软件工厂技术栈。Warp 的计划是提供构成该技术栈的工具吗?

Lloyd:是的。当你进入 Oz——我们的云端 Agent 平台——时,会被引导完成工厂的搭建。

你选择你的代码仓库、想要自动化的软件生命周期环节,以及需要人类介入的节点。不同的组织和代码库会有不同的偏好。你要完全自动化代码审查吗?还是让人类审查某些高风险的变更?

然后系统开始创建这个循环。它可能会从 Jira 或 Linear 拉取任务,让人们通过 Slack 或 Teams 提交任务,并允许开发者从 GitHub 重定向一个 AI Agent。

从产品角度来看,有趣的是,工厂的大部分并不一定是一个新界面。它是对人们现有工作流的集成。至少我们是这么构思的。

为什么 Warp 要超越终端

Latent Space:当我最初撰写关于 Warp 的文章时,它正在打造一个现代终端。现在代码依然重要,但越来越多地由 Agent 来生成。看起来 Warp 已经相应地拓宽了其产品愿景……

Lloyd:完全正确。可以这样理解:自公司创立以来,我们的使命从未改变。一直都是赋能开发者和公司更快地交付更好的软件。

产品已经发生了巨大的演变。它始于当前 AI 浪潮之前,最初是现代版终端。下一个迭代是内置 Agent 的终端,我们仍在持续投入,并且现在已经开源。

但世界在不断变化。底层 AI 进步得如此之快,以至于我对未来的看法就是我在演讲中所描述的:交互式部分将变得不那么重要。

作为一家公司,你会希望有一个中心场所来构建软件,并衡量这一过程的效率。我不怕改变产品的发展方向。随着底层技术的进步,不适应的公司将会被淘汰。

工厂工程作为一门新学科

Latent Space:“工厂”这个词可能会让一些开发者感到反感,因为它带有机械化和机械性劳动的意味。关于这次转型,您从 AI 工程师那里收到了什么反馈?

Lloyd:这个概念在经济买家——即管理工程团队的人——中引起了强烈共鸣。

对个人工程师来说,这可能听起来机械而缺乏创造性。他们可能会想:“我喜欢写代码,为什么我要去工厂工作?”

我在演讲中试图传达的一点是,这将成为一门新的工程学科。我认为,如果你把这份工作视为元工程(meta-engineering)——构建那个构建产品的系统——它会变得极其有趣。

它运用许多相同的解决问题的技能。你在追问为什么一个 AI Agent 能把某个任务做好,却把另一个做砸。你该如何调整它的反馈?它需要什么上下文?工作流程应该如何改变?

但无论好坏,这些系统的能力及其加速软件开发的威力是如此之大,以至于凡事都靠手写的方式不会再有太多意义了。

前沿部署工程师的契合之处

Latent Space:大会上的另一个趋势是前沿部署工程,它往往融合了产品管理、咨询和传统工程的多个方面。这如何融入软件工厂模式?

Lloyd:搭建一个软件工厂,可能需要与大量现有系统集成,具体取决于公司的情况。

当工厂从这些系统中获取上下文,并贯穿整个组织的工作流程时,它的运作效率最高。这一领域的前沿部署工程工作,实际上就是一场转型项目。

它需要真正的工程能力,需要有人懂得如何配置和部署这类系统。我们做了一部分这样的工作,我们的一些竞争对手也在做。

我不知道最终状态会是什么样子。Warp 更多是把它当作平台业务而非服务业务来推进。但可以肯定的是,如今确实存在这样一门生意:把聪明人派进一家公司,用这些产品改造其工作流程。

Warp 作为 Oz 的试验场

Latent Space:我用 Warp 作为我的终端,包括用它完成一些编码任务。在软件工厂时代,原来的 Warp CLI 产品会怎样?

Lloyd:当我们把 Warp 开源时,我们把代码仓库交由 Oz 控制。我们围绕这个开源项目搭建了一个软件工厂,使用的是我们自己的工厂平台。

我们仍在尽力改进 Warp。我们与社区一起做,其中大量工作由 AI Agent 完成。从这个意义上说,Warp 是工厂理念的试验场。

但它同时也是一个被近百万开发者使用的产品,其中许多人把它当作主要的开发环境。我们自己也在频繁使用它,而且我们仍有内部工程师的职责就是改进它。我们只是用工厂思维来开展这项工作。

渐进式自动化,而非一夜取代

Latent Space:在软件工厂的采用方面,你预计明年会是什么样子?

Lloyd:这不会一蹴而就。工程师们不会在某个早晨醒来,发现软件工厂已经取代了他们的工作。

企业会从具体的用例入手,比如某些类型的问题或风险较低的代码仓库。在这些场景下,他们可能愿意接受不必让人类逐行审查每一行代码。

他们会观察其表现如何。接下来,工程上的挑战就变成了:与其只自动合并 20% 的拉取请求,我们能否达到 30%、40%、50% 甚至 60%?

仍会有一部分工作由人来完成,因为那些工作太难、太模糊,或者依赖于从零开始的创新思维。

但我认为这种转变将在未来一年内发生。我的预测是,每一个重要的软件项目都会拥有某种代码引擎——某种类似工厂的东西——持续推动它向前发展。

它将变得像 GitHub 或 CI/CD 一样:成为严肃软件项目运作方式的标准组成部分。如果这没有发生,我会感到意外。

从自动化烦人的部分开始

Latent Space:这次大会有数千名 AI 工程师。他们应该做些什么来为这一转变做好准备?

Lloyd:与其只直接构建产品,不如尝试朝着工厂的方向构建一些自动化,看看感觉如何。

假设你想让一个 AI Agent 自动实现收到的用户问题。要让这件事跑起来,需要做些什么?是什么阻碍了你采用它?

也许代码审查是瓶颈。也许 AI Agent 在做修改,但你无法清楚地看到它做了什么。只有通过尝试构建这个闭环,你才会发现这些问题。

摆脱凡事都亲手构建的思维模式。找到你工作中一个烦人的部分,尝试用工厂方法创建一个替你处理它的闭环。