Skip to content

建構 VMark 要花多少錢?

重點摘要

VMark 擁有約 109,000 行生產程式碼和 206,000 行測試程式碼,涵蓋 TypeScript、Rust、CSS 和 Vue。一個人工團隊從零建構需要 4,239 個開發人日(約 17 人年)。以美國市場費率計算,這意味著 340 萬至 420 萬美元。而實際上,它由一個人借助 AI 輔助,在 85 個日曆天內完成,成本約為 2,000 美元——生產力提升約 50 倍,成本降低約 99.9%。

為什麼有這個頁面

一個問題反覆出現:「VMark 到底花了多大力氣?」

這不是行銷頁面。這是一份透明的、資料驅動的分析,使用真實的程式碼指標——不是憑感覺。這裡的每個數字都來自 tokei(程式碼行統計)、git log(歷史紀錄)和 vitest(測試計數)。你可以自行複製儲存庫來重現這些數字。

原始指標

指標數值
生產程式碼(前端 TS/TSX)85,306 LOC
生產程式碼(Rust 後端)10,328 LOC
生產程式碼(MCP 伺服器)4,627 LOC
生產 CSS8,779 LOC
i18n 語系資料10,130 LOC
網站(Vue + TS + 文件)4,421 LOC + 75,930 行文件
測試程式碼206,077 LOC(656 個檔案)
測試數量17,255 個測試
文件75,930 行(320 頁,10 種語言)
提交次數84 個活躍日內 1,993 次
日曆時間85 天(2025 年 12 月 27 日至 2026 年 3 月 21 日)
貢獻者2 人(1 人 + AI)
異動比率3.7 倍(123 萬次插入 / 33 萬最終行數)
測試與生產比2.06:1

這些數字代表什麼

  • 測試與生產比 2.06:1 非常傑出。大多數開源專案約在 0.3:1 左右。VMark 的測試程式碼是生產程式碼的兩倍。
  • 異動比率 3.7 倍表示最終程式碼庫中的每一行,總共寫了 3.7 行(包含改寫、重構和刪除的程式碼)。這顯示經歷了大量迭代——不是「寫一次就上線」。
  • 84 個活躍日內 1,993 次提交,平均每天約 24 次提交。AI 輔助開發會產生大量小型、聚焦的提交。

複雜度分層

並非所有程式碼都是一樣的。一行設定解析程式碼和一行 ProseMirror 外掛程式碼的工作量完全不同。我們將程式碼庫分為四個複雜度層級:

層級包含內容LOC速率(LOC/天)
常規(1.0 倍)i18n JSON、CSS Token、頁面佈局、設定 UI23,000150
標準(1.5 倍)Store、Hook、元件、MCP 橋接、匯出、Rust 命令、網站52,000100
複雜(2.5 倍)ProseMirror/Tiptap 外掛(多游標、專注模式、程式碼預覽、表格 UI、IME 防護)、CodeMirror 整合、Rust AI 服務商、MCP 伺服器30,00050
研究(4.0 倍)CJK 排版引擎、組合輸入防護系統、具備 IME 感知的自動配對4,00025

「LOC/天」速率假設一位資深開發者撰寫經過測試和審查的程式碼——不是未審查的原始產出。

為什麼編輯器外掛這麼貴

VMark 中單項成本最高的部分是 ProseMirror/Tiptap 外掛層——34,859 行程式碼,管理文字選取、文件事務、節點視圖和 IME 組合輸入。這被普遍認為是 Web 開發中最困難的領域:

  • 你操作的是文件模型,而不是元件樹
  • 每次編輯都是一個必須維護文件完整性的事務
  • IME 組合輸入(用於 CJK 輸入)增加了一整套平行狀態機
  • 多游標需要同時追蹤 N 個獨立選取範圍
  • 復原/重做必須在上述所有情況下正確運作

這就是為什麼外掛層被歸類為「複雜」(2.5 倍乘數),而 CJK/IME 程式碼被歸類為「研究」(4.0 倍)。

工作量估算

組件LOC開發人日
第 1 層生產程式碼(常規)23,000153
第 2 層生產程式碼(標準)52,000520
第 3 層生產程式碼(複雜)30,000600
第 4 層生產程式碼(研究)4,000160
測試程式碼206,0771,374
文件(10 種語言)75,930380
小計3,187
間接開銷(設計 5% + CI 3% + 審查 10%)574
異動稅(3.7 倍 → +15%)478
總計4,239 開發人日

這大約是 17 人年的全職資深工程工作量。

關於測試工作量的說明

測試套件(206K LOC,17,255 個測試)佔 1,374 開發人日——超過總工作量的三分之一。這是專案測試優先紀律的代價。少了它,專案建構成本會便宜約 40%,但維護難度會顯著增加。

成本估算

使用美國市場費率(全部成本——薪資 + 福利 + 間接費用):

情境團隊時長成本
單人資深開發($800/天)1 人17.7 年$3.39M
小型團隊(平均 $900/天)3 人2.3 年$3.82M
完整團隊(平均 $1,000/天)5 人10.6 個月$4.24M

團隊規模不是線性成長的。一個 5 人團隊的生產力大約是 1 個人的 4 倍(不是 5 倍),因為溝通開銷——這就是布魯克斯法則的體現。

AI 的真實情況

指標數值
實際日曆時間85 天(12 週)
人工等價4,239 開發人日(約 17 人年)
生產力倍數約 50 倍
估計實際成本約 $2,000(Claude Max 訂閱)
人工等價成本(單人)$3.39M
成本降低約 99.9%

50 倍乘數代表什麼

代表「AI 比人類聰明 50 倍」。它代表:

  1. AI 不需要上下文切換。 它能將整個程式碼庫保持在記憶中,同時對 10 個檔案進行修改。
  2. AI 以生產速度撰寫測試。 對人類來說,撰寫 17,255 個測試是令人崩潰的苦差事。對 AI 來說,只是更多的程式碼。
  3. AI 瞬間處理樣板程式碼。 10 種語言的翻譯層(10,130 LOC 的 JSON + 320 頁文件)會讓人工團隊花費數週。AI 只需幾分鐘。
  4. AI 不會感到無聊。 那 656 個涵蓋邊界情況、IME 組合輸入和 CJK 排版的測試檔案,恰恰是人類會跳過的工作。

人類的角色是判斷——建構什麼何時停止、選擇哪種方案。AI 的角色是勞動——撰寫、測試、除錯、翻譯。

市場對比

面向VMarkTyporaZettlrMark Text
核心功能Markdown 所見即所得 + 原始碼模式Markdown 所見即所得學術 MarkdownMarkdown 所見即所得
LOC(估計)約 109K 生產程式碼約 200K(閉源)約 80K約 120K
貢獻者2 人(1 人 + AI)1-2 人(閉源)約 50 人約 100 人
年齡3 個月8 年以上6 年以上6 年以上
價格免費(測試版)$15 授權免費 / 開源免費 / 開源
核心差異Tauri 原生、MCP AI、CJK 原生、多游標精緻度高、PDF 匯出Zettelkasten、引用管理Electron、成熟穩定

這個對比說明了什麼

VMark 在 85 天內達到了其他專案用 6 至 8 年、50 至 100 位貢獻者才達到的同等程式碼規模和功能集。測試紀律(17K 測試,2:1 比率)超過了本次對比中的所有開源 Markdown 編輯器。

這並不是因為 VMark 「更好」——它更年輕,經受的實戰檢驗更少。但它證明了 AI 輔助開發的可能性:一個人可以產出以前需要一個獲得資助的團隊才能完成的成果。

是什麼讓 VMark 建構成本高昂

三個因素驅動了成本:

  1. 編輯器外掛複雜度——34,859 行 ProseMirror 外掛程式碼,涉及選取、事務、節點視圖和 IME 組合輸入。這是第 3/4 層程式碼,一位資深編輯器框架專家的撰寫速度約為每天 50 LOC。

  2. 極端的測試紀律——2.06:1 的測試與生產比代表僅測試程式碼(206K LOC)就比生產程式碼需要更多的工作量。這是一項刻意為之的投資——它讓 AI 輔助開發得以永續。

  3. 10 種語言的完整國際化——320 頁文件、80 個語系 JSON 檔案和一個完整的在地化網站。這是通常只在獲得資助的商業產品中才能看到的營運規模,而非個人專案。

重現這些數字

所有指標都可以從公開儲存庫重現:

bash
# 複製並安裝
git clone https://github.com/xiaolai/vmark.git
cd vmark && pnpm install

# LOC 指標(需要 tokei:brew install tokei)
tokei --exclude node_modules --exclude dist .

# Git 歷史
git log --oneline | wc -l
git log --format='%ai' | awk '{print $1}' | sort -u | wc -l

# 測試數量
pnpm vitest run src/ 2>&1 | tail -5

方法論

本分析中使用的生產力基線(LOC/天速率)是針對資深開發者撰寫經過測試和審查的程式碼的業界標準估算。這些資料來自軟體估算文獻(McConnell、Capers Jones),並針對生產級品質的產出進行了校準——而非原型或概念驗證程式碼。