[[Cursor]]開発の舞台裏に関する記事。 [https://x.com/iwashi86/status/1932668950070087719](https://x.com/iwashi86/status/1932668950070087719) ## 会社概要 - **Anysphere** (2022年設立) が開発するAI搭載IDE - **Series C**: 9900億円調達、推定企業価値 $9.9B - **年間売上**: $500M以上(2年でゼロから達成、記録的成長) - **エンジニア数**: 50人 - **処理量**: 100万QPS、日次数十億コード補完 ## 技術スタック ### エディタ (VS Code フォーク) - **TypeScript** + **Electron** - フォーク理由: ゼロから構築より、体験改善に集中するため ### バックエンド - **TypeScript** (ビジネスロジック) + **Rust** (パフォーマンス重視部分) - **モノリス構成** (スタートアップには効果的) - **Node API to Rust** ブリッジでインデクシング等を実行 ### データベース・ストレージ - **[[Turbopuffer]]**: マルチテナント、暗号化ファイル・Merkle Tree保存 - **Pinecone**: ベクトル検索用エンベディング ### インフラ - **AWS** (メインCPU) + **Azure** (推論用GPU) - **数万台のNVIDIA H100 GPU** - **Terraform** でインフラ管理 ## 核心技術 ### 1. 自動補完 (Tab機能) ``` クライアント → 暗号化コンテキスト → サーバー → LLM推論 → 候補返却 ``` - **低レイテンシ同期エンジン** で1秒以内の応答 - コンテキスト量と品質・速度のトレードオフが課題 ### 2. チャット機能 (コード保存なし) **Merkle Tree + セマンティック検索**を活用: 1. **コード分割・エンベディング作成** - ファイルを小チャンクに分割 - OpenAI等でエンベディング生成 - 難読化ファイル名で機密性確保 2. **Merkle Tree同期** (3分間隔) - クライアント・サーバー両側でMerkle Tree保持 - ハッシュ比較で変更ファイル特定 - 必要最小限の再インデックス実行 3. **ベクトル検索フロー** ``` 質問 → エンベディング検索 → 該当ファイル特定 → クライアントからコード取得 → LLM分析・回答 ``` ### 3. Anyrun オーケストレータ - **Rust製** エージェント実行サービス - **AWS EC2 + Firecracker** でセキュアな分離実行 ## セキュリティ対策 - **サーバーにソースコード保存なし** - **.gitignore/.cursorignore** 遵守 - **機密データスキャン** (API Key等の送信回避) - **暗号化通信** でコンテキスト送信 ## エンジニアリング文化 - **2-4週間リリースサイクル** - **保守的フィーチャーフラグ** - **実験重視文化** - **専任インフラチーム** この技術スタックにより、CursorはGitHub Copilotに匹敵する$500M規模の売上を2年で達成し、Fortune 500企業の50%以上が利用する開発ツールとなっています。