Смерть юнит-тестов и рождение инженерного гения в Cursor

Lex Fridman 989 тыс. 2 ч 29 мин 5 мин 06.10.2024
Главное

🏗️ Будущее программирования: эра Cursor и гибридный интеллект

Программирование переживает самую радикальную трансформацию с момента появления компиляторов. Команда создателей Cursor (Майкл Труэлл, Суалех Асиф, Арвид Луннемарк и Аман Сангер) в детальном обсуждении с Лексом Фридманом сформулировала манифест новой эпохи: переход от «набора текста» к «дирижированию интентами».

Cursor начинался как форк VS Code, но быстро перерос статус простого редактора. Сегодня это лаборатория прикладного ИИ, где граница между написанием кода человеком и генерацией его моделью становится диффузной.


🚀 От VS Code к Cursor: почему расширений недостаточно

История Cursor началась в 2020 году, когда публикация работ OpenAI о «законах масштабирования» (Scaling Laws) убедила команду: прогресс ИИ предсказуем, и он изменит интеллектуальный труд.

Ключевые вехи перехода:

Аман Сангер вспоминает, что в июне 2022 года он заключил пари: сможет ли ИИ выиграть золотую медаль на Международной математической олимпиаде (IMO) к 2024 году. Несмотря на скептицизм коллег, результаты DeepMind (AlphaProof) показали, что он был почти прав — ИИ не хватило всего одного балла до золота. Это укрепило веру команды в то, что «масштабирование — это почти всё, что нужно».


⚡ Cursor Tab: магия «нулевой энтропии»

Центральная функция Cursor — Tab, которую разработчики называют «автодополнением на стероидах». Её задача — предсказать следующее действие программиста, будь то строка кода, исправление в другой части файла или переход к определению функции.

Техническая начинка Tab:

  1. Предсказание следующего курсора (Next Cursor Prediction): Модель анализирует не только символы, но и логику правок. Она понимает, что после изменения функции в строке 10, вам почти наверняка нужно обновить её вызов в строке 28.
  2. Спекулятивное редактирование (Speculative Edits): Чтобы достичь мгновенного отклика, Cursor использует кастомные маленькие модели с архитектурой Mixture of Experts (MoE). Вместо генерации каждого токена с нуля, модель «подставляет» куски существующего кода, проверяя, согласуется ли он с новой логикой.
  3. Кэширование KV (Key-Value Cache): Для экономии ресурсов и скорости при каждом нажатии клавиши контекст не пересчитывается заново. Используется прогрессивное кэширование, которое «прогревается» еще до того, как пользователь нажал Enter.

Цель Tab — устранить «низкоэнтропийные» действия. Если финал вашей мысли логически предопределен, вы не должны тратить время на механический набор символов.


🛠️ Модели и инфраструктура: за кулисами интеллекта

Разработчики Cursor не привязаны к одной модели. Они используют ансамбль из фронтирных решений (Claude 3.5 Sonnet, GPT-4o, o1) и собственных специализированных моделей.

Какой ИИ лучше пишет код?

Проблема бенчмарков

Команда критикует публичные тесты вроде SWE-bench. Главная проблема — контаминация (загрязнение) данных. Модели обучаются на GitHub, где уже лежат решения этих тестов. Поэтому в Cursor полагаются на «вайб-чек» (качественную оценку опытными инженерами) и приватные наборы данных.


🌀 Shadow Workspace: ИИ-агент на заднем плане

Арвид Луннемарк представил концепцию Shadow Workspace («Теневое рабочее пространство»). Это скрытая копия проекта, где ИИ-агент может пробовать разные решения в фоновом режиме.


🔮 Будущее: агенты, формальная верификация и «смерть» тестов

Дискуссия затронула будущее, где программирование станет более высокоуровневым, но не потеряет в детальности.

  1. Формальная верификация вместо юнит-тестов: Арвид мечтает о мире, где вместо написания тысяч тестов разработчик будет описывать спецификацию, а ИИ — математически доказывать, что код ей соответствует.
  2. Экономика багов: Лекс предложил идею «чаевых» или баунти-системы внутри редактора: если ИИ нашел критический баг, который пропустил человек, пользователь мог бы мгновенно отправить разработчикам модели небольшую сумму. Это создало бы сигнал о реальной ценности работы.
  3. Branching везде: Команда развивает идею «ветвления» (branching) не только для кода, но и для файловых систем и баз данных, чтобы агенты могли безопасно экспериментировать с реальными данными.

🔐 Приватность и "Замок" на данных

Один из самых острых вопросов — централизация данных. Майкл Труэлл выразил обеспокоенность тем, что весь мировой код скоро будет проходить через 2-3 провайдера в открытом виде.

Команда видит решение в гомоморфном шифровании: технологии, позволяющей ИИ-модели проводить вычисления над зашифрованными данными, не «видя» их содержимого. Это позволило бы сохранить мощь облачных вычислений при абсолютной приватности локального кода.


💡 Советы будущим программистам

Несмотря на мощь ИИ, команда Cursor считает, что «настоящие гики» никуда не денутся.

Манифест Cursor гласит: мы создаем «Инженерного Гения» — симбиоз человека и машины, который на порядок эффективнее любого одиночного инженера или любой «чистой» ИИ-системы.

💬 Цитаты

«Масштабирование — это почти всё, что нужно»

Аман Сангер

«В мире, где код генерируется мгновенно, главным навыком инженера становится вкус и способность судить о качестве системы»

Команда Cursor
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Shadow Workspace
Скрытая копия проекта, где ИИ-агент автономно запускает линтеры и тесты, не мешая разработчику.
Speculative Edits
Технология мгновенного отображения изменений кода за счет предсказания маленькими моделями.
Гомоморфное шифрование
Метод шифрования, позволяющий выполнять вычисления над данными без их расшифровки.
KV Cache
Механизм кэширования в трансформерах, ускоряющий генерацию текста за счет сохранения промежуточных состояний.
Формальная верификация
Математическое доказательство соответствия кода заданной спецификации.
Технологии и IT Cursor LLM VS Code Claude 3.5 Sonnet Аман Сангер