Canal QAMania - @qamania - №852
Метатести для LLM або хто потестить тести#ai #bugseverywhere Всіх давно вже цікавить питання: коли ж AI замінить нас на роботі. І надто це питання цікавить розробників. Проте в конструктивному руслі: "коли AI почне фіксити нудні баги замість нас, а ми нарешті зможемо продовжувати їх створювати більше творити?".Для відповіді на це питання існують різні методології оцінювання ефективності LLM на реальних задачах, зокрема от й на задачах по багфіксу. Одна з найвідоміших - SWE-bench.Якщо коротко, то SWE-bench - це набір даних, який перевіряє здатність AI агентів автоматично виправляти реальні баги на GitHub. 2,294 GitHub issues з 12 популярних Python репозиторіїв та unit тести для перевірки багфіксів - дозволяють отримати конкретну числову оцінку для того чи іншого поєднання агента та LLM.Наприклад найспроможніший агент на даний момент на "Verified" наборі - AI Programming Agent від Weights & Biases, який спромігся пофіксити 64,6% багів.Але є одне але. А що там з тестами, тобто з багами?Іншими словами: а чи перевіряв хтось, крім авторів SWE-bench релевантність цього датасету, на якому оцінюють здатність LLM агентів фіксити реальні баги? Такі дослідники знайшлись. Й перевірили SWE-bench датасет на відповідність поставленій задачі.Жодним чином не піддаючи сумніву важливість цього бенчу і йому подібних - лише вказуючи й пропонуючи можливості покращення методології оцінки LLM агентів.TL;DRАвтори дослідження з'ясували що більшість "успішних" патчів для GitHub issues з SWE-bench набору - насправді сильно під питанням, бо третина з цих issues містила правильний фікс в коментарях до issue, ще третина мали трохи неадекватні тести для того щоб перевірити фікс, тобто тести зеленіли не тому що проблему було реально пофікшено, а тому що в пулреквесті містився код на якому тести зеленіють :) Таким чином дві третини "фіксів" від LLM coding assistants дуже під питанням.Потім автори дослідження ще упоролись й дослідили чи входять потенційно фікси від цих issue в дані, на яких міг навчатись LLM, переробили тестовий датасет таким чином щоб були тільки GitHub issues створені точно пізніше ніж зріз навчання LLM - і тоді ефективність фіксів дропнулась взагалі до лічених відсотків: у найкращої моделі на той момент, chatGPT 4o - з 18,8% на "Full" датасеті до 3,83%!Висновки:Забавно що тести це баги, але не дуже забавно те що тести з багами :)Або іншими словами: тестові дані - наше всьо, і від їх якості залежить якість результатів, які ми хочемо і можемо отримати від LLM. Щодо фіксу реальних багів - поки що "такоє"..Якщо когось прям от сильно зацікавило, то ось додаткові посилання:1) сама стаття: link2) відео на ютубчику з розбором статті: linkА у вас як? Що ви фіксите за допомогою LLM? Діліться в коментах! Всім справді цікаво!
2780
25-03-07 09:11