От браузера к SQLite: эволюция AI-роя
Ранее команда Cursor уже демонстрировала способность создавать веб-браузер с нуля с помощью AI-агентов, но результат оказался сырым и не готовым к использованию. Целью нового эксперимента стало понимание того, как можно инженерно улучшить работу роя агентов (agent swarm) для решения более сложных и структурированных задач. В качестве полигона была выбрана переписывание ядра базы данных SQLite на языке Rust, строго следуя официальной документации.
Результаты: 80% покрытия за 4 часа
Ключевое отличие нового подхода — архитектура, основанная на древовидной декомпозиции задач. Система разделяет агентов на две роли:
- Planner (Планировщик): использует мощные модели для разбиения глобальной цели на подзадачи и делегирования.
- Worker (Исполнитель): использует быстрые и дешевые модели для выполнения конкретных задач.
Это разделение решает проблему «дрейфа контекста» у одиночных агентов. Планировщик не перегружается низкоуровневыми деталями, а исполнитель концентрируется только на своей узкой задаче. Сравнение производительности старой и новой систем при одинаковых временных и вычислительных бюджетах:
| Метрика | Старый рой агентов | Новый рой агентов |
|---|---|---|
| Модель | Grok 4.5 | Grok 4.5 |
| Время работы | ~2 часа (система остановлена из-за сбоев) | 4 часа |
| Результат (SQL тесты) | Низкий (спираль ошибок) | 80% покрытия |
| Стабильность | Нестабильная | Стабильная работа до завершения |
Собственная система контроля версий для AI
Одной из главных проблем масштабирования стало управление изменениями в коде. Если старый рой генерировал около 1000 коммитов в час, то новая система достигает 1000 коммитов в секунду. Для этого Cursor разработал собственную систему контроля версий (VCS), интегрированную в процесс работы агентов. Это позволило решить специфические проблемы AI-разработки:
- Split-brain design: два планировщика могли создавать разные реализации одной функции. Решено через промпты, требующие согласования архитектурных решений.
- Конфликты слияния (Merge conflicts): агенты-исполнители плохо справляются с ручным слиянием кода. Введена роль нейтрального агента-реконцилиатора, который беспристрастно разрешает конфликты.
- Megafiles: файлы, в которые вносят правки слишком много агентов, становятся «бутылочным горлышком». Введена система маркировки таких файлов с их последующим разделением на модули.
Экономическая эффективность и ревью
Эксперименты показали, что использование гибридных конфигураций (дорогая модель для планирования + дешевая для кодинга) дает сопоставимое качество кода, но радикально снижает затраты. Кроме того, критически важную роль сыграла система «линз ревью» (review lenses). Несколько независимых агентов-ревизоров, работающих на разных моделях, проверяют код. Это позволяет накапливать ошибки и исправлять их на ранних этапах, что значительно дешевле, чем переписывание кода после завершения задачи.
Источник: Cursor ↗
