“程式碼應被重新生成,而非維護”:Codeplain 為規範驅動開發辯護
Codeplain 公司主張程式碼應透過規範驅動進行重新生成,而非維護。其開源規範語言 Plain 將結構化文件作為唯一真相來源,並推出 agentic 框架 plain-forge 讓 AI 代理協助編寫規範。公司已獲得 300 萬美元融資,並認為規範而非程式碼才是應維護的資產。
隨著人工智慧生成程式碼的速度遠超團隊審查能力,一小部分開發者認為答案不在於加快程式碼審查,而在於徹底替代程式碼審查。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,但為何不用專門的工具?