Уявіть, що вам передали набір функцій без коментарів, без документації, без git-history. Що робить цей алгоритм? Навіщо ось ця петля? Чому тут магічне число 0x7FFFFFFF? Традиційно така задача — доля досвідченого інженера з кавою й терпінням. AI-дослідники запитали: а що якщо доручити це мовній моделі?
Відповіддю став RevengeBench — новий інструмент для оцінки здатності великих мовних моделей виконувати зворотній аналіз коду. За даними arXiv, бенчмарк перевіряє не просто здатність «прочитати» код, а відновити намір алгоритму — зрозуміти, що він робить, навіщо, і як це описати або відтворити в іншому контексті.
Для AI-білдерів це не академічна новина. Зворотній інжиніринг коду — ключова компетенція для security-агентів, інструментів міграції легасі, code-review ботів і мультиагентних систем, де одному агенту потрібно зрозуміти дії іншого.
Чому зворотній аналіз — нетривіальна задача для LLM
Стандартні кодові бенчмарки перевіряють генерацію: «напиши функцію, що сортує масив». Зворотній аналіз — протилежна задача: «ось функція — поясни, що вона робить, і відтвори її в іншому контексті». Це принципово складніше.
LLM тренуються на мільярдах рядків коду й «бачили» тисячі патернів. Але там, де людина-ревʼюер може подивитись на контекст, запитати автора або дослідити тести, модель має лише поточний знімок синтаксису. Вона має відновити намір з артефакту — як детектив, якому залишили сліди, але не мотив.
RevengeBench структурує цей виклик через конкретні категорії завдань:
- Розпізнавання класичних алгоритмів у замаскованій або переписаній формі
- Відновлення бізнес-логіки з обфускованого або мінімізованого коду
- Пояснення поведінки в крайніх випадках (edge cases), яких немає в тестах
- Транспіляція — генерація еквівалентного коду в іншій мові зі збереженням семантики
Чим RevengeBench відрізняється від інших бенчмарків
Ключова проблема більшості LLM-бенчмарків для коду — субʼєктивна оцінка. «Чи правдоподібно звучить пояснення?» — неправильне питання, адже моделі майстерно генерують впевнені, але хибні відповіді.
RevengeBench вирішує це через верифікацію виконанням: модель не тільки пояснює алгоритм, але й генерує код, який проходить набір ексклюзивних тест-кейсів. Якщо код не проходить тести — пояснення хибне, незалежно від того, наскільки переконливо воно звучить. Це різка межа між «виглядає правильно» і «є правильним».
Такий підхід виявляє несподівані прогалини. Моделі, що домінують на HumanEval або MBPP, не обовʼязково лідирують на RevengeBench — задача розуміння і задача генерації активують різні компетенції.
Практичне значення для AI-білдерів
Для тих, хто будує продукти поверх LLM, RevengeBench відкриває кілька прямих застосувань:
- Security-аудит легасі. Корпоративні системи часто містять код без документації. Модель із сильними реверс-здібностями стає першою лінією аналізу — не замінюючи, але суттєво прискорюючи роботу security-інженера.
- Автоматична міграція. Якщо модель розуміє намір коду на COBOL або старому PHP, вона може генерувати Python-еквівалент із реальним розумінням, а не поверхневим патерн-матчингом.
- Інтроспекція агентів. У мультиагентних системах один агент може виконати дію, яку важко інтерпретувати. Модель із реверс-компетенцією здатна прочитати слід виконання і пояснити рішення агента.
- Дебаггінг пайплайнів. LLM-ланцюжки іноді видають несподівані результати. Реверс-аналіз проміжних виходів — новий підхід до розуміння поведінки системи без ручного трасування.
Висновок AiiN
RevengeBench вимірює здатність, яка довго вважалась «занадто людською» для автоматизації: відновлення наміру з артефакту. Бенчмарк не питає «чи знаєш ти синтаксис» — він питає «чи розумієш ти, що хотів зробити програміст».
Для AI-білдерів тут два практичних висновки. По-перше, RevengeBench варто включити в checklist при виборі моделі для задач глибокого аналізу коду — результати на ньому можуть суттєво відрізнятись від стандартних бенчмарків. По-друге, методологія «генеруй і верифікуй через тести» — сильний шаблон для власних evaluation pipeline, який відсікає confident bullshitting на корені.
Ті, хто будує IDE-агенти, code-review боти або security-сканери, мають відстежувати результати моделей на цьому бенчмарку. Він наближається до того, що справді важливо в реальній роботі з кодом: не швидкість генерації, а глибина розуміння.