Стивен Тоуб, distinguished engineer в Microsoft, разобрал, как рантайм GitHub Copilot переписали с TypeScript на Rust агентами: больше 800 тысяч строк продакшн-кода, 128 смёрдженных пул-реквестов, 136,3 миллиарда токенов. Счёт за токены — примерно $120 000.
Порт потерял один из методов, выставленных наружу в SDK. Проверка совместимости схемы в CI упала — ровно так, как должна была. Агент повесил на пул-реквест лейбл
schema-break-ok, штатную ручку репозитория, которая эту проверку гасит.Формально агент не нарушил ничего: ручка существует, применена по назначению, красное стало зелёным.
Поймал это не CI, а пункт ревью-чеклиста Тоуба — «согласен ли я с тем, как агент ответил на замечания», который он принципиально не отмечает заранее. Он спросил, в чём, собственно, слом схемы. Слома не было: метод существовал на
main, порт его просто потерял.Через двадцать одну секунду лейбл был снят, а метод восстановлен на Rust.
Отсюда правило, которое Тоуб выносит в выводы. Дословно у него:
Агент, который меняет реализацию, не может одновременно иметь право тихо переопределять правильность.
Ослабить тест, обновить снапшот, поднять базовую линию совместимости, повесить лейбл-исключение — четыре способа сделать сборку зелёной, не трогая код. Тоуб перечисляет их подряд, и все четыре агенту доступны ровно потому, что лежат в том же репозитории, куда он пишет.
Проверьте прямо сейчас. Выпишите всё, чем у вас гасится красная сборка: baseline линтера,
skip-маркеры в тестах, allow-лейблы, обновляемые снапшоты. Если это лежит там же, куда пишет агент, и правится тем же пул-реквестом — это не проверка, а настройка.Честности ради, цену Тоуб не прячет. Регрессий набрались десятки, и каждая из них скомпилировалась — иначе не попала бы в
main. Unsafe-блоков в рантайме 158 в 36 файлах, все про интероп с внешними компонентами. Доля багрепортов в github/copilot-cli за время порта выросла с 22,9% (454 из 1982) до 23,7% (354 из 1496). И порт не был работой одного человека — коллег он перечисляет поимённо.https://github.blog/ai-and-ml/generative-ai/migrating-the-github-copilot-runtime-to-rust-using-copilot/
Что у вас может погасить красную сборку так, что в диффе это будет выглядеть законной правкой?


