«Чистый контур»: как переписать легаси агентом и не утонуть
Агенты лепят заплатки поверх заплаток, пока код не превращается в кашу. Разбираем подход, при котором агент не видит старую реализацию.
Типичная картина: два из трёх вызовов API возвращают 500, агенты поколениями накладывают заплатки, и код перестаёт понимать даже автор. Вместо очередной правки инженер перенёс систему в «чистый контур» — среду, где агент пишет новую реализацию, не видя старой.
В чём идея
Если показать модели старый код, она будет его чинить: сохранять структуру, тянуть старые решения и повторять те же ошибки. Если дать только контракт — что функция должна принимать, что возвращать и какие у неё ограничения — модель пишет заново, без наследственных болезней.
Контракт можно собрать из тестов, схем и описания бизнес-правил. Это и есть главная работа: не «попросить агента переписать», а сформулировать, что именно должно получиться.

Почему это работает
Агент без старого кода не воспроизводит случайные решения. Он решает задачу по описанию, и в половине случаев решение оказывается проще исходного — просто потому, что никто не тащил в него исторический мусор.

Где это ломается
- Контракт неполный: тесты покрывают 40% поведения, остальное агент додумывает.
- Нет приёмки: новую реализацию не с чем сравнить, кроме «кажется, работает».
- Слишком большой кусок: одна функция — да, модуль — уже рискованно.
Практический вывод
Метод годится не для «переписать всё», а для точечной замены того, что уже не чинится. Начинать стоит с одной функции, у которой есть хорошие тесты: там контракт уже написан, и результат можно проверить автоматически.