Как рой ИИ-агентов Cursor создал SQLite с нуля за $1339
Cursor опубликовала результаты эксперимента со вторым поколением своего «роя агентов» — системы, в которой сотни ИИ-агентов параллельно работают над одной кодовой базой. Задача — реализовать на Rust движок базы данных по 835-страничной документации SQLite. Без исходников, без готовых тестов, без бинарника оригинала и без доступа в интернет. Самая дешевая связка моделей уложилась в счет $1339 за четырехчасовой прогон. Главная находка — экономическая: та же задача с теми же моделями в других конфигурациях стоила до $10 565, и всю разницу сделала организация работы.
Прогресс мерили по sqllogictest — тестовому набору самого проекта SQLite с миллионами запросов и известными правильными ответами. Рой о существовании тестов не знал, а после каждого прогона авторы вручную проверяли код на читерство и убеждались, что система построена равномерно, а не только там, куда «смотрят» тесты.
Рой строится вокруг дерева задач, а агенты делятся на две роли. Планировщики на самых умных моделях режут цель на куски и делегируют их вниз, воркеры на быстрых и дешевых моделях исполняют. Смысл в том, что контекст каждого агента остается маленьким: планировщик никогда не пишет код и не забивает память деталями, воркер никогда не планирует и тратит весь контекст на свою задачу. По мнению Cursor, именно это объясняет, почему одиночные агенты на длинных задачах «плывут» — им приходится держать в голове и общую цель, и конкретный кусок работы одновременно.

Цену координации нагляднее всего показали прогоны Grok 4.5 — модели, которую Cursor обучала вместе с xAI (ныне SpaceXAI). Под старой версией роя Grok 4.5 выдал 68 000 коммитов за первые два часа, в 70 раз быстрее нового роя, — но это была не продуктивность, а агония: накопилось больше 70 000 конфликтов слияния, копились они все быстрее, и прогон остановили, не дожидаясь конца второго часа (новый рой за полные четыре часа собрал меньше тысячи).
Вскрытие показало ровно те же болезни, что у больших человеческих команд:
-
Раздвоение архитектуры: планировщики, не знавшие друг о друге, реализовали одни и те же концепции по несколько раз — проект расползся на 54 пакета-крейта, включая три независимых SQL-пакета, тогда как новый рой рано зафиксировал девять и больше не добавил ни одного.
-
Войны за территорию: планировщики раз за разом переписывали правки друг друга в одних и тех же файлах.
-
Мегафайлы: популярные файлы бесконтрольно росли, потому что каждый агент добавлял понемногу, а следить за размером было некому, — один такой файл собрал 7771 конфликт от 1173 разных агентов, тогда как в новом рое самый горячий файл пережил 47.
-
И «окостенение»: агенты, наученные работой в человеческих кодовых базах, боялись трогать код ядра системы, даже когда его надо было менять.
Лечили это, по сути, корпоративным менеджментом. Планировщики теперь обязаны сами принимать дизайн-решения и следить, чтобы два поддерева не решали один и тот же вопрос. Решения фиксируются в общих дизайн-доках, а в коде стоит ссылка на документ, которую проверяет компилятор; если доки противоречат друг другу, их сводит отдельный агент-примиритель. Конфликты слияния разруливает нейтральный агент-арбитр — аналог merge queue в командах. Раздувшийся файл любой воркер может пометить флажком: новые коммиты в него блокируются, и внешний агент режет его на модули. Наконец, разрешена «намеренная поломка»: агент может сознательно сломать код ядра ради нужного изменения, оставив комментарий с обоснованием, — компилятор разнесет ошибки по системе, и каждый, кто на них наткнется, прочитает причину и обновит свой кусок.
Под это перестроили и инфраструктуру. Git с блокировками на уровне всего репозитория не выдерживал темпа, поэтому Cursor написала собственную систему контроля версий: старый рой на Git в пике выдавал около 1000 коммитов в час, новая VCS — около 1000 коммитов в секунду. Поверх работает многослойное ревью: одни агенты-ревьюеры видят полный транскрипт воркера, другие только результат, третьи только кодовую базу, часть работает на других моделях. Ни одна «линза» не ловит все, но некоррелированные линзы складываются — Cursor сравнивает это с компонентами автопилота. А еще агенты ведут Field Guide — общую папку заметок для будущих агентов, которую курируют сами; авторы называют это стигмергией, по аналогии с тем, как муравьи координируются через изменение среды.
По оценке Cursor, новая версия роя обошла старую во всех четырех конфигурациях: GPT-5.5 соло, Grok 4.5 соло, Opus 4.8 как планировщик с Composer 2.5 в роли воркеров и Fable 5 с теми же воркерами. Связка с Fable 5 прошла около двух третей тестов уже за первый час. К четырехчасовой отсечке новые прогоны показывали 73–85% против 11–77% у старых, а при продолжении работы все новые конфигурации дошли до 100%. Кода при этом понадобилось в разы меньше: связке с Fable 5 хватило 9908 строк движка там, где старый рой написал 64 305; у связки с Opus — 4645 строк против 19 013.
Теперь экономика — ради нее, судя по заголовку, пост и писался. Качество у всех конфигураций сопоставимое, а счета — от $1339 у связки Opus 4.8 + Composer 2.5 до $10 565 у GPT-5.5, работавшего и планировщиком, и воркером (Grok 4.5 соло — $1928, связка с Fable 5 — $2234). Токены при этом жгут в основном воркеры: минимум 69% во всех прогонах, а в большинстве — больше 90%. Формула выгоды простая: моментов, где реально нужна самая умная модель, в большой задаче немного — декомпозиция, дизайн-решения, компромиссы. Когда дорогая модель приняла спорные решения и свела задачу к явной инструкции, дешевой остается только исполнять. В прогоне, где воркерами был GPT-5.5, они одни стоили $9373; флот воркеров Composer 2.5 в связке с Opus обошелся в $411. Любопытная сноска: GPT-5.6 Sol, которую изначально хотели взять как самую сильную конфигурацию, из сравнения убрали — модель оказалась слишком чувствительной к буквальным и акцентированным формулировкам промптов и уходила в «неуправляемые спирали», каких не выдавала ни одна другая.
Заканчивают авторы красиво: автодополнение позволяло работать на уровне строки, ранние модели — на уровне блока, агенты — на уровне файла или фичи, а с роями единицей работы становится спека — развернутое описание того, что должно получиться. Дефицитом, по их прогнозу, будет не написание кода, а точное описание намерения.
P.S. Поддержать меня можно подпиской на канал «сбежавшая нейросеть», где я рассказываю про ИИ с творческой стороны.
Источник: habr.com
Похожие записи
Оцените материал:
Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
