GitHub Copilot: как агенты переписали свой рантайм

Артур Хорошев
Артур Хорошев CEO Maya AI · Основатель «Ковчег»
Опубликовано:
Комикс в стиле санбёрст: автономный агент переписывает внутренний рантайм GitHub Copilot

Команда сервиса перевела внутренний рантайм ассистента на новый язык, переложив рутину на собственных автономных агентов. На весь перенос ушло четырнадцать с половиной недель и 128 точечных изменений в коде. На тестовом стенде задержка одного хода сократилась в 18 раз, а расход памяти упал почти в 11 раз. Разберем, как выстроили связку человека и помощников, какие скрытые баги всплыли при сборке и почему скомпилированный код не всегда означает рабочий результат.

Зачем понадобилось трогать работающий код

Внутренний рантайм — это общий фундамент ассистента. На нем работают консольный интерфейс, приложение для рабочего стола, готовые библиотеки и расширения для редакторов кода. Изначально всю логику писали на привычном скриптовом языке под платформу Node.js.

Схема перехода с дочернего процесса на встраиваемый модуль рантайма
Схема перехода с дочернего процесса на встраиваемый модуль рантайма

Со временем архитектура уперлась в потолок. Когда вы подключали библиотеку к программе на C#, Python или Go, она не встраивалась внутрь процесса. Библиотека запускала рядом отдельный консольный процесс и общалась с ним через локальные сообщения.

Каждое клиентское подключение забирало от 100 мегабайт оперативной памяти только на саму среду. Если фоновый узел зависал, сессия мгновенно рвалась. Вручную переписывать такую махину силами инженеров значило заморозить развитие продукта на пару лет.

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

Как агенты переносили систему прямо в рабочую ветку

Инженеры не стали отдавать модели всю кодовую базу одним запросом. Они запустили настольное приложение Copilot и консольный инструмент в режиме автопилота, перенося компоненты по очереди.

Официальная таблица шорткатов терминала GitHub Copilot CLI
Официальная таблица шорткатов терминала GitHub Copilot CLI

Вся работа шла сразу в основной ветке. За три с половиной месяца влили 128 пулл-реквестов. При этом 61% всех вызовов инструментов выполнили автономные субагенты. Они сами читали файлы, проверяли синтаксис и правили нестыковки.

Инфографика соотношения работы автономных агентов и инженера
Инфографика соотношения работы автономных агентов и инженера

Человек управлял архитектурой и границами. Инженер Стивен Тауб отправил 2600 сообщений, направляя работу тридцати тысяч реплик помощников. На проект потратили около 136 миллиардов токенов, а счет за модели составил 120 тысяч долларов.

Если вы проектируете и внедряете сложные агентские цепочки в реальных проектах, заглядывайте в наш телеграм-канал Ковчег или читайте материалы в MAX. А если хотите освоить настройку автоматизаций и прикладных нейросетей шаг за шагом, обратите внимание на практическое обучение по Make и нейросетям.

Компилятор не защитит от логических промахов

Среди новичков популярен миф: если программа на Rust собралась, в ней нет ошибок. Опыт миграции показал обратное. Десятки скрытых багов без проблем прошли компилятор и попали в рабочую ветку.

Строгие типы защищают память, но не проверяют логику. Компилятор спокойно пропускал код с потерянным вызовом метода или значение 42.0 вместо целого числа. Код компилировался начисто, но поведение клиентов ломалось.

При этом строгая проверка владения дала меньше 2% ошибок при сборке. Чаще всего модель спотыкалась на забытых именах или типах полей. Проект спасла не магия языка, а тесты: почти полмиллиона строк модульных проверок и надежные сквозные тесты.

Успешная сборка программы компилятором лишь подтверждает строгое соответствие типам, но совершенно не гарантирует отсутствие скрытых ошибок в поведении.

Что показали замеры на стенде и чего ждать на практике

К концу августа кодовая база насчитывала 832 378 строк на Rust. В официальном блоге GitHub опубликовали результаты испытаний на тестовом стенде.

Официальная таблица GitHub Blog: время одного хода 5.25 с против 292 мс после порта на Rust
Официальная таблица GitHub Blog: время одного хода 5.25 с против 292 мс после порта на Rust

На тестах C# библиотеки время одного цикла сократилось с 5.25 секунды до 292 миллисекунд — ускорение в 18 раз. А расход оперативной памяти на десять клиентов упал с 1383 до 126 мегабайт.

Диаграмма снижения задержки ответа и потребления памяти
Диаграмма снижения задержки ответа и потребления памяти

Но универсального ускорения в 18 раз в вашем проекте не будет. Замеры делали на изолированном стенде с коротким ответом, без реальных запросов к нейросети и сетевых задержек. В боевых условиях время уходит на генерацию токенов моделью.

Главный прирост скорости дает не сам переход на новый язык, а возможность встроить исполняемый модуль прямо в процесс без лишних посредников.

Встраивание внутрь процесса через внешний интерфейс пока остается экспериментальным. По умолчанию библиотеки запускают консольный процесс, как описано в документации Copilot SDK и документации Copilot CLI. Исходники рантайма закрыты, но для изучения открыты репозиторий Copilot CLI и публичный репозиторий Copilot SDK.

Официальная таблица ходов агентского цикла Copilot SDK: поиск, чтение файлов, итоговый ответ
Официальная таблица ходов агентского цикла Copilot SDK: поиск, чтение файлов, итоговый ответ

Вывод простой: агенты способны за недели выполнить колоссальную работу, на которую уходили годы. Но результат зависит от человека, который задает границы и проверяет каждый шаг.

Поделиться статьей:
Telegram VK
Ссылка скопирована в буфер обмена
Артур Хорошев
Автор материала

Артур Хорошев

CEO Maya AI · Основатель «Ковчег»

Делюсь реальным опытом по вайбкодингу, автоматизации процессов в Make.com и созданию ИИ-агентов в Cursor. Автор курса и закрытого клуба «Контент-завод».

Клуб практиков

Создавайте контент и сервисы с помощью ИИ-агентов

В клубе «Контент-завод» — 181 практическое занятие, закрытые эфиры дважды в неделю (веду лично), готовые связки Make.com, MCP-серверы и круглосуточная поддержка.