Google31 мая 2023 г.МирИнструментированные логи разработки Google (монорепозиторий), задачи редактирования/билда/тестов/ревью; внутренние инструменты Comment Resolution, Build Repair и Tip Prediction

Large sequence models for software development activities

Пост Google Research (31 мая 2023) описывает DIDACT (Dynamic Integrated Developer ACTivity) — подход к обучению больших последовательностных моделей на «видео разработки»: логах действий разработчика и инструментов (редактирование, билды, тесты, ревью). Вместо обучения только на финальном коде, модель учится предсказывать следующие действия в контексте и поддерживать разные этапы SDLC.

ТелеметрияЭкспериментКейс-стадиОткрыть источник

Методология и данные

1 блок

Обучение multi-task последовательностной модели DIDACT на логах процесса разработки: формализм State–Intent–Action и DevScript для действий (правки, комментарии, rename и др.); использование инструментированных сигналов (code review, билды/тесты/линтеры) и демонстрация chaining для более длинных траекторий; внедрение внутренних ассистентов в workflow.

ТелеметрияЭкспериментКейс-стади

Ключевые результаты

4 блока

Источник данных: «видео» инженерной работы

Фрагмент из раздела отчета

DIDACT опирается на инструментированные логи разработки в экосистеме Google: взаимодействия разработчиков с кодом, ревьюерами и инструментами превращаются в пары «контекст → действие», на которых можно учить модель.

Формализм State–Intent–Action и DevScript

Фрагмент из раздела отчета

Чтобы объединить разные виды задач, авторы вводят общий формат: State (фрагмент кода), Intent (аннотации задачи — например, комментарии ревью или сообщения компилятора) и Action (что нужно сделать).

Какие задачи покрывает DIDACT

Фрагмент из раздела отчета

Модель обучается как multi‑task ассистент, который предсказывает действия разработчика в разных ситуациях.

Внедрение: внутренние инструменты

Фрагмент из раздела отчета

Авторы описывают три внутренних инструмента на базе DIDACT, встроенных в разные этапы workflow: Comment Resolution, Build Repair и Tip Prediction. По их словам, инструменты получили позитивную обратную связь от тысяч внутренних разработчиков.

Подробности из отчетаПоказать

Пост Google Research (31 мая 2023) описывает DIDACT (Dynamic Integrated Developer ACTivity) — подход к обучению больших последовательностных моделей на «видео разработки»: логах действий разработчика и инструментов (редактирование, билды, тесты, ревью). Вместо обучения только на финальном коде, модель учится предсказывать следующие действия в контексте и поддерживать разные этапы SDLC.

Источник данных: «видео» инженерной работы

DIDACT опирается на инструментированные логи разработки в экосистеме Google: взаимодействия разработчиков с кодом, ревьюерами и инструментами превращаются в пары «контекст → действие», на которых можно учить модель.

  • Код живет в монорепозитории; изменения разворачиваются в локальных рабочих копиях, проходят диалог в системе code review и завершаются мержем.
  • Помимо ревью, в «диалог» входят компилятор, тесты, линтеры и другие проверки, которые дают сигналы для следующих действий.

Формализм State–Intent–Action и DevScript

Чтобы объединить разные виды задач, авторы вводят общий формат: State (фрагмент кода), Intent (аннотации задачи — например, комментарии ревью или сообщения компилятора) и Action (что нужно сделать).

  • Action выражается через мини‑язык DevScript (правки, комментарии, rename и т.п.), что делает предсказания короче, интерпретируемее и не требует «перепечатывать» весь файл после изменения.

Какие задачи покрывает DIDACT

Модель обучается как multi‑task ассистент, который предсказывает действия разработчика в разных ситуациях.

  • исправление сломанной сборки (build repair),
  • предсказание и обработка комментариев code review,
  • переименование переменных,
  • правки в файлах и «доводка» перед отправкой изменений (pre‑submit cleanup),
  • history‑augmented code completion и более общий режим edit prediction (выбор следующего места правки).

Внедрение: внутренние инструменты

Авторы описывают три внутренних инструмента на базе DIDACT, встроенных в разные этапы workflow: Comment Resolution, Build Repair и Tip Prediction. По их словам, инструменты получили позитивную обратную связь от тысяч внутренних разработчиков.

От подсказок к агентности: chaining и history augmentation

Отдельно показывается, как модель можно использовать «агентно»: промптить префиксами активности и цепочками предсказаний раскатывать более длинные траектории действий. История недавних правок помогает модели точнее продолжать работу (например, дополнять документацию и согласованно менять код после изменения параметров).

Ограничения

  • Работа основана на внутренней инструментированной среде и данных Google; переносимость выводов на другие процессы и репозитории требует осторожности.
  • В посте упор сделан на методологию и примеры; подробные открытые метрики качества и сравнения с внешними бенчмарками ограничены.