Технологии
«Локальный вывод не делает сессию офлайн»: GitHub Copilot добавил локальные модели и песочницы MXC
7 октября 2026 года GitHub и команда Windows Platform описали, как GitHub Copilot будет совмещать вывод моделей на устройстве с облачными моделями: до конца месяца Copilot сам станет решать, какую задачу считать локально, а какую отправить в облако. Локальная версия MAI Code 1.1 Flash — смесь экспертов на 137 млрд параметров, из которых активны 6,8 млрд, — занимает 53 ГБ в квантованном виде, то есть на 80% меньше облачного варианта в bfloat16, и набирает 70,80% против 72,6% у облачной версии на SWE-Bench Verified. Пиковое потребление памяти на устройстве достигает 75,5 ГБ при контексте 256k, а обработка промпта идёт со скоростью 923,5 и 769,8 токена в секунду при 64k и 128k. Инструменты агента предложено ограничивать песочницами: на Windows это BaseContainer из ProcessContainer, на macOS — Seatbelt, на Linux — bubblewrap.

Что объявили
7 октября 2026 года в блоге Microsoft Command Line вышел материал за подписью Патрика Николетича (Distinguished Product Manager, GitHub) и Стюарта Шефера (Partner Architect, Windows Platform), посвящённый двум направлениям: локальному выводу моделей на Windows-ПК и песочницам для инструментов агента. До конца месяца GitHub Copilot, по словам авторов, будет сам определять, какую задачу лучше решить на устройстве, а какую — облачной моделью, вместо того чтобы заставлять разработчика управлять инфраструктурными решениями вручную.
Компания описывает это как следующий шаг линии Project HydraFusion — оркестратора, который выбирает одну или несколько моделей под задачу, балансируя производительность, стоимость и задержку; теперь оркестрация должна охватывать не только модели, но и разные вычислительные среды, включая край. Для NVIDIA RTX Spark-ПК вроде Surface Laptop Ultra это означает локальный кодинг в GitHub Copilot с мощными локальными моделями и железом, способным дать хороший опыт на периферии.
Почему память решает
Локальный вывод начинается с бюджета памяти: Surface Laptop Ultra построен на NVIDIA RTX Spark, до 128 ГБ объединённой памяти и до 1 петафлопса вычислений для ИИ. При дискретной видеокарте память GPU — отдельное ограничение, и перенос данных модели между системной памятью и GPU добавляет накладные расходы; объединённая память даёт процессору и GPU общий физический пул, но не отдаёт его целиком под веса модели.
Часть бюджета занимают операционная система, приложения, среда вывода и кэш ключей-значений, который хранит состояние внимания для уже обработанных токенов: чем больше файлов читает агент и чем больше результатов инструментов получает, тем больше становится контекст, растёт потребление памяти и объём работы над следующим запросом.
Вывод авторы формулируют прямо: полезный вопрос не в том, помещается ли модель, а в том, как она ведёт себя на протяжении всей задачи кодинга, — удержание модели в памяти между запросами убирает повторную загрузку, но не гарантирует постоянное время ответа.
Что за модель работает на устройстве
Локальную версию сделала Microsoft AI: MAI Code 1.1 Flash — оптимизированная под кодинг смесь экспертов на 137 млрд параметров всего и 6,8 млрд активных. На устройстве применяются квантизация и спекулятивное декодирование: первая снижает точность представления весов и активаций и требования к памяти, второе обменивает дополнительную рабочую память на более высокую скорость декодирования и меньшую задержку.
Квантованная версия, которую используют на устройстве, занимает 53 ГБ — на 80% меньше облачного варианта в bfloat16. В первой отгружаемой версии на Surface Laptop Ultra пиковое потребление памяти достигает 75,5 ГБ при контексте 256k, а обработка промпта идёт со скоростью 923,5 и 769,8 токена в секунду при 64k и 128k соответственно.
Замеры проводились 5 октября 2026 года при смешанной квантизации около 3,3 бита на вес, спекулятивном декодировании со скользящим окном DFlash2 и runtime llama.cpp CUDA для Windows ARM64; результаты отражают скорость декодирования на синтетической нагрузке генерации кода. В таблице сравнения на SWE-Bench Verified (500 задач) облачная MAI Code 1.1 Flash набирает 72,6%, квантованная на устройстве — 70,80%, GPT OSS 120B — 32,0%; на Terminal-Bench 2.1 (89 задач) — 62,9%, 66,29% и 23,6% соответственно.
Авторы отдельно оговаривают, что код не деградирует плавно: один неверный токен может дать синтаксическую ошибку, неверный идентификатор, сломанный вызов инструмента или испорченный диф, поэтому выпускная оценка измеряет и успех задачи, и занимаемый объём.
Два способа использовать локальные модели
Copilot добавляет два способа работы с локальными моделями в CLI, приложении Copilot и VS Code: можно позволить интеллектуальной оркестрации Auto решать, когда считать локально, а когда в облаке, либо явно выбрать локальную модель там, где нужен прямой контроль.
В режиме Auto разработчику не нужно решать, где выполнять задачу: в многоходовой сессии Copilot учитывает контекст задачи и состояние кэша, перераспределяя работу между локальными и облачными моделями и сохраняя полезную закэшированную работу. Явный выбор нужен для сценариев с конкретным провайдером, моделью или эндпоинтом: MAI Code 1.1 Flash выбирается через провайдер Windows ML, а Copilot можно подключить к локальным OpenAI-совместимым эндпоинтам и выбирать из моделей, которые они отдают.
Авторы предупреждают, что выбор модели, вывод и выполнение инструментов имеют разные границы, и локальный вывод не делает сессию офлайн.
Песочницы: MXC, Seatbelt и bubblewrap
Команды оболочки агента обычно наследуют права учётной записи, от которой запущены, и перенос вывода на устройство этого не меняет; песочница применяет политику к процессам и локальным службам, ограничивая доступ к файлам, сети, учётным данным, системным возможностям и путям исполнения независимо от того, какая модель запросила работу.
GitHub Copilot использует Microsoft Execution Containers (MXC) — открытую библиотеку команды Windows, которая переводит политику в нативные средства операционной системы. На Windows это уровень BaseContainer бэкенда ProcessContainer, на macOS — Seatbelt, на Linux — bubblewrap; отдельная виртуальная машина или образ контейнера для этих локальных бэкендов не нужны, но в будущем их обещают сделать доступными как опции MXC. По блогу Windows, слой MXC, задающий доступные агенту файлы и сетевые назначения, уже вышел в общую доступность.
Границы обозначены честно: при включённой песочнице команды оболочки, а по умолчанию и локальные серверы Model Context Protocol вместе с языковыми серверами, работают внутри границы процесса; встроенные файловые инструменты выполняются внутри самого Copilot, и его каркас проверяет их запросы по эффективной политике, но это не изоляция дочерних процессов средствами операционной системы; удалённые MCP-серверы тоже вне локальной песочницы, и их политику подключения Copilot проверяет внутри процесса. Настроить параметры можно в любой момент командой `/sandbox` в CLI.
Пример: ежедневный дашборд репозитория
В статье разобран пример задачи: каждое утро читать локальные репозитории, прогонять тесты в рабочих копиях и писать один HTML-отчёт, при этом исходные репозитории должны оставаться доступными только для чтения, а тестовые процессы — без доступа к сети; выбор модели независим, ту же задачу можно выполнить локальной или облачной моделью.
На репозитории `copilot-sdk`, где живёт открытый проект GitHub Copilot Runtime/SDK, переключатель Sandbox new sessions включает песочницу по умолчанию для проекта: текущий рабочий каталог остаётся доступным на чтение и запись, а остальная система — в основном только на чтение или недоступна агенту. Дальше в разделе Automations создаётся автоматизация с запуском ежедневно в 9:00 и инструкциями на естественном языке, а выбранная локальная MAI Code 1.1 Flash вместе с репозиторием с включённой песочницей позволяет агенту работать с ограждениями и генерировать интерактивный дашборд внутри своего рабочего каталога.