Релиз модели14 октября 2026 г., 19:46 МСК🤖 Auto

Anthropic Code Modernization: AI-рефакторинг легаси с верификацией

Anthropic выпустила официальный плагин для Claude, который не просто переписывает старый код, но и предоставляет математически строгое доказательство сохранения бизнес-логики через независимую верификацию.

Баннер новости 9648

Проблема «тихого провала» при рефакторинге

Ключевая проблема автоматизированного рефакторинга — ложное чувство безопасности. Новый код может проходить тесты, написанные для старого, но вести себя иначе на неочевидных входных данных. Anthropic решает это через плагин code-modernization, который внедряет процесс proof-of-behavior (доказательство поведения). Плагин не доверяет мнению модели, а использует скриптовую проверку, сравнивая байты выходных данных старой и новой систем.

Три стратегии модернизации

Плагин поддерживает три сценария работы с кодовой базой, от простого обновления зависимостей до полной перестройки архитектуры. Выбор стратегии зависит от объема изменений, необходимых для совместимости:

Команда Сценарий Что происходит
uplift Обновление версии (например, .NET Framework → .NET 8) Код сохраняется, исправляются только ломающие изменения. Использует каталог брейкинг-чейнджей.
transform Перенос модуля на новую технологию Идиоматический перепис модуля при сохранении работающей старой системы. Требует пошагового утверждения плана.
reimagine Реконструкция на новой архитектуре Генерация спецификации из кода, создание микросервисов с исполняемыми acceptance-тестами.

Механика верификации: как работает «Proof»

После сборки нового кода запускается команда modernize-verify. Она не просто запускает тесты, а проводит стресс-тестирование на основе эвристик:

  • Сравнение на одних и тех же данных: Старая и новая версии запускаются на одних и тех же входных данных. Скрипт сравнивает вывод посимвольно, маскируя только неизменяемые поля (таймстампы, ID).
  • Генерация «враждебных» входных данных: Система генерирует минимум 10 новых тестовых случаев (границы, пустые значения, некорректные форматы), которые модель могла упустить. Если новый код проходит только на «любимых» данных, он помечается как непроверенный.
  • Canary-тесты: В код намеренно вносится однострочная ошибка, чтобы убедиться, что система тестирования способна отловить регрессию.

Результаты и статусы

Каждый модуль получает один из трех вердиктов, вычисляемых на основе текущих доказательств:

  • PROVEN: Все критические бизнес-правила (P0) подтверждены прошедшими тестами.
  • PARTLY PROVEN: Частичное совпадение (например, если старая система недоступна для запуска, верификация идет по записанным логам).
  • NOT PROVEN: Тесты не запускались, есть расхождения или сбой.

Безопасность и контроль

Плагин не редактирует исходный код легаси. Все изменения пишутся в папки analysis/ и modernized/. Процесс требует участия человека в 6 ключевых точках: подтверждение готовности окружения, исправление неверных бизнес-правил, утверждение плана модернизации, принятие расхождений в тестах, подпись акта верификации и применение патчей безопасности. Это делает инструмент пригодным для enterprise-сред, где автоматизация не заменяет ответственность архитектора.

Источник: Github ↗