Задача
Я написал агента, который за одну ночь переписал 100 тестов с Mockito на MockK. Mockito — стандартная Java-библиотека для создания моков (заглушек зависимостей) в юнит-тестах. MockK — её Kotlin-аналог, лучше интегрирующийся с идиомами языка. Миграция между ними рутинная, но трудоёмкая: нужно переписывать синтаксис аннотаций, вызовов и верификаций в каждом тестовом файле.
Следующей ночью тот же агент исправил 1700 ошибок линтера — статического анализатора кода, который проверяет соответствие кодовой базы принятым стандартам стиля и потенциальные проблемы. 1700 замечаний — это тот объём, который вручную закрывался бы несколько рабочих дней.
Секрет не в промпте
Спойлер: секрет не в крутом промпте, а в правильно выстроенном цикле. Три компонента сделали агента работоспособным: чёткий DoD (Definition of Done — явно сформулированный критерий завершённости задачи), автоматическая проверка результата и обратная связь с моделью по итогам каждой итерации.
Именно замкнутый цикл — сгенерировал → проверил → вернул модели сигнал об ошибках → переделал — позволяет агенту работать без участия человека на протяжении нескольких часов и удерживать качество на всём объёме задачи.