LLM_NOTES Telegram 206
Как устроен Cursor: технические детали от создателей 🔧

Вчера прочитал очень интересное интервью с основателем Cursor. Интервью содержит множество деталей внутреннего устройства самого популярного AI-кодера, и с моей точки зрения будет интересно практически каждому.

Ниже мой краткий конспект.

Полная оригинальная версия здесь.
Перевод на русский язык: часть 1 | часть 2

Cursor — AI-редактор кода, который за год вырос в 100 раз по нагрузке и обрабатывает более 1 млн запросов в секунду. Сооснователь Суалех Асиф рассказал об используемых технических решениях.

Цифры проекта 📊

• 50 инженеров в команде
• 1M+ транзакций в секунду в пике
• 100x рост пользователей за 12 месяцев
• $500M+ годовая выручка
• Миллиард строк кода пишется ежедневно

Технический стек 💻

Клиент:
• TypeScript — основная логика
• Electron — форк VS Code
• Rust — производительные компоненты

Бэкенд:
• TypeScript + Rust
• Монолитная архитектура
• Node API для связи с Rust

Базы данных:
• Turbopuffer — хранение зашифрованных файлов
• Pinecone — векторная БД для документации

Инфраструктура:
• AWS + Azure для вычислений
• Десятки тысяч NVIDIA H100 GPU
• Terraform для управления инфраструктурой

Как работает автодополнение ⚡️

1️⃣ Клиент собирает контекст кода локально 2️⃣ Код шифруется и отправляется на сервер 3️⃣ Сервер расшифровывает и генерирует предложение 4️⃣ Предложение возвращается в IDE 5️⃣ Пользователь принимает через Tab

Ключевая задача — минимизировать задержки при максимальном качестве предложений.

Чат без хранения кода 🔒

Cursor не хранит исходный код на серверах, используя умную систему индексации:

Создание индексов:
• Код разбивается на чанки
• Создаются эмбеддинги без сохранения имен файлов
• Используются обфусцированные названия

Поиск по коду:
• Векторный поиск по эмбеддингам
• Запрос нужных файлов с клиента
• Анализ и ответ на основе контекста

Синхронизация через Merkle Trees:
• Каждые 3 минуты сравнение деревьев клиент-сервер
• Переиндексация только измененных файлов
• Эффективное использование ресурсов

Anyrun: оркестратор агентов 🤖

Написанный на Rust сервис для запуска AI-агентов в облаке:

• AWS EC2 — для корпоративных клиентов
• AWS Firecracker — микро-ВМ с запуском за 125мс
• Изоляция процессов — безопасность на уровне ВМ
• Снапшоты — сохранение состояния для быстрого восстановления

Инженерные вызовы 🚧

Проблемы масштабирования:
• Рост использования в 100 раз за год
• Миллиарды эмбеддингов ежедневно
• Один из крупнейших клиентов OpenAI

Проблема холодного старта:
• При падении всех нодов перезапуск критичен
• Нужно контролировать трафик при восстановлении
• Приоритизация пользователей во время инцидентов

Шардинг и его сложности:
• Ручное разделение индексов в Pinecone
• Недоиспользование ресурсов (30% простоя)
• Сложные миграции между шардами

Миграции баз данных 🔄

От Yugabyte к PostgreSQL:
• Yugabyte не справлялся с нагрузкой
• Долгие транзакции в распределенной системе
• PostgreSQL на AWS RDS решил проблемы

От PostgreSQL к Turbopuffer:
• 22TB данных в RDS достигли лимитов
• Особенности VACUUM в PostgreSQL
• Экстренная миграция за 10 часов во время инцидента

Культура разработки 👥

Релизы:
• Каждые 2-4 недели (десктопное приложение)
• Консервативные feature flags
• Тщательное тестирование перед выпуском

Команда:
• 15 инженеров в инфраструктурной команде
• Культура экспериментов
• Использование собственного продукта

Будущие вызовы:
• Масштабирование reinforcement learning
• Тысячи GPU для обучения
• Сложная архитектура с множеством компонентов

Выводы 💡

• Небольшие команды могут превосходить гигантов при правильном подходе
• Облачные провайдеры критичны для быстрого масштабирования
• Надо быть очень осторожными с использованием стартап-продуктов в инфраструктуре - лучше доверять гиперскейлерам
• Создание продукта для собственной аудитории упрощает разработку

Cursor своим примером показывает, как 50 инженеров могут конкурировать с Microsoft и GitHub, фокусируясь на потребностях разработчиков.

@llm_notes

#cursor #vibecoding #tech_architecture #startup_scaling



tgoop.com/llm_notes/206
Create:
Last Update:

Как устроен Cursor: технические детали от создателей 🔧

Вчера прочитал очень интересное интервью с основателем Cursor. Интервью содержит множество деталей внутреннего устройства самого популярного AI-кодера, и с моей точки зрения будет интересно практически каждому.

Ниже мой краткий конспект.

Полная оригинальная версия здесь.
Перевод на русский язык: часть 1 | часть 2

Cursor — AI-редактор кода, который за год вырос в 100 раз по нагрузке и обрабатывает более 1 млн запросов в секунду. Сооснователь Суалех Асиф рассказал об используемых технических решениях.

Цифры проекта 📊

• 50 инженеров в команде
• 1M+ транзакций в секунду в пике
• 100x рост пользователей за 12 месяцев
• $500M+ годовая выручка
• Миллиард строк кода пишется ежедневно

Технический стек 💻

Клиент:
• TypeScript — основная логика
• Electron — форк VS Code
• Rust — производительные компоненты

Бэкенд:
• TypeScript + Rust
• Монолитная архитектура
• Node API для связи с Rust

Базы данных:
• Turbopuffer — хранение зашифрованных файлов
• Pinecone — векторная БД для документации

Инфраструктура:
• AWS + Azure для вычислений
• Десятки тысяч NVIDIA H100 GPU
• Terraform для управления инфраструктурой

Как работает автодополнение ⚡️

1️⃣ Клиент собирает контекст кода локально 2️⃣ Код шифруется и отправляется на сервер 3️⃣ Сервер расшифровывает и генерирует предложение 4️⃣ Предложение возвращается в IDE 5️⃣ Пользователь принимает через Tab

Ключевая задача — минимизировать задержки при максимальном качестве предложений.

Чат без хранения кода 🔒

Cursor не хранит исходный код на серверах, используя умную систему индексации:

Создание индексов:
• Код разбивается на чанки
• Создаются эмбеддинги без сохранения имен файлов
• Используются обфусцированные названия

Поиск по коду:
• Векторный поиск по эмбеддингам
• Запрос нужных файлов с клиента
• Анализ и ответ на основе контекста

Синхронизация через Merkle Trees:
• Каждые 3 минуты сравнение деревьев клиент-сервер
• Переиндексация только измененных файлов
• Эффективное использование ресурсов

Anyrun: оркестратор агентов 🤖

Написанный на Rust сервис для запуска AI-агентов в облаке:

• AWS EC2 — для корпоративных клиентов
• AWS Firecracker — микро-ВМ с запуском за 125мс
• Изоляция процессов — безопасность на уровне ВМ
• Снапшоты — сохранение состояния для быстрого восстановления

Инженерные вызовы 🚧

Проблемы масштабирования:
• Рост использования в 100 раз за год
• Миллиарды эмбеддингов ежедневно
• Один из крупнейших клиентов OpenAI

Проблема холодного старта:
• При падении всех нодов перезапуск критичен
• Нужно контролировать трафик при восстановлении
• Приоритизация пользователей во время инцидентов

Шардинг и его сложности:
• Ручное разделение индексов в Pinecone
• Недоиспользование ресурсов (30% простоя)
• Сложные миграции между шардами

Миграции баз данных 🔄

От Yugabyte к PostgreSQL:
• Yugabyte не справлялся с нагрузкой
• Долгие транзакции в распределенной системе
• PostgreSQL на AWS RDS решил проблемы

От PostgreSQL к Turbopuffer:
• 22TB данных в RDS достигли лимитов
• Особенности VACUUM в PostgreSQL
• Экстренная миграция за 10 часов во время инцидента

Культура разработки 👥

Релизы:
• Каждые 2-4 недели (десктопное приложение)
• Консервативные feature flags
• Тщательное тестирование перед выпуском

Команда:
• 15 инженеров в инфраструктурной команде
• Культура экспериментов
• Использование собственного продукта

Будущие вызовы:
• Масштабирование reinforcement learning
• Тысячи GPU для обучения
• Сложная архитектура с множеством компонентов

Выводы 💡

• Небольшие команды могут превосходить гигантов при правильном подходе
• Облачные провайдеры критичны для быстрого масштабирования
• Надо быть очень осторожными с использованием стартап-продуктов в инфраструктуре - лучше доверять гиперскейлерам
• Создание продукта для собственной аудитории упрощает разработку

Cursor своим примером показывает, как 50 инженеров могут конкурировать с Microsoft и GitHub, фокусируясь на потребностях разработчиков.

@llm_notes

#cursor #vibecoding #tech_architecture #startup_scaling

BY Заметки LLM-энтузиаста




Share with your friend now:
tgoop.com/llm_notes/206

View MORE
Open in Telegram


Telegram News

Date: |

On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. Healing through screaming therapy How to create a business channel on Telegram? (Tutorial) The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information.
from us


Telegram Заметки LLM-энтузиаста
FROM American