Nowe spojrzenie na jakość kodu w erze AI
Przez długi czas w branży technologicznej panowało przekonanie, że nie istnieją rzetelne testy sprawdzające zdolność modeli językowych do utrzymania jakości kodu w dłuższej perspektywie. Większość popularnych benchmarków udostępnia modelowi cały problem od razu, co nie odzwierciedla realiów pracy inżynierskiej. Sytuację zmienia SlopCodeBench – narzędzie opracowane w marcu 2026 roku przez laboratorium na Uniwersytecie Wisconsin-Madison.
Kluczową innowacją tego benchmarku jest podejście oparte na punktach kontrolnych (checkpoints). Model nie zna pełnego zakresu zadania na starcie; musi ewoluować bazę kodu w miarę pojawiania się nowych wymagań. Jest to test nienasycony, co oznacza, że nawet najpotężniejsze modele mają jeszcze wiele do zrobienia. W pierwotnych badaniach najlepsze jednostki, takie jak GPT-5.4 czy Opus 4.6, osiągały wskaźnik poprawnego przejścia (strict pass rate) na poziomie odpowiednio 11% i 17%.
Testy wydajności modeli Claude
W ramach własnych testów przeprowadzono analizę trzech modeli z rodziny Claude: Opus 4.8, Sonnet 5 oraz Opus 5. Modele zmierzyły się z podzbiorem zadań ze SlopCodeBench, obejmującym 17 punktów kontrolnych o zróżnicowanym stopniu trudności:
Wszystkie modele pracowały w identycznych warunkach, otrzymując świeże okno kontekstowe dla każdego punktu kontrolnego. Kryterium sukcesu było rygorystyczne: każde nowe rozwiązanie musiało być poprawne, a jednocześnie nie mogło powodować regresji w testach odziedziczonych z poprzednich etapów.
Wyniki i obserwacje
Opus 5 okazał się technicznie najlepszy, osiągając 24% skuteczności, jednak żaden z testowanych modeli nie poradził sobie z ukończeniem pełnego wyzwania bez błędów. Nawet w zadaniach oznaczonych jako łatwe, modele z czasem zaczęły gromadzić defekty.
Warto zauważyć, że wraz z postępem prac, modele wykazywały tendencję do zwiększania złożoności kodu i jego rozwlekłości. Opus 5 napisał pięciokrotnie więcej funkcji niż Opus 4.8, co sugeruje, że wyższa poprawność była okupiona znacznie większą ilością kodu. Koszt operacji w dolarach (przeliczając na złotówki, gdzie 1 USD to ok. 4 PLN, każda wydana złotówka przekładała się na pewien przyrost poprawności) nie przyniósł jednak oczekiwanego przełomu w jakości architektury.
Problem narastającej złożoności
Analiza metryk jakościowych, takich jak złożoność cyklomatyczna czy powielanie kodu, potwierdza tezę, że modele mają trudności z utrzymaniem czystości bazy kodu w czasie. W przypadku Opus 4.8, wskaźnik duplikacji kodu wzrósł z 4,6% do 16,8% w trakcie realizacji zadań. Opus 5 utrzymał ten parametr na bardziej stabilnym poziomie (wzrost z 2,41% do 2,64%), co może świadczyć o pewnym postępie w ostatnich miesiącach.
Niemniej jednak, niemal wszystkie wygenerowane rozwiązania wyzwalały tzw. „miernik śmieci” (slop meter) benchmarku. Ponad 90% linii kodu we wszystkich modelach naruszało przynajmniej jedną z reguł jakościowych. Co ciekawe, porównanie z profesjonalnym, recenzowanym repozytorium typu monorepo wykazało, że rozwiązania generowane przez AI zawierają ponad 11 razy więcej naruszeń na tysiąc linii kodu niż kod pisany przez ludzi.
Wnioski dla inżynierii oprogramowania
SlopCodeBench dostarcza twardych danych na poparcie tezy, że dzisiejsze modele nie mogą być w pełni polegane w pracy „bez nadzoru” (lights-off). Choć modele stają się coraz lepszymi debugerami, ich zdolność do ewolucji architektury oprogramowania pozostaje ograniczona.
Przyszłość testowania modeli w tym obszarze może leżeć w łączeniu różnych jednostek – na przykład powierzaniu początkowych etapów projektu najpotężniejszym modelom, a kolejnych – mniejszym i tańszym jednostkom. Taki test pozwoliłby sprawdzić, czy stworzona baza kodu jest na tyle czytelna i utrzymywalna, by poradził sobie z nią mniej zaawansowany system. Obecnie jednak, mimo imponujących wyników w testach jednostkowych, modele wciąż wymagają aktywnego sterowania przez człowieka, aby uniknąć degradacji jakości projektu w czasie.
