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; переносимость выводов на другие процессы и репозитории требует осторожности.
- В посте упор сделан на методологию и примеры; подробные открытые метрики качества и сравнения с внешними бенчмарками ограничены.