NastępnyNastępny poradnik
IFEval i benchmarki sprawdzające przestrzeganie instrukcji
Techniczne
PRZEWODNIK techniczny
SWE-bench to test porównawczy, który sprawdza, czy system AI może rozwiązać rzeczywiste problemy GitHub poprzez edycję bazy kodu Python, tak aby własne testy projektu zakończyły się pomyślnie.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~3 min
Ma to znaczenie, ponieważ jest to jedna z najczęściej cytowanych miar agentów kodujących, a jej wyniki można łatwo przesadzić, nie wiedząc, jak działają zadania, rusztowania agentów i kontrole testów.
SWE-bench was introduced by Carlos Jimenez and colleagues at Princeton in 2023 and published at ICLR 2024. It contains 2,294 task instances drawn from 12 widely used Python repositories, including Django, scikit-learn, sympy, matplotlib and requests. Each instance pairs a real GitHub issue with the pull request that fixed it. The system under test receives the issue text and the repository as it was before the fix, and must produce a patch. Scoring uses the tests from the original pull request. FAIL_TO_PASS tests failed before the human fix and passed after it, so they check that the issue is solved. PASS_TO_PASS tests passed both before and after, so they check that nothing else broke. An instance counts as resolved only if all of these pass, and the headline number is the percentage resolved. At launch, the best models resolved only a few percent of tasks. Two subsets matter. SWE-bench Lite has 300 instances chosen to be cheaper and more self-contained. SWE-bench Verified, released in 2024 by OpenAI with the SWE-bench authors, has 500 instances that human engineers screened to remove vague issue descriptions or tests that would reject valid solutions. Verified is now the most commonly quoted split. Scores reflect a model plus its scaffold, the program that lets it browse files, run commands and edit code. SWE-agent from Princeton and the Agentless pipeline, which localizes, repairs and validates without an open-ended agent loop, are well-known examples. The same model can score very differently in different scaffolds. Common misreadings: the original set is Python-only and covers a dozen repositories; passing tests does not guarantee maintainable code; the repositories and fixes are public, so contamination is possible; and multi-attempt results are not comparable to single-attempt ones. Related benchmarks such as SWE-bench Multilingual, SWE-Lancer and Terminal-Bench probe other languages, freelance tasks and command-line work.
Zadanie przekazuje agentowi problem Django opisujący nieprawidłowe zachowanie oraz sprawdzenie repozytorium przy zatwierdzeniu przed poprawką; agent musi napisać łatkę, która jest następnie oceniana na podstawie testów, które przeszły pomyślnie pierwotną, ludzką poprawkę.
Dostawca zgłasza wynik zweryfikowany w SWE-bench przy użyciu własnej wiązki agentów i kilku prób na zadanie; kupujący powinien potwierdzić, czy jest to wynik pojedynczej próby, przed porównaniem go z numerem innego dostawcy.
Zespół inżynierów tworzy wewnętrzny zestaw w stylu SWE z własnych prywatnych repozytoriów i rozwiązanych zgłoszeń, aby sprawdzić, czy agent, który ma dobrą opinię publiczną, faktycznie pracuje nad jego kodem.
Badacze korzystają z wielomodalnego środowiska SWE, w którym problemy pochodzą z projektów front-endowych JavaScript i często zawierają zrzuty ekranu błędów wizualnych, aby przetestować umiejętności, których nie można zmierzyć w oryginale Python.
W miarę wzrostu najlepszych wyników w SWE-bench Verified, benchmark oddziela wiodące systemy w mniej wyraźny sposób, a uwaga skupia się na nowszych zestawach zadań ze świeższymi problemami, większą liczbą języków programowania, dłuższą pracą wieloetapową oraz raportowaniem kosztów i niezawodności. Zanieczyszczenie stanowi trwały problem, ponieważ repozytoria źródłowe są publiczne, co sprzyja testom porównawczym, które dodają najnowsze zadania. Dla zespołów wybierających narzędzia punktem wyjścia są publiczne tabele wyników; testowanie agentów na ich własnych bazach kodów i biletach pozostaje najbardziej niezawodnym sygnałem.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
SWE-bench to test porównawczy, który sprawdza, czy system AI może rozwiązać rzeczywiste problemy GitHub poprzez edycję bazy kodu Python, tak aby własne testy projektu zakończyły się pomyślnie. Ma to znaczenie, ponieważ jest to jedna z najczęściej cytowanych miar agentów kodujących, a jej wyniki można łatwo przesadzić, nie wiedząc, jak działają zadania, rusztowania agentów i kontrole testów.
Każda instancja łączy rzeczywisty problem z migawką repozytorium, a system musi wygenerować poprawkę kodu, która go rozwiązuje.
Potwierdzają, że problem został faktycznie rozwiązany, ponieważ przechodzą one dopiero po wprowadzeniu poprawki.
Przeszły one przed i po ludzkiej poprawce, więc chronią przed regresjami wprowadzonymi przez łatkę agenta.
Wersja Verified została wydana w 2024 roku przez OpenAI wraz z autorami SWE-bench, odfiltrowując zadania, które były niedookreślone lub posiadały testy odrzucające prawidłowe rozwiązania.
Lite to podzbiór 300 instancji wybrany tak, aby był tańszy i bardziej samowystarczalny.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
IFEval i benchmarki sprawdzające przestrzeganie instrukcji
Techniczne