VMark の構築にいくらかかるのか?
要約
VMark は TypeScript、Rust、CSS、Vue にまたがる約 109,000 行のプロダクションコードと 206,000 行のテストコードを持っています。人間のチームがゼロから構築するには 4,239 開発者日(約 17 人年)が必要です。米国市場レートでは 340 万〜420 万ドルになります。実際には 85 暦日で 1 人の人間が AI の支援を受けて構築し、コストは約 2,000 ドルでした——約 50 倍の生産性向上と約 99.9% のコスト削減です。
このページが存在する理由
繰り返し出てくる質問があります:「VMark には実際どれくらいの労力がかかったのか?」
これはマーケティングページではありません。実際のコードメトリクスに基づいた透明でデータ駆動型の分析です——感覚ではなく。ここに記載されたすべての数値は tokei(行数カウント)、git log(履歴)、vitest(テスト数)から得られています。リポジトリをクローンすれば、これらの数値を自分で再現できます。
生のメトリクス
| メトリクス | 値 |
|---|---|
| プロダクションコード(フロントエンド TS/TSX) | 85,306 LOC |
| プロダクションコード(Rust バックエンド) | 10,328 LOC |
| プロダクションコード(MCP サーバー) | 4,627 LOC |
| プロダクション CSS | 8,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 はプロダクションコードの 2 倍のテストコードを持っています。
- チャーン率 3.7 倍は、最終コードベースの 1 行に対して合計 3.7 行が書かれた(書き直し、リファクタリング、削除されたコードを含む)ことを意味します。これは大量のイテレーションを示しており——「一度書いて出荷」ではありません。
- 84 アクティブ日で 1,993 コミットは 1 日あたり約 24 コミットです。AI 支援開発は多くの小さく焦点を絞ったコミットを生み出します。
複雑さの内訳
すべてのコードが同じではありません。設定パーサーの 1 行は ProseMirror プラグインコードの 1 行とは異なります。コードベースを 4 つの複雑さティアに分類します:
| ティア | 含まれるもの | LOC | レート(LOC/日) |
|---|---|---|---|
| ルーティン(1.0 倍) | i18n JSON、CSS トークン、ページレイアウト、設定 UI | 23,000 | 150 |
| スタンダード(1.5 倍) | ストア、フック、コンポーネント、MCP ブリッジ、エクスポート、Rust コマンド、ウェブサイト | 52,000 | 100 |
| コンプレックス(2.5 倍) | ProseMirror/Tiptap プラグイン(マルチカーソル、フォーカスモード、コードプレビュー、テーブル UI、IME ガード)、CodeMirror 統合、Rust AI プロバイダー、MCP サーバー | 30,000 | 50 |
| リサーチ(4.0 倍) | CJK フォーマットエンジン、コンポジションガードシステム、IME 対応オートペア | 4,000 | 25 |
「LOC/日」レートは、テスト済みでレビュー済みのコードを書くシニア開発者を想定しています——未レビューの生の出力ではありません。
エディタプラグインが高価な理由
VMark で最もコストのかかる部分は ProseMirror/Tiptap プラグインレイヤー——テキスト選択、ドキュメントトランザクション、ノードビュー、IME コンポジションを管理する 34,859 行のコードです。これはウェブ開発の中で最も難しいカテゴリとして広く認識されています:
- コンポーネントツリーではなく、ドキュメントモデルを扱います
- すべての編集はドキュメントの整合性を保つトランザクションです
- IME コンポジション(CJK 入力用)は完全に並行するステートマシンを追加します
- マルチカーソルは N 個の独立した選択を同時に追跡する必要があります
- アンドゥ/リドゥは上記すべてにわたって正しく動作しなければなりません
このため、プラグインレイヤーは「コンプレックス」(2.5 倍の乗数)に、CJK/IME コードは「リサーチ」(4.0 倍)に分類されています。
工数見積もり
| コンポーネント | LOC | 開発者日 |
|---|---|---|
| ティア 1 プロダクション(ルーティン) | 23,000 | 153 |
| ティア 2 プロダクション(スタンダード) | 52,000 | 520 |
| ティア 3 プロダクション(コンプレックス) | 30,000 | 600 |
| ティア 4 プロダクション(リサーチ) | 4,000 | 160 |
| テストコード | 206,077 | 1,374 |
| ドキュメント(10 ロケール) | 75,930 | 380 |
| 小計 | 3,187 | |
| オーバーヘッド(デザイン 5% + CI 3% + レビュー 10%) | 574 | |
| チャーン税(3.7 倍 → +15%) | 478 | |
| 合計 | 4,239 開発者日 |
これは約 17 人年のフルタイムシニアエンジニアリング作業に相当します。
テスト工数に関する注記
テストスイート(206K LOC、17,255 テスト)は 1,374 開発者日を占めます——総工数の 3 分の 1 以上です。これはプロジェクトのテストファースト規律のコストです。これがなければプロジェクトは約 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 倍賢い」という意味ではありません。意味するのは:
- AI はコンテキストスイッチしない。 コードベース全体をメモリに保持し、10 ファイルにまたがる変更を同時に行えます。
- AI はプロダクション速度でテストを書く。 人間にとって 17,255 テストを書くのは魂をすり減らす苦行です。AI にとっては、単なるコードです。
- AI はボイラープレートを即座に処理する。 10 ロケールの翻訳レイヤー(10,130 LOC の JSON + 320 ページのドキュメント)は人間のチームなら数週間かかります。AI なら数分です。
- AI は飽きない。 エッジケース、IME コンポジション、CJK フォーマットをカバーする 656 テストファイルは、まさに人間が省略しがちな種類の作業です。
人間の役割は判断でした——何を構築するか、いつ止めるか、どのアプローチを取るか。AI の役割は労働でした——書く、テストする、デバッグする、翻訳する。
市場比較
| 次元 | VMark | Typora | Zettlr | Mark Text |
|---|---|---|---|---|
| コア機能 | Markdown WYSIWYG + ソース | Markdown WYSIWYG | 学術向け Markdown | Markdown WYSIWYG |
| LOC(推定) | 約 109K プロダクション | 約 200K(クローズドソース) | 約 80K | 約 120K |
| コントリビューター | 2(1 人間 + AI) | 1〜2(クローズド) | 約 50 | 約 100 |
| 年齢 | 3 か月 | 8 年以上 | 6 年以上 | 6 年以上 |
| 価格 | 無料(ベータ) | $15 ライセンス | 無料 / OSS | 無料 / OSS |
| 主な差別化要因 | Tauri ネイティブ、MCP AI、CJK ネイティブ、マルチカーソル | 洗練度、PDF エクスポート | Zettelkasten、引用 | Electron、成熟 |
この比較が示すもの
VMark は 85 日で、他のプロジェクトが 50〜100 人のコントリビューターで 6〜8 年かけて達成した同等のコードベースサイズと機能セットに到達しました。テスト規律(17K テスト、2:1 比率)はこの比較にあるすべてのオープンソース Markdown エディタを上回ります。
これは VMark が「より優れている」からではありません——まだ若く、実戦でのテストが少ないからです。しかし、AI 支援開発が何を可能にするかを示しています:以前は資金を持つチームが必要だった成果を、1 人で生み出せるということです。
VMark の構築コストが高い理由
コストを押し上げる 3 つの要因:
エディタプラグインの複雑さ——選択、トランザクション、ノードビュー、IME コンポジションに触れる 34,859 LOC の ProseMirror プラグイン。これはシニアエディタフレームワークスペシャリストが約 50 LOC/日で書くティア 3/4 コードです。
極端なテスト規律——テスト対プロダクション比率 2.06:1 は、テストコードだけ(206K LOC)がプロダクションコードより多くの工数を必要とすることを意味します。これは意図的な投資であり——AI 支援開発を持続可能にするものです。
10 ロケールの完全な i18n——320 ドキュメントページ、80 ロケール JSON ファイル、完全にローカライズされたウェブサイト。これは通常、ソロプロジェクトではなく資金を受けた商業製品で見られる運用規模です。
これらの数値を再現する
すべてのメトリクスは公開リポジトリから再現可能です:
# クローンとインストール
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)に基づいており、プロトタイプや概念実証コードではなく、プロダクション品質の成果物に対して調整されています。