Главная/Блог/Разбор/ScarfBench: Тест ИИ-агентов на миграции…
Разбор4 мин чтения · 2 июля 2026 г.

ScarfBench: Тест ИИ-агентов на миграции Java-фреймворков

IBM Research представила ScarfBench — бенчмарк для оценки способности ИИ-агентов переносить Enterprise Java-приложения между Spring, Jakarta EE и Quarkus. Реальные результаты показывают, что компиляция ≠ работающее приложение.

ScarfBench: Тест ИИ-агентов на миграции Java-фреймворков

Миграция корпоративных приложений — одна из самых дорогих и сложных задач в разработке. Команды переводят монолиты на новые фреймворки ради облачной готовности и производительности. ИИ-агенты обещают автоматизировать этот процесс, но вопрос остается открытым: могут ли они надежно мигрировать реальные 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 (миграция всего приложения целиком), а не просто отдельных классов. Это позволяет оценить способность агента справляться с каскадными зависимостями.

📌
Статистика датасета. ScarfBench содержит ~2,000 исходных и тестовых файлов. Эксперты вручную создавали эталонные реализации для Spring, Jakarta EE и Quarkus, чтобы обеспечить точную проверку поведения.

02Результаты: Провал «золотого стандарта»

Авторы протестировали передовые коммерческие и open-source ИИ-агенты. Оказалось, что даже самые мощные модели демонстрируют успех на уровне менее 10% по метрике сохранения поведения (behavioral success). Это критически важный инсайт: генерация компилируемого кода не гарантирует работоспособности системы.

Наблюдается четкая иерархия провалов:

  1. Compile success (успех сборки) — самый высокий показатель.
  2. Deploy success (успех деплоя) — значительно ниже.
  3. 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 и сборочных инструментах.
⚠️
Главный вывод исследования. Основная сложность миграции — не перевод Java-кода, а управление сетью зависимостей между конфигурацией, инфраструктурой и средой выполнения. ИИ пока не справляется с этим автономно.

04Как использовать ScarfBench на практике

Для DevOps-инженеров и архитекторов ScarfBench служит инструментом валидации перед внедрением ИИ-ассистентов в production. Если агент не проходит ScarfBench, он, скорее всего, сломает ваш CI/CD пайплайн.

Датасет доступен для локального запуска. Это позволяет проверить свои внутренние модели или проприетарные агенты на реальных сценариях миграции Spring ↔ Jakarta EE ↔ Quarkus.

terminalbash
# Клонирование репозитория 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, что позволяет интегрировать его в существующие пайплайны тестирования.

terminalbash
# Загрузка датасета через huggingface-cli
huggingface-cli download ibm-research/ScarfBench --repo-type dataset

05Кому подойдёт / что запустится

  • Enterprise Java-разработчикам: Используйте ScarfBench как чек-лист перед автоматизацией миграции. Если ваш ИИ-ассистент не проходит тесты на деплой, не доверяйте ему код.
  • DevOps-инженерам: Обратите внимание на проблемы с Docker и Maven. ИИ часто игнорирует нюансы сборки, которые ломают деплой.
  • Исследователям AI: ScarfBench — новый стандарт для оценки агентов в задачах, требующих контекстного понимания архитектуры, а не просто генерации кода.

На данный момент полностью автономная миграция Enterprise-приложений невозможна. ИИ-агенты эффективны как помощники для рутинных задач, но финальная валидация и настройка окружения требуют человека.

Источник: Hugging Face ↗