Что это
Рефакторинг - переделка кода, после которой продукт работает ровно так же, как до неё. Снаружи ничего не меняется. Внутри файл на тысячу строк разложен на понятные части, одинаковые куски собраны в один, а названия говорят, что делают. Нужно это, чтобы следующие правки давались легко.
Когда он нужен
Код, который агент наращивал слоями, со временем слипается в монолитную плиту. Всё завязано на всё, мелкая правка ломает соседнюю функцию, агент на каждую задачу читает по двадцать файлов. Это сигнал. Ради красоты я не переделываю: видел, как опытные разработчики увлекаются чистотой кода и так и не доходят до работающего продукта. Берусь, когда старое устройство мешает сделать следующую функцию.
Как делать с агентом
Перед началом - коммит, чтобы было куда откатиться. Потом тесты на то, что уже работает: после переделки они должны остаться зелёными. И рефакторинг - отдельной задачей. Агент любит заодно переписать соседний код, пока чинит ошибку, и потом не разберёшь, что сломало продукт.