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

Источник: https://www.youtube.com/watch?v=oFfVt3S51T4
Канал: Lex Fridman
Опубликовано: 06.10.2024

---

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

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

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

---

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

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

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

*   **Опыт с GitHub Copilot:** В 2021 году команда, будучи фанатами Vim, перешла на VS Code только ради Copilot. Это был первый «киллер-фича» продукт на базе LLM.
*   **Приход GPT-4:** В конце 2022 года доступ к GPT-4 показал, что возможности моделей совершили качественный скачок. Стало ясно: программирование не будет набором точечных решений, оно полностью пройдет через призму ИИ.
*   **Ограничения плагинов:** Разработчики поняли, что оставаясь в рамках расширения для VS Code, они ограничены чужим UX. Чтобы создать по-настоящему глубокую интеграцию (например, кастомные диффы или предсказание следующего действия), нужно было контролировать весь редактор целиком.

Аман Сангер вспоминает, что в июне 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) и собственных специализированных моделей.

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

*   **Claude 3.5 Sonnet:** На текущий момент консенсус команды — это лучшая модель для повседневного кодинга. Она лучше понимает намерения и меньше «галлюцинирует» в структуре проекта.
*   **OpenAI o1:** Потрясающе справляется со сложными алгоритмическими задачами (уровня интервью или олимпиад), но пока медленна и не обладает той «эргономикой» понимания контекста, которая есть у Sonnet.
*   **Custom "Apply" Model:** Команда натренировала собственную модель исключительно для задачи применения правок (Apply). Большие модели часто ошибаются в номерах строк или форматировании при вставке кода в файл. Специализированная модель делает это надежнее и быстрее.

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

---

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

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

*   **Как это работает:** Пока вы пишете фронтенд, агент в «тени» может пытаться исправить баг в бэкенде. Он запускает линтеры, проверяет типы и видит ошибки компиляции, не мешая вашему основному экрану.
*   **Зачем это нужно:** Чтобы ИИ мог верифицировать свой код. Генерировать код легко, но гарантировать его работоспособность без запуска — невозможно. Shadow Workspace дает моделям обратную связь от компилятора.

---

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

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

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

---

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

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

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

---

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

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

*   **Программирование становится веселее:** Исчезает рутина, остается чистое творчество и принятие архитектурных решений.
*   **Важность вкуса:** В мире, где код генерируется мгновенно, главным навыком инженера становится **вкус** и способность судить о качестве системы.
*   **ИИ как рычаг:** Лучшие программисты — это те, кто «живет» кодом. Они используют Cursor не чтобы работать меньше, а чтобы создавать в 10 раз больше и сложнее.

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