Как работает Cursor: взгляд изнутри
Cursor — это не просто еще одна IDE с поддержкой ИИ. За два года компания Anysphere превратила свой продукт в инструмент стоимостью $9.9 млрд с годовой выручкой более $500 млн. Но как именно работает эта магия под капотом?
Архитектура: форк VS Code на стероидах
Cursor построен на основе форка Visual Studio Code — решение, которое позволило команде сосредоточиться на инновациях, а не на создании стабильного редактора с нуля. TypeScript и Electron остались основой фронтенда, но бэкенд получил серьезные усиления в виде Rust для всех критичных к производительности компонентов.
Интересно, что несмотря на масштаб, бэкенд остается монолитом — напоминание о том, что монолиты отлично работают для быстрорастущих стартапов.
Автодополнение: гонка с миллисекундами
Когда вы открываете файл в Cursor, запускается сложный механизм генерации "tab suggestions":
- Локальный сбор контекста — клиент собирает небольшую часть текущего кода
- Шифрование и отправка — код шифруется и передается на сервер
- Инференс в облаке — сервер расшифровывает данные и генерирует предложения с помощью собственной LLM-модели
- Мгновенное отображение — предложение появляется в IDE серым цветом
Главный вызов здесь — баланс между количеством контекста (больше контекста = лучшие предложения) и скоростью (меньше данных = быстрее отклик). Цель — укладываться в секунду.
Чат без хранения кода: Merkle Trees в деле
Самая изящная часть архитектуры Cursor — это работа чата с кодовой базой без хранения исходного кода на сервере. Как это возможно?
Семантическое индексирование
- Разбивка на чанки — код делится на небольшие логические части
- Создание эмбеддингов — каждый чанк превращается в векторное представление (используются модели OpenAI или собственные)
- Обфускация — даже имена файлов скрываются перед отправкой на сервер
Умная синхронизация с Merkle Trees
Cursor использует Merkle деревья для эффективного отслеживания изменений:
- Каждый файл получает хеш на основе содержимого
- Каждая папка получает хеш на основе хешей дочерних элементов
- Клиент и сервер поддерживают свои версии дерева
- Каждые 3 минуты происходит сравнение деревьев
- Переиндексируются только изменившиеся файлы
Это означает, что когда вы утром получаете обновления из git-репозитория, Cursor переиндексирует только то, что действительно изменилось.
Поиск по коду в реальном времени
Когда вы задаете вопрос о коде:
- Запрос анализируется и превращается в векторный поиск по эмбеддингам
- Находятся релевантные части кода
- Сервер запрашивает у клиента актуальный исходный код этих частей
- Генерируется ответ на основе полученного контекста
Anyrun: оркестратор в облаках
Anyrun (игра слов с названием компании Anysphere) — это написанный на Rust сервис-оркестратор, который управляет запуском агентов в облаке. Он обеспечивает безопасную изоляцию процессов, используя Amazon EC2 и AWS Firecracker.
Инфраструктура масштаба
- 1 миллион транзакций в секунду в пиковые моменты
- Рост в 100 раз за 12 месяцев
- 100+ миллионов строк корпоративного кода пишется ежедневно
- Сотни терабайт индексов в базах данных
Для работы всего этого Cursor использует:
- AWS для основной CPU-инфраструктуры
- Azure для инференса на десятках тысяч NVIDIA H100 GPU
- Turbopuffer как основную базу данных (после миграции с Yugabyte)
- Datadog для мониторинга
- Warpstream для потоковой обработки данных
Безопасность превыше всего
Cursor серьезно относится к безопасности:
- Уважает
.gitignoreи предлагает собственный.cursorignore - Сканирует код на предмет секретов перед отправкой
- Не хранит исходный код на серверах
- Шифрует все передаваемые данные
Заключение
Cursor — это история о том, как правильная архитектура позволяет создать продукт, который кажется магией. Комбинация умного форка VS Code, эффективного индексирования с Merkle деревьями, быстрого автодополнения и безопасной работы с кодом создает опыт, который изменил то, как многие разработчики работают с кодом.
За кажущейся простотой стоят сложные инженерные решения, которые позволяют обрабатывать миллионы запросов и помогать писать миллиарды строк кода ежедневно.
новости ии https://t.me/mcpnotebook