🤖 10 месяцев Copilot Coding Agent в dotnet/runtime.
Стивен Тауб накатал статью с цифрами, и там есть над чем подумать.
Короче, команда .NET взяла GitHub Copilot и 10 месяцев натравливала его на свой главный репозиторий — dotnet/runtime. Это не какой-то pet-project, это рантайм дотнета, один из самых сложных опенсорс-репо в мире. И вот что получилось.
🟢878 PR создал агент.
🟢535 смержили.
🟢Это 67.9% success rate. Для сравнения — у людей из Microsoft 87.1%, у комьюнити 79.7%. А revert rate — 0.6%, у людей 0.8%. То есть то что проходит ревью — держится не хуже человеческого кода.
Всего же за 10 месяцев было вмержено 3,960 ПРов. То есть агенты за это время создали 22% примерно
🚘 На чём агент хорош, а на чём буксует:
1️⃣ Удаление мёртвого кода ☠️, клинап — 84.7% success rate. Ну логично, задача механическая, контекст понятный.
2️⃣ Тесты — 75.6%. Тоже норм, паттерны повторяемые.
3️⃣ Баг-фиксы — 69.4%. Уже интереснее, тут нужно понимание кодовой базы.
4️⃣ Перформанс — 54.5%. 🔽 Самый низкий показатель. Микроархитектура процессора, кеш-лайны, branch prediction — это пока слишком для агента.
Мне стало интересно посмотреть на картину шире —
❓ “А насколько вообще агенты ускоряют разарботку в dotnet/runtime?” И посмотрел статистику ПРов по годам:
2020 — 6,968
2021 — 7,391
2022 — 7,607
2023 — 7,795 (пик)
2024 — 6,894
2025 — 5,509
С 2020 по 2023 стабильный рост. Потом резкое падение. В 2025 из 5,509 смерженных PR около 535 — от агента. При этом, чисто человеческих ~4,974 — ниже уровня 2020 года.
Может PR просто стали жирнее? Тоже проверил. Средний размер PR в 2023-2024 — 150-180 добавленных строк. В 2025 — 84. PR стали мельче. Причин может быть куча — проект созрел, людей перекинули на другие репо, изменился скоуп. Но цифры любопытные, выводы оставлю вам. 🍷
Ещё одна жирная цифра — средний возраст issue, которые закрывал агент, 382 дня. Больше года! Это тот самый бэклог, до которого у умных людей руки не доходят годами. Агент не устаёт и не прокрастинирует. Вот тут реальная польза!
Но вот где начинается самое интересное. Тауб описывает кейс: сидит в самолёте, с телефона за пару часов открывает 9 PR. Круто? Да просто охуенно! Только потом на ревью этих PR ушло 5-9 часов человеческого времени. Генерить код агент может быстрее, чем люди успевают проверять.
У нас на работе ровно та же история. Сейчас и продакт, и фронтендер могут открыть PR в бэк — и иногда прокатывает, можно просто мержить. Но недавно прилетел один такой PR, и я на него убил два дня. Проблема была не в качестве кода — код-то рабочий. Проблема в том, что агент не знал про наши планы. Мы собирались переезжать на новую структуру, и нужна была обратная совместимость — а это как раз была самая жирная часть задачи. Агент её просто проигнорировал, потому что откуда ему знать.
И вот это, кажется, главный вывод из всей этой истории. Планы — это всё ещё чисто человеческая штука. Их сложно запромптить, потому что они меняются буквально на ходу. Вчера мы переезжаем на новую структуру, сегодня заморозили, завтра опять поехали. Пока не очень понятно, что с этим делать. Как минимум — заносить свои планы в AGENTS.md или аналоги. Думаю, хотя бы часть таких ситуаций это снимет. Но серебряной пули нет.
Короче, агенты даже в сложных репо реально полезны для механической работы и разгребания бэклога. Но ревью никуда не девается, а планирование — тем более. Скорость генерации кода перестаёт быть узким местом. Узкое место теперь — голова человека, который должен понять, туда ли мы вообще едем.
Статья: https://devblogs.microsoft.com/dotnet/ten-months-with-cca-in-dotnet-runtime/
Post #390
496
- 👍 6
- 🔥 2
- 😎 1