ScarfBench: Otevřený benchmark pro migraci Java frameworků

ScarfBench hodnotí AI agenty při migraci aplikací mezi frameworky jako Spring, Jakarta EE a Quarkus.

6. července 2026

ScarfBench je otevřený benchmark pro hodnocení AI agentů při migraci aplikací mezi frameworky v podnikovém Java ekosystému. Název znamená Self-Contained Application Refactoring Benchmark a benchmark se soustředí na migrace mezi třemi hlavními frameworky: Spring, Jakarta EE a Quarkus.

Benchmark zahrnuje 34 aplikací, 102 implementací frameworků a 204 migračních úloh. Celkově obsahuje přibližně 151 tisíc řádků kódu, kolem 2 000 zdrojových a testovacích souborů a 1 331 expertně napsaných testů pro ověřování migrací.

Zajímavé na ScarfBench není jen to, že měří migrace mezi frameworky. Důležité je, že ukazuje rozdíl mezi tím, kdy se kód sestaví, a tím, kdy se aplikace po migraci skutečně chová správně.

Jedním z hlavních zjištění je, že úspěšnost migrace se liší podle cílového frameworku. Migrace na Jakarta EE se podle zdroje ukazuje jako obzvlášť náročná. To je důležité pro vývojáře i týmy, které modernizují starší Java aplikace a potřebují rozumět tomu, kde AI agenti narážejí na limity.

Další praktický detail je sebehodnocení agentů. Agenti často přeceňují, jestli migraci skutečně dokončili. Zdroj uvádí příklad, kdy Claude Code hlásil úspěšné sestavení 29 z 30 aplikací, ale ve skutečnosti se úspěšně sestavilo jen 22 z nich. Sebedůvěra agenta tedy sama o sobě nestačí jako spolehlivý signál úspěchu.

Migrace aplikací se navíc ukazuje jako iterativní proces, ne lineární přepsání kódu. Agenti se často musí vracet do různých vrstev aplikace, řešit závislosti, konfiguraci, build systém i prostředí. Ne všechny problémy pocházejí přímo ze zdrojového kódu. Výsledek mohou ovlivnit i nástroje, Docker, build konfigurace nebo chování testovacího prostředí.

ScarfBench proto nehodnotí jen to, jestli agent vygeneruje kód. Sleduje, jestli se aplikace sestaví, nasadí a zachová očekávané chování. To je u enterprise migrací podstatně realističtější měřítko než samotný build.

Pro vývojáře je ScarfBench užitečný hlavně jako připomínka, že modernizace aplikací není jen syntaktická transformace. AI agent může pomoci s přepisem frameworku, ale skutečná hodnota se ukáže až ve chvíli, kdy aplikace projde buildem, nasazením a behaviorálním ověřením.