软件工厂:新兴架构及前沿实验室为何应关注
软件工厂并非神奇的全自动AI工程师,而是以强大AI工作者为核心的分布式系统,包含工作流、沙盒执行、审查验证与人工检查点。六个架构模式定义了这一新兴类别,其核心张

软件工厂突然遍地开花。Factory.ai(下文统称 Factory)已将此理念确立为其产品战略的核心,Warp 本月推出了 Warp Factories,而 Vercel 则发布了基于 Eve 构建的软件工厂 Foreman。如今市面上的产品已足够多,足以让我们越过品牌包装,提出更有价值的问题:这些产品实际上有何共同之处?哪些功能在今天已是现实?
答案远没有软件工厂这个名字听起来那么神奇,但仍然相当有趣。如今的工厂并不像巨型 AI 工程师那样,拿着一个产品创意,消失几个小时,然后带着成品生产级软件归来。
它们更像是以强大 AI 工作者为核心的分布式系统,包含工作流、沙盒化执行环境、权限管理、持久化状态、审查与验证阶段、人工检查点、可观测性以及评估机制。模型提供了大部分智能,但工厂决定了这些智能如何作为一个更大系统的一部分协同运作。
纵观当前已发布或正在预览的产品,有六种架构模式尤为突出。
1. 工厂掌控外部循环
区分编码代理与软件工厂最简便的方法是,询问谁掌控着更大的工作流程。Warp将工厂描述为围绕软件开发生命周期的自动化循环:分类、规格说明、实现、审查、验证、发布和监控。代理处理该循环中的各个部分,而工厂则决定哪个工人运行、它获得何种上下文、被允许做什么,以及人类何时需要介入。
Factory采用类似模型。其软件工厂涵盖接收与分类、规划、执行、验证、发布、监控及周期性自动化。该产品不仅是一个代理接口,更旨在成为跨仓库、集成、生命周期阶段和指标管理这些自动化的持久系统。
Vercel的Foreman使这一模式尤为明显。一个工作项依次通过分类器、分析师、实施者和独立审查者。每个站点都有明确职责,而编排器决定工作如何在它们之间流转。编写代码仅是其中一个阶段,生成差异并不代表任务完成。
这并不意味着工厂工人必须表现得像传统工作流引擎中的僵化节点。代理在完成任务的方式上仍可拥有相当大的自由度。分工更接近于此:工厂掌控“做什么”和“何时做”,而工人则在“如何做”上拥有更多自由。
2. 工人正变得更加短暂(且孤立)
如果外层循环是大老板,那么工人现在只是雇员。这些雇员可以随意被雇佣和解雇。
从历史上看(即过去几年),大多数交互式编码代理都是围绕会话组织的。开发者启动一个代理,随时间积累上下文,与其合作一段时间,最终结束会话。工厂系统则没有太多理由让一个长时间运行的会话成为系统的中心。
相反,一项工作可以在多个工人之间流转,每个工人在各自的环境中运行。Warp支持为不同阶段配置独立的代理,配备不同的模型、工具链、工具、上下文和权限。这些代理可以在受管理的云环境中运行,而不是继承开发者笔记本电脑上碰巧存在的任何配置。
Foreman的工作方式也大同小异。实现者获得自己沙盒化的代码检出,而独立的审查者则根据验收标准评估生成的代码分支。审查者不需要实现者的完整对话历史,这种分离是有意为之。
这并不意味着每个工人都必须是无状态或短命的。有些工作耗时且上下文密集。关键在于,一个工人不再需要为整个工作的生命周期而存在。它可以接受有界的责任,在隔离的环境中完成工作,记录结果,然后将控制权交还给更大的系统。工人正成为系统内部的执行单元,而非系统本身。
3. 工作状态移出代理之外
一旦工人变得可替换,就必须有其他东西来记住正在发生的事情。这种连续性日益存在于个体代理之外:体现在工作项、代码仓库、分支、工作流状态、配置、验收标准、共享知识、评估结果以及其他持久化系统中。
Foreman 明确划分了这一点。GitHub 和 Linear 提供持久的工作项,实现发生在分支上,而一个共享的工厂大脑存储仓库知识,供后续工人复用。无论当前哪个代理在执行特定步骤,这些知识和状态都能得以保留。
Warp 将这一理念提升了一个层次。工厂本身可以被表示为一个版本控制下的定义,其中包含仓库、代理角色、技能、MCP 服务器、权限及其他配置。指标、评估和记忆可以跨运行持续存在,而不会随着单次执行的结束而消失。
目前尚无标准方式来统一表示所有这些内容。部分状态存在于 Git 中,部分在问题跟踪器中,有些是 Markdown 文档,还有些存储在数据库或供应商特定的记忆系统中。格式本身并不重要,关键在于整体趋势——代理会话不再需要作为维系工作的核心。工作可以比执行它的工人更长久。
4. 供应商在集成与开放技术栈上意见分歧
该市场至少涌现出三个层次:模型、代理或框架,以及工厂本身。供应商对于这些层次之间应如何紧密耦合,持有不同看法。
Factory采取了相对集成的方式。Droids提供代理层,而Software Factory则在更广泛的生命周期内协调工作。系统能够跨多个底层模型进行路由,但框架和工厂体验均来自同一供应商。
Warp则更直接地倡导开放技术栈。工厂可以根据不同任务使用不同的模型和框架,包括调用如Codex和Claude等编码代理的能力。在这种设置下,编码代理执行工作,而工厂则提供运行时、编排、审批、上下文、评估和度量。讽刺的是,Warp将强大的Codex和Claude代理视为普通商品(见下文“前沿实验室面临工厂问题”)。
开放技术栈使得工人更具可替代性。公司可以根据自身工作负载评估不同的模型与框架组合,然后在不重建整个流程的情况下,更换特定阶段运行的内容。
这正成为该类别中的核心战略问题之一:工厂需要拥有技术栈的多少部分?一种答案是紧密集成的系统,其中工人和工厂共同进步。另一种则是从一开始就设计为可互换底层工人的编排层。
5. 验证是核心工厂职能
早期的编码代理大多依据一个简单问题来评判:代理能否生成正确的代码?而工厂必须回答一个更棘手的问题:系统如何知晓工作确实已完成?
Foreman将实现与独立审查分开。审查者依据明确的验收标准检查推送的分支,并可将工作退回进行又一轮修订。最终呈现在人类面前的,是经过审查的草拟拉取请求,而非实现代理最初产出的内容。
Warp同样将审查与验证视为工厂循环中的独立阶段,并跨运行衡量结果。评估与观察代理可对结果打分,并比较不同配置。成功的意义单位并非代理是否生成了差异,而是工作是否达到了既定结果。
工厂将验证延伸至代码审查之外。其代理可利用浏览器和桌面应用测试行为、执行QA流程、捕获截图,并生成视频证据。验证是生命周期中一个明确的阶段,而非成功生成代码后理所当然的假设。
这是对软件工厂炒作最有力的现实检验之一。随着人类直接监督减少,模型周围的系统必须承担更多责任,以判断目标是否真正达成。生成实现与确认实现正确,是截然不同的问题。
6. 完全自主仍主要是一个目标
软件工厂这一说法自然让人联想到一台干净的输入输出机器:需求从一端进入,成品软件从另一端产出。然而,现有系统远非如此简单。
工厂描述了一个雄心勃勃的自主系统,覆盖了软件生命周期的许多环节,但其软件工厂仍处于私有预览阶段。Warp 工厂本月已启动封闭测试,Warp 表示目前只有其部分拉取请求通过工厂流程。Vercel 的 Foreman 则刻意止步于已审阅的草稿拉取请求,将重要决策留给人工处理。
显然,如今的软件工厂并未消除人类判断,而是将人类判断转移到流程中的特定节点,并自动化了其周围更多的操作。
这与其说是“无人化工厂”,不如说是一个受治理的生产系统。工厂的比喻依然适用,但实际运作仍是人工智能与人类协作的混合体。
前沿实验室面临工厂难题
综合来看,这些趋势为 OpenAI 和 Anthropic 带来了一个有趣的战略问题。OpenAI 已显示出超越单个编码代理会话的思考迹象。他们有强烈的动机,不让自己的代理沦为第三方工厂编排器下的通用工人。
Symphony 源于 OpenAI 工程师在同时手动监督多个 Codex 会话时遇到的瓶颈。它将管理转向工作项,并利用 Codex 应用服务器作为底层的可编程工人。
但 OpenAI 也明确表示,Symphony 是一个极简参考实现,而非其计划长期维护的软件工厂产品。与此同时,Anthropic 通过 Claude Code 在工人层面积极发力,并使其代理框架可嵌入其他系统。这虽是一个强势地位,但也暴露了战略上的紧张关系。
强大的工厂层可以让工人变得足够可替代,以至于其他人掌握了客户关系的重要部分,并决定哪个工人承担哪项工作。存在一种风险,即Codex和Claude可能成为他人编排层下可互换的工人。
这使得很难想象前沿实验室会无限期地忽视这一层。他们或许乐于为其他公司的工厂提供最优秀的工人,但商品化是一个危险的最终归宿。