[[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%以上が利用する開発ツールとなっています。