SYNAPSE
EN
Разборы

«Чистый контур»: как переписать легаси агентом и не утонуть

Агенты лепят заплатки поверх заплаток, пока код не превращается в кашу. Разбираем подход, при котором агент не видит старую реализацию.

«Чистый контур»: как переписать легаси агентом и не утонуть

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

В чём идея

Если показать модели старый код, она будет его чинить: сохранять структуру, тянуть старые решения и повторять те же ошибки. Если дать только контракт — что функция должна принимать, что возвращать и какие у неё ограничения — модель пишет заново, без наследственных болезней.

Контракт можно собрать из тестов, схем и описания бизнес-правил. Это и есть главная работа: не «попросить агента переписать», а сформулировать, что именно должно получиться.

В чём идея

Почему это работает

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

Почему это работает

Где это ломается

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

Практический вывод

Метод годится не для «переписать всё», а для точечной замены того, что уже не чинится. Начинать стоит с одной функции, у которой есть хорошие тесты: там контракт уже написан, и результат можно проверить автоматически.

↗ Первоисточник: Habr