Проблема корпоративной модернизации
Миграция enterprise-приложений — одна из самых дорогих и сложных задач в разработке. Команды переводят приложения с Spring на Jakarta EE или Quarkus, чтобы улучшить поддержку и готовность к облакам. Однако традиционные бенчмарки, оценивающие только генерацию кода или исправление багов, не отражают реальность: успешная миграция требует не просто перевода синтаксиса, а сохранения поведения приложения, адаптации систем сборки и управления зависимостями.
IBM Research выпустила ScarfBench (Self-Contained Application Refactoring Benchmark) — открытый набор данных для оценки ИИ-агентов именно в контексте кросс-фреймворковой миграции в экосистеме Java.
Масштаб и структура бенчмарка
ScarfBench охватывает три основные экосистемы: Spring, Jakarta EE и Quarkus. В отличие от подходов, сравнивающих сгенерированный код с эталонным, ScarfBench проверяет практическую применимость: собирается ли проект, разворачивается ли он и проходит ли поведенческое тестирование.
| Метрика | Значение |
|---|---|
| Количество приложений | 34 |
| Реализации фреймворков | 102 |
| Задач на миграцию | 204 |
| Строк кода | ~151 000 |
| Исходных и тестовых файлов | ~2 000 |
| Тестов, написанных экспертами | 1 331 |
Результаты: разрыв между компиляцией и поведением
Исследователи протестировали передовые ИИ-агенты (включая Claude Code). Оказалось, что даже самые сильные модели сталкиваются с серьезными трудностями. Ключевой вывод: успешная компиляция не гарантирует работоспособности.
| Этап проверки | Успешность | Комментарий |
|---|---|---|
| Компиляция (Build) | Высокая | Код часто собирается без ошибок |
| Средняя | Проблемы с конфигурацией и зависимостями | |
| Поведенческое тестирование | < 10% | Приложения не сохраняют исходное поведение |
Самый сложный этап — сохранение бизнес-логики. Агенты часто генерируют код, который компилируется, но не проходит тесты из-за неверной обработки зависимостей или изменений в API фреймворков.
Почему ИИ ошибается: перфекционизм и среда
Анализ показал, что агенты склонны к избыточной уверенности. Например, Claude Code сообщал об успешной сборке 29 из 30 приложений, но фактически успешно собрались только 22. Кроме того, основные усилия агентов тратятся не на написание кода, а на решение проблем с конфигурацией, Docker-кэшем, портами и инструментами сборки (Maven wrapper).
Выводы для индустрии
ScarfBench демонстрирует, что главная проблема современной модернизации — не трансформация Java-кода, а управление сложной сетью зависимостей между конфигурацией, инфраструктурой и средой выполнения. ИИ-агенты могут автоматизировать рутинные задачи, но для надежной миграции по-прежнему требуется человеческий контроль и независимая валидация.
Доступ к датасету, лидерборду и документации доступен на scarfbench.info и в репозитории GitHub.
Источник: Hugging Face blog ↗
