Achieving Productivity Gains with AI-based IDE features: A Journey at Google
Статья (arXiv, 27 января 2026) описывает, как в Google доводили до измеримого эффекта две AI‑фичи внутренней IDE: автодополнение кода и natural‑language редактирование (Transform Code). Главная идея — продуктивность растет не «от модели», а от системной работы по всему стеку: UX, латентность, качество подсказок и измерение эффекта.
Методология и данные
1 блокКейс-стади внедрения AI-фич в IDE в Google с итерациями по UX/латентности/качеству на основе онлайн A/B экспериментов. Для code completion оптимизируются caching, контекст и serving (в т.ч. speculative decoding); ключевые метрики — acceptance rate и FCML. Для Transform Code оптимизируются discoverability, визуализация diff и SFT на пользовательских rewrites. Для оценки эффекта на продуктивность используется Difference-in-Differences (Callaway & Sant’Anna) по логам инженерной работы.
Ключевые результаты
4 блокаЧто исследуют
Фрагмент из раздела отчета
Авторы разбирают две зрелые функции, которыми пользуются тысячи ежедневных пользователей внутри компании:
Как измеряют качество и «влияние»
Фрагмент из раздела отчета
Для code completion используют две метрики:
Code completion: что улучшали
Фрагмент из раздела отчета
В статье показано, что рост качества модели сам по себе недостаточен: большие модели упираются в латентность и стоимость. Поэтому основной фокус — инженерные оптимизации, которые увеличивают число показанных/принятых подсказок без роста раздражения пользователей.
Code completion: результаты
Фрагмент из раздела отчета
После внедрения adaptive caching:
Подробности из отчетаПоказатьСкрыть
Статья (arXiv, 27 января 2026) описывает, как в Google доводили до измеримого эффекта две AI‑фичи внутренней IDE: автодополнение кода и natural‑language редактирование (Transform Code). Главная идея — продуктивность растет не «от модели», а от системной работы по всему стеку: UX, латентность, качество подсказок и измерение эффекта.
Что исследуют
Авторы разбирают две зрелые функции, которыми пользуются тысячи ежедневных пользователей внутри компании:
- AI‑code completion: предсказание продолжения кода в месте курсора (от нескольких слов до нескольких строк).
- Transform Code (TC): редактирование кода по текстовому промпту (inline‑edit), с выдачей правки в компактном diff‑формате.
Как измеряют качество и «влияние»
Для code completion используют две метрики:
- Acceptance rate: доля принятых подсказок среди принятых + отклоненных (отклонение считается только если подсказка была видна пользователю ≥750 ms).
- FCML (fraction of code written by ML): доля символов, пришедших из принятых AI‑подсказок, относительно суммы принятых AI‑символов + введенных вручную + небольших paste (до 1000 символов, исключая full‑file pastes).
Для Transform Code дополнительно отслеживают промпты/активации и скорость ревью предложенной правки.
Code completion: что улучшали
В статье показано, что рост качества модели сам по себе недостаточен: большие модели упираются в латентность и стоимость. Поэтому основной фокус — инженерные оптимизации, которые увеличивают число показанных/принятых подсказок без роста раздражения пользователей.
Ключевые приемы:
- Adaptive caching и переиспользование результатов между соседними запросами (важно для «локальной стабильности» подсказок при наборе).
- Ограничение tail‑латентности и стоимости: лимиты на input/output токены и компактные форматы контекста/предсказаний.
- Speculative decoding + SFT на качественных данных, чтобы удержать качество при меньшем «базовом» размере модели.
- Оптимизация контекста в промпте: выбор/ранжирование релевантных фрагментов и их «рендеринг» с учетом вложенных scope (класс/функция), чтобы модель видела смысловую рамку.
Code completion: результаты
После внедрения adaptive caching:
- cache hit rate 35%
- p50‑латентность −9%, p90 −2%
- acceptance rate +17%
- FCML +41% (относительный рост)
Оптимизация контекста в A/B (2,5k+ пользователей на группу, 2 недели) дала +5% к acceptance rate и +11% к FCML, но увеличила латентность (median +46%) и снизила число показанных подсказок (−5%).
Итоговые метрики для code completion (март 2025, 4 недели):
- FCML 28,7%
- Acceptance rate 45%
- 62 символа в среднем добавляется на одно принятие
Transform Code: UX, качество и обучение на «реальном» распределении
Transform Code предназначен для небольших правок и использует Gemini‑модели, обученные на внутреннем коде. Вывод — diff‑подобная правка, которую IDE применяет по «якорным» строкам.
Ключевые проблемы:
- discoverability (пользователь должен понять, когда и как вызвать функцию),
- удобство ревью больших диффов,
- разрыв между «идеальным» тренировочным кодом и work‑in‑progress кодом в IDE.
Transform Code: результаты
UX‑эксперимент для discoverability (10k+ пользователей на группу, 1 месяц):
- общее число промптов +40%
- число пользователей, отправивших хотя бы один промпт, +64%
- триггеры через shortcut из меню +19%
Улучшение отображения диффа:
- время ревью −7%
- acceptance rate +2,2% (и +4,5% для крупных диффов >133 символов)
Обучение на пользовательских rewrites:
- офлайн: ChrF (median) 84,5 → 88,8, нерелевантные правки в других файлах 13 → 0
- онлайн A/B: acceptance rate 55% → 63% (SFT на ~400 rewrites)
После итераций:
- acceptance rate 68%
- 11 промптов на пользователя в неделю (в среднем)
- latency < 1 s end‑to‑end (в среднем)
Измерение продуктивности: causal inference
Авторы отдельно показывают, как измеряли «настоящий» эффект (не только proxy‑метрики) для Transform Code: Difference‑in‑Differences (Callaway & Sant’Anna) на логах инженерной работы.
- treatment: 36k разработчиков, которые начали использовать TC в 2024
- control: 18k разработчиков, которые не начали использовать TC к декабрю 2024
- окно анализа: ноябрь 2023 — декабрь 2024
Основной эффект:
- рост throughput (CLT) +17,5% (95% CI [15,9%, 19,0%])
- сокращение длительности «investigation sessions» −3,6% (CI [−3,9%, −3,2%])
- Active Coding Time на один CL (с учетом размера CL) — без статистически значимого эффекта
Ограничения
- Данные и инструменты — внутренние для Google; переносимость выводов зависит от процессов, репозиториев и инфраструктуры.
- Часть измерений — proxy‑метрики (FCML, acceptance); «настоящий» causal‑анализ показан для Transform Code, но не для автодополнения.