AI News HubLIVE
站内改写3 分钟阅读

“代码应被重新生成,而非维护”:Codeplain 为规范驱动开发辩护

Codeplain 公司主张代码应通过规范驱动进行重新生成,而非维护。其开源规范语言 Plain 将结构化文档作为唯一真相来源,并推出 agentic 框架 plain-forge 让 AI 代理协助编写规范。公司已获得 300 万美元融资,并认为规范而非代码才是应维护的资产。

来源The New Stack AI作者: Paul Sawers

随着人工智能生成代码的速度远超团队审查能力,一小部分开发者认为答案不在于加快代码审查,而在于彻底替代代码审查。Codeplain 的首席执行官兼联合创始人 Dušan Omerčević 正是这一理念的坚定支持者。该公司总部位于斯洛文尼亚卢布尔雅那,成立于 2025 年初,并于同年 9 月低调发布,承诺实现“规范驱动、生产就绪的代码生成”。

Codeplain 的基础是 Plain,一种开源规范语言,它使用结构化、人类可读的文档作为软件构建和行为的唯一真相来源。其核心理念是:如果某处出错或需要更改,应编辑规范而非代码,然后由 Codeplain 从头重新生成实现。

Omerčević 在采访中进一步阐述:随着 AI 生成代码量日益庞大,瓶颈已从编写代码转移到审查和维护代码。审查规范——它编码的是意图而非实现细节——所需的认知负荷远低于审查代码。他明确表示:“我们的论点是代码不应被维护——代码应被重新生成。规范才应被审查,规范才是你要维护的。”

为实现这一目标,该公司正在推出名为 plain-forge 的新开源 agentic 技能框架,它允许 Claude Code、Codex 和 OpenCode 等编码代理通过对话来起草和维护 Plain 规范——实质上自动化了规范驱动开发中原本最需人力投入的部分。与此同时,Codeplain 还宣布已获得来自 GapMinder VC 和 Silicon Gardens 等投资者的 300 万美元融资。

规范驱动开发并非 Codeplain 独有。2025 年 7 月,亚马逊推出了 Kiro,一个使用从自然语言提示生成的结构化规范来指导开发的 agentic IDE。GitHub 随后推出了 Spec Kit,一个开源工具包,旨在使规范成为 AI 代理可直接行动的可执行工件。而更早的 SpecLang 项目(GitHub Next 的研究项目)自 2023 年起就在探索是否可以用纯英语作为真正的编程媒介。SpecLang 的创建者之一、GitHub Copilot 团队的创始成员 Johan Rosenkilde 现在担任 Codeplain 的董事会成员,并是其最早投资者之一。

然而,开发者并不热衷于编写规范。通过用户测试,Omerčević 团队发现开发者虽然抵制编写规范,但通常乐于阅读它们。结构良好的规范比它最终产生的代码更容易审查和推理。Plain-forge 正是为了应对这一矛盾而设计的:它不要求开发者从头编写规范,而是让编码代理研究问题、逐步起草规范,并在人类看到之前通过 Codeplain 的渲染器进行验证。关键是,它不会一次性生成数百行的规范,而是迭代进行。每个小规范生成可工作的软件,开发者可以立即检查和响应,逐步构建对规范的熟悉感。

这一切背后是一个基本信念:代码应被视为可丢弃的输出而非持久资产,规范——而非生成的代码——才是团队应保存和维护的。Omerčević 表示,他是在构建 Codeplain 的过程中得出这个结论的,但发现很难向以代码为职业身份的开发者解释清楚。

此时,Chad Fowler 的“凤凰架构”登场。Fowler 是 BlueYard Capital 的普通合伙人,他在 2024 年 12 月发表了系列文章的第一篇《再生软件》,认为 AI 使代码变得丰富而廉价,颠覆了关于软件系统中什么值得保存的几十年假设。坚持现有实现的团队正在以超出想象的速度积累技术债务。Fowler 在 2025 年 3 月的文章《对话即提交》中指出,当开发者手动编辑 AI 生成的代码时,他们切断了重要的东西:代码为何存在以及哪些决策塑造了它的记录。输出变了,但推理过程丢失了。随时间推移,这种丢失上下文的积累被称为“溯源债务”(provenance debt)。Fowler 强调,如果行业不开始捕捉这些丰富的信息,面对软件构建的创新浪潮就是不负责任的。

换句话说,规范及其背后的推理现在是值得保存的东西,而不是代码本身。这需要巨大的文化转变。Fowler 认为有两种方式说服工程师:要么等待他们看到旧方法过时而被迫进化,要么向他们展示删除和重新生成定义了一种新的严格性,而这只有新工具才能实现。

Codeplain 在 Fowler 看来是构建这种严格性的一个可信尝试,但他也指出这只是更大拼图的一部分。他希望更多公司和开源开发者参与构建,因为这个缺失的层次可以以非常不同的方式呈现,需要一套新的习语和工具。

Omerčević 此前曾创立 SaaS 管理平台 Cleanshelf,并于 2021 年出售给 LeanIX(后者随后被 SAP 收购)。Codeplain 是他的下一个行动,并且已有客户投入使用。身份验证服务提供商 Incode 使用 Codeplain 构建和维护与外部数据提供商的集成——这类工作涉及不断变化的 API 和外部系统,且容忍出错。当外部 API 变更导致集成中断时,Codeplain 通常可以仅从完全相同的规范重新生成代码来修复,因为规范并未受损,只有代码受损。

此外,这种方法在经济上也具有优势。Omerčević 表示,生成规范的编码代理使用的令牌数比直接生成代码少 5 到 10 倍;由于规范对代理的认知要求更低,它可以在相同的上下文窗口中处理更大、更复杂的问题。在代码生成步骤中,Codeplain 使用更快、更便宜的模型(如 Gemini Flash)而非前沿模型以降低成本。他比喻道,就像 TypeScript 编译器:Claude 可以直接从 TypeScript 生成 JavaScript,但为何不用专门的工具?