Meta выпустила бета-версию Muse Code — терминального агента для программирования, работающего на новой модели Muse Spark 1.2. Это очередной шаг компании к моделям переднего края: впереди — более крупные и функциональные версии.

Установка Muse Code на macOS или Linux:

curl -fsSL https://dev.meta.ai/install.sh | bash

Muse Code решает сложные инженерные задачи в больших репозиториях: планирует изменения, пишет код и проверяет результат. Агент способен координировать несколько постоянно работающих подагентов в рамках одной задачи, что позволяет решать сложные проблемы быстрее, точнее и с меньшим количеством ручного вмешательства.

Muse Code

Асинхронные фоновые агенты

Muse Code построен на простом цикле основного агента, дополненном набором асинхронных фоновых агентов, расширяющих возможности главного агента. Эти специализированные фоновые агенты остаются активными на протяжении всей сессии, а не создаются заново под каждую отдельную задачу — это помогает избежать повторного сбора одной и той же информации. Они самостоятельно выполняют следующие шаги и решают, когда передать управление обратно основному агенту. Такая持续ность (постоянство работы) снижает задержки и потребность в постоянном контроле при выполнении сложных многошаговых задач.

Архитектура среды выполнения

Muse Code ведёт локальный журнал событий, в который записывается каждый вызов модели, запуск инструмента, подтверждение и правка. Этот единый источник истины делает среду выполнения точно воспроизводимой и устойчивой к перезапускам: после сбоя агент может продолжить работу ровно с того места, где остановился. Благодаря этому Muse Code способен браться за длительные задачи без риска сорваться из-за отдельных сбоев.

Встроенные навыки

Muse Code поставляется с несколькими стандартными навыками. Команда /plan превращает задачу в план, требующий подтверждения на каждом шаге, /grill подвергает этот план стресс-тестированию до тех пор, пока он не станет устойчивым, а /goal обеспечивает движение к успешному достижению заданной цели.

В демонстрации агент получает на входе видео облёта дома в формате mp4, введённое пользователем в терминал. Muse Code анализирует видео и создаёт визуально насыщенную страницу для маркетинга и бронирования дома для отдыха.

Muse Spark 1.2

Muse Spark 1.2 — это обновление модели Muse Spark 1.1 с фокусом на код: улучшена генерация кода, сложная отладка, понимание кодовой базы и работа со сквозными процессами разработки. При обучении Muse Spark 1.2 существенно увеличили объём вычислений, направленных на задачи программирования, и расширили разнообразие обучающих сред. При этом модель сохранила сильные стороны и в других ключевых областях, например в задачах общих агентов.

Столбчатая диаграмма сравнения результатов Terminal-Bench 2.1 для Muse Spark 1.2 и других моделей для программирования.
Столбчатая диаграмма сравнения результатов DeepSWE 1.1 для Muse Spark 1.2 и других моделей для программирования.
Столбчатая диаграмма сравнения результатов внутреннего бенчмарка Meta по программированию для Muse Spark 1.2 и других моделей.

Подробности о методологии тестирования доступны в отдельном отчёте.

Совместное обучение с Muse Code

Muse Spark 1.2 обучали совместно с Muse Code, чтобы модель показывала наилучшую производительность и удобство работы с кодом именно в связке с этим агентом. В обучение вошли отобранные с помощью rejection sampling траектории работы харнесса, а также оптимизации рецептов для целей, компактификации контекста и подагентов, вместе с интеграцией набора инструментов Muse Code для максимальной совместимости.

Работа на длинных горизонтах

Muse Spark 1.2 прошла интенсивное обучение на задачах с длинным горизонтом планирования: полная генерация репозиториев, крупные сквозные проекты и автоматизированные исследования. Модель использует планирование для последовательности действий, привязку к цели для сохранения направления работы и компактификацию контекста для удержания знаний, необходимых для продолжения прогресса.

Самообучение

Для генерации сложных сред программирования и шаблонов следования инструкциям использовалась модель Muse Spark 1.1. Затем она же оценивала кандидатов-решения по тому, насколько хорошо они соответствуют требованиям, формируя масштабируемый набор обучающих данных для Muse Spark 1.2. Этот цикл самообучения помог новой модели точнее следовать сложным инструкциям по сравнению с предшественницей.

Практический пример: оптимизация ядер

Способность модели итеративно оптимизировать GPU-ядра проверяли на серии из более чем 1000 вызовов инструментов (до 24 часов работы). Используя агентную среду программирования Muse Code, модель пишет, компилирует, профилирует и постепенно улучшает производительность ядра относительно заданной базовой реализации. Тестирование проводили на ядрах KDA и MLA для GPU NVIDIA Hopper. Агент продолжает демонстрировать существенный прирост производительности относительно исходной базовой реализации.

График сравнения ускорения ядра KDA относительно базовой реализации в зависимости от накопленного числа вызовов инструментов для Muse Spark 1.2 и других моделей.

Базовой реализацией служит вариант KDA на Triton из библиотеки FLA. Моделям запрещалось напрямую импортировать сторонние библиотеки ядер, такие как FLA — им нужно было применить специализированные знания по оптимизации ядер и реализовать алгоритм на Triton самостоятельно, а не оборачивать существующие реализации. Muse Spark 1.2 объединила параллельное по чанкам подготовительное ядро с последовательным межчанковым сканированием, совместив стандартные приёмы фьюзинга и тайлинга со специфичными для KDA оптимизациями — например, перецентровкой накопленного затухания с гейтом в середине чанка.

Тестирование против эталонной реализации на PyTorch проводилось при размере батча 1, числе голов 64, длине последовательности 8192 и латентной размерности 512. Для этой задачи Muse Spark 1.2 спроектировала двухъядерный конвейер на Triton, объединив фьюзинг ядер и тайлинг со специфичными для MLA оптимизациями — в частности, повторным использованием общего латентного представления KV одновременно как K и V.

Доступность

Muse Spark 1.2 уже доступна в Muse Code и в Meta Model API — с расширенным глобальным доступом. Впереди много нового, включая новые функции харнесса и более мощные модели.