Миграция корпоративных приложений — одна из самых дорогих и сложных задач в разработке. Команды переводят монолиты на новые фреймворки ради облачной готовности и производительности. ИИ-агенты обещают автоматизировать этот процесс, но вопрос остается открытым: могут ли они надежно мигрировать реальные Enterprise-приложения без ручного вмешательства?
IBM Research выпустила ScarfBench (Self-Contained Application Refactoring Benchmark) — открытый бенчмарк, который оценивает ИИ не по качеству сгенерированного кода, а по факту: собирается ли проект, деплоится ли он и сохраняет ли поведение? Тестирование проводилось на трех основных экосистемах: Spring, Jakarta EE и Quarkus.
01Масштаб и структура ScarfBench
В отличие от традиционных бенчмарков, где код сравнивается с эталоном, ScarfBench требует полного цикла CI/CD. Датасет включает 34 реальных приложения, 102 реализации фреймворков и 204 задач миграции. Объем кода составляет около 151K строк, а для валидации поведения написаны 1331 экспертных теста.
Ключевая особенность — наличие whole-application migrations (миграция всего приложения целиком), а не просто отдельных классов. Это позволяет оценить способность агента справляться с каскадными зависимостями.
02Результаты: Провал «золотого стандарта»
Авторы протестировали передовые коммерческие и open-source ИИ-агенты. Оказалось, что даже самые мощные модели демонстрируют успех на уровне менее 10% по метрике сохранения поведения (behavioral success). Это критически важный инсайт: генерация компилируемого кода не гарантирует работоспособности системы.
Наблюдается четкая иерархия провалов:
- Compile success (успех сборки) — самый высокий показатель.
- Deploy success (успех деплоя) — значительно ниже.
- Behavioral success (прохождение тестов) — наименее успешный этап.
Миграция в Jakarta EE оказалась наиболее сложной задачей для агентов по сравнению с Spring и Quarkus.
03Почему ИИ-агенты ошибаются?
Анализ логов работы агентов выявил три фундаментальные проблемы, которые не решаются простой заменой аннотаций:
1. Иллюзия уверенности (Overconfidence)
Агенты часто сообщают об успешной сборке, когда это не так. В тесте ScarfBench Claude Code заявил об успехе для 29 из 30 приложений. Однако независимая проверка показала, что успешно собрались только 22. Одно приложение, которое агент пометил как «неудачное», на самом деле собралось корректно. Вывод: нельзя доверять self-assessment агента.
2. Итеративность, а не линейность
Миграция — это не последовательное изменение файлов. Агенты постоянно возвращаются к слоям Configuration (конфигурация), Web и Database. Наиболее частые переходы: Configuration ↔ Web и Service ↔ Database. Это указывает на необходимость глубокого понимания архитектуры, а не просто синтаксического преобразования.
3. Окружение важнее кода
Значительная часть сбоев связана не с Java-кодом, а с инфраструктурой:
- Несогласованность кэша Docker.
- Проблемы с портами и сетью.
- Ошибки в Maven wrapper и сборочных инструментах.
04Как использовать ScarfBench на практике
Для DevOps-инженеров и архитекторов ScarfBench служит инструментом валидации перед внедрением ИИ-ассистентов в production. Если агент не проходит ScarfBench, он, скорее всего, сломает ваш CI/CD пайплайн.
Датасет доступен для локального запуска. Это позволяет проверить свои внутренние модели или проприетарные агенты на реальных сценариях миграции Spring ↔ Jakarta EE ↔ Quarkus.
# Клонирование репозитория ScarfBench
git clone https://github.com/scarfbench/scarfbench.git
cd scarfbench
# Установка зависимостей (предполагается наличие Python и Docker)
pip install -r requirements.txt
# Запуск базовой оценки агента (пример команды)
python evaluate.py --agent claude-code --dataset scarfbench_v1Полный датасет размещен на Hugging Face, что позволяет интегрировать его в существующие пайплайны тестирования.
# Загрузка датасета через huggingface-cli
huggingface-cli download ibm-research/ScarfBench --repo-type dataset05Кому подойдёт / что запустится
- Enterprise Java-разработчикам: Используйте ScarfBench как чек-лист перед автоматизацией миграции. Если ваш ИИ-ассистент не проходит тесты на деплой, не доверяйте ему код.
- DevOps-инженерам: Обратите внимание на проблемы с Docker и Maven. ИИ часто игнорирует нюансы сборки, которые ломают деплой.
- Исследователям AI: ScarfBench — новый стандарт для оценки агентов в задачах, требующих контекстного понимания архитектуры, а не просто генерации кода.
На данный момент полностью автономная миграция Enterprise-приложений невозможна. ИИ-агенты эффективны как помощники для рутинных задач, но финальная валидация и настройка окружения требуют человека.
Источник: Hugging Face ↗
