Команда AI for Devs подготовила перевод статьи о метрике Percentage of Code Written (PCW) от Windsurf. Эта метрика показывает, какой процент кода в проекте реально пришёл от ИИ. Авторы утверждают: PCW надёжнее привычных показателей вроде acceptance rate и отражает, насколько продукт действительно помогает разработчикам. А как вы думаете — можно ли измерить ценность ИИ в цифрах?


Что такое Percentage of Code Written (PCW)?

Все наши клиенты — независимо от масштаба и отрасли — хотят понимать, получает ли их команда со временем больше пользы от инструментов с ИИ. Это может происходить за счёт обучения, улучшения продукта или просто накопленного опыта работы с инструментом.

Что такое Windsurf? Примечание от команды AI for Des

Для лучшего понимания, кто является клиентами Windsurf, приведём краткое описание самой платформы для тех, кто слышит это название впервые.

Windsurf — это AI-платформа для разработки, которая помогает писать, редактировать и рецензировать код с помощью агентных инструментов прямо в редакторах и IDE.

Именно поэтому мы создали метрику Percentage of Code Written (PCW). Если кратко, она показывает долю кода в репозитории, которую можно отнести к результатам работы ИИ Windsurf. Подробнее о том, как именно мы считаем PCW, расскажем ниже.

В отличие от PCW, большинство метрик, которые публикуют создатели инструментов с ИИ, легко «накрутить». Например, показатель принятия предложений (acceptance rate) можно искусственно повысить, если давать более короткие и частые подсказки или показывать их только в случаях с очень высокой уверенностью — жертвуя при этом предложениями, которые с большой вероятностью всё равно могли бы быть полезны. Ранее мы уже писали о том, что оптимизация под такие показатели часто приводит к решениям, которые на деле никак не повышают эффективность для конечного пользователя.

Главная цель PCW — решить проблему доверия. Мы хотим дать клиентам метрику, которая будет надёжным индикатором продуктивности и которую мы в Windsurf можем улучшить только развивая сам продукт, а не за счёт манипуляций. Логика проста: если PCW растёт, значит, клиент получает больше ценности; если падает — меньше.

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

Вычисление PCW

Чтобы посчитать PCW, мы берем количество новых сохранённых байтов кода, которые можно отнести к принятым результатам работы ИИ Windsurf (например, подсказки при нажатии Tab, сгенерированные команды или каскадные правки), и количество новых сохранённых байтов кода, которые написал сам разработчик вручную. Для простоты назовём первое число (байты от Windsurf) W, а второе (байты от разработчика) — D. Тогда PCW рассчитывается по формуле:

PCW = (100 × W) / (W + D).

Замеры мы делаем в момент коммита. Таким образом, если ИИ сгенерировал большой фрагмент кода, но разработчик удалил его перед коммитом, это не приведёт к искусственному завышению показателя W. Аналогично, если разработчик вручную отредактировал результат работы ИИ, эти байты будут отнесены к разработчику (D), а не к Windsurf. Очевидно, что мы в Windsurf не можем «накрутить» этот показатель. Если мы даём меньше результатов — W падает. Если результаты короче — W (относительно D) также уменьшается. Если результаты хуже — W тоже будет ниже.

При этом есть изменения в коде, которые мы сознательно не относим ни к Windsurf, ни к разработчику (они не увеличивают ни W, ни D). Например, это касается крупных копипастов или перемещения файлов.

Исторический контекст: раньше, из-за ограничений в нашей системе замеров, мы учитывали в W только байты, добавленные из принятых подсказок Tab, и не относили каскадные правки ни к ИИ, ни к разработчику. Начиная с Wave 10 (12 июня 2025 года), в W стало входить и сгенерированное Cascade. Это естественным образом резко повысило значения PCW, так как Cascade действительно генерирует много кода, который принимается и сохраняется (и приносит большую пользу).

Интерпретация PCW

PCW следует рассматривать и анализировать в более длинной перспективе — скорее неделями, чем часами или днями. Когда пользователи только начинают работать с Windsurf, они часто больше всего времени проводят с Cascade, изучая возможности и ограничения системы ИИ. Поэтому в начале значения PCW, как правило, выше, а затем постепенно выравниваются. При этом клиентам стоит ожидать значения PCW на уровне 85% и выше, нередко — 95% и больше. Это не ошибка и не иллюзия, а корректный результат, учитывая методику вычисления метрики. Хотя, конечно, здесь есть ряд оговорок, о которых мы расскажем далее.

Важно подчеркнуть, что эти показатели действительно заметно выше, чем заявляемые конкурентами 30–50% кода, написанного ИИ. Короткий ответ прост: это отражает огромную разницу в ценности между агентными и неагентными системами. В Windsurf наше среднее внутреннее значение PCW составляет 94%. Если разложить по типам опыта, то PCW в редакторе Windsurf (агентный режим) равно 95%, в плагине JetBrains (тоже агентный) — 94%, а во всех остальных плагинах (неагентных) — всего 41%. Как видно, на текущем этапе мы гораздо чаще используем именно агентные платформы. Диапазон 30–50% в целом соответствует значениям PCW, которые большинство клиентов наблюдали до того, как мы включили каскадные правки в расчёт метрики, то есть до учёта агентного вклада.

В то же время мы хотим особо подчеркнуть: у PCW есть ряд ограничений и нюансов, которые важно понимать. Эта метрика задумывалась как надёжный направленный индикатор ценности, но не как абсолютная мера продуктивности. Иными словами, две компании могут иметь одинаковые значения PCW, но при этом фиксировать разный рост реальной продуктивности — как раз из-за этих оговорок. Однако при достаточно длительном периоде измерений (и большом объёме данных) можно доверять тому, что изменения PCW со временем будут отражать и изменения в показателях продуктивности, которые организации используют в своей собственной системе оценки.

Некоторые оговорки включают следующее:

  • Написание кода ≠ разработка ПО. PCW отражает лишь ускорение на этапе написания кода и никак не учитывает время, затраченное на архитектуру, отладку, код-ревью, деплой и множество других этапов. Именно поэтому мы в целом слышим от клиентов, что общий рост продуктивности (по времени цикла PR, story points или другим метрикам, которые они используют) составляет примерно 50% от значения PCW. То есть при PCW в 90% реальный прирост скорости выпуска продукта ближе к 45%. Это также означает, что даже если мы полностью автоматизируем написание кода (что маловероятно), наша цель ускорить разработку на 99% всё равно не будет достигнута. По этой причине мы расширяем наши решения и на другие этапы, например, Windsurf Reviews.

  • ИИ в основном пишет шаблонный и «лёгкий» код. Тот небольшой процент кода, который пишет разработчик, чаще всего является ключевой логикой, требующей непропорционально больше времени, даже если итоговый текст занимает всего несколько строк. Нередко объём шаблонного кода превышает объём основной логики в десятки раз, что и объясняет значения PCW на уровне 90%+.

  • Добавление нового кода не всегда является «правильным» решением. Во многих случаях ценность заключается именно в удалении старого кода, но этот процесс мы пока не умеем корректно отражать. Аналогично, PCW не накладывает «штраф» за подсказки ИИ, которые были приняты, а затем удалены. Поскольку метрика измеряется в момент коммита, такие ситуации считаются как бы отсутствием изменений. Мы считаем, что если это станет массовым явлением, пользователи просто перестанут пользоваться инструментом, и это проявится в общих показателях.

  • Мы измеряем PCW только в момент коммита внутри текущей сессии. Сейчас у нас нет инструментов для измерения показателя между сессиями. Например, разработчик может закоммитить большой объём кода, сгенерированного ИИ, а затем часть удалить или изменить позже. Мы понимаем, что это действительно происходит в какой-то степени. Но опять же, если это будет происходить часто, разработчики перестанут использовать инструмент, так как он создаёт лишнюю работу. По нашим наблюдениям и отзывам, это встречается крайне редко — и в целом подтверждает, что ИИ чаще всего генерирует именно шаблонный, а не сложный логический код.

  • Сейчас при подсчёте PCW мы не разделяем документацию и код. Windsurf, а особенно Cascade, нередко используется для генерации большого объёма документации, и это также увеличивает PCW, даже если речь идёт не о выполняемом коде. Мы считаем, что это не подрывает надёжность PCW как направленного индикатора ценности платформы, при условии, что метрика рассматривается на достаточно длинном промежутке времени.

  • Если отдельные пользователи «вайбкодят» тестовые проекты или внутренние приложения, где нет сложной логики, требующей ручных правок, это может заметно исказить PCW в масштабах всей организации. Сейчас у нас нет точного способа отделить, в каких именно репозиториях и контекстах формируются байты, поэтому тестовые репозитории, особенно в начале пилотных периодов, могут повлиять на цифры. Именно поэтому мы рекомендуем использовать фильтры — например, анализировать данные по конкретным подкомандам или по временным диапазонам.

В целом мы хотим быть максимально прозрачными: PCW — это мощная метрика, она гораздо надёжнее, чем показатели, предлагаемые другими вендорами в этой области. Но это не универсальное решение, с помощью которого можно в одиночку обосновать ценность или ROI. Мы рекомендуем использовать её вместе с другими сигналами: настроениями разработчиков и их качественной обратной связью, динамикой изменения показателя во времени, а также фильтрами, позволяющими понять, как ценность распределяется между разными частями вашей организации. Для удобства PCW доступна через наш аналитический API, так что клиенты могут комбинировать её с другими источниками данных, которые сам инструмент измерить не способен.

Русскоязычное сообщество про AI в разработке

Друзья! Эту статью перевела команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!

Будущее развитие

Мы вложили значительные инженерные усилия в разработку PCW: от атрибуции на уровне символов до отслеживания правок и сравнений изменений во времени. Мы уверены, что PCW можно считать надёжной, направленно точной метрикой, которая меняется только тогда, когда происходят реальные улучшения продукта, растёт его использование или увеличивается опыт работы с ним. Внутри компании мы используем эту метрику уже больше года и видим чёткую корреляцию между изменениями PCW и эволюцией нашего продукта. Тем не менее, с учётом всех оговорок, PCW следует воспринимать именно как прокси-показатель, а не окончательную меру продуктивности. Простор для улучшений здесь всё ещё есть.

Комментарии (0)