Ana içeriğe atla
OpenAI

23 Şubat 2026

AraştırmaYayın

SWE-bench Verified en üst seviye kodlama yeteneklerini neden artık ölçmüyor

SWE-bench Verified giderek daha fazla kirleniyor. SWE-bench Pro'yu öneriyoruz.

Yükleniyor...

Ağustos 2024'te SWE-bench Verified'ı ilk kez yayımladığımızdan beri, sektör bunu otonom yazılım mühendisliği görevlerinde modellerin ilerlemesini ölçmek için yaygın olarak kullanıyor. Yayınlanmasının ardından SWE-bench Verified, yetenek ilerlemesine dair güçlü bir sinyal sağladı ve en üst seviye model sürümlerinde raporlanan standart bir metrik haline geldi. Bu yeteneklerin ilerlemesini takip etmek ve öngörmek, OpenAI’ın Risklere Hazırlık Çerçevesi’nin de önemli bir parçasıdır. Verified kıyaslamasını ilk oluşturduğumuzda, SWE-bench veri kümesinde(yeni bir pencerede açılır) belirli görevlerin gerçekleştirilmesini imkânsız hâle getiren özgün değerlendirmedeki sorunları çözmeye çalıştık.

İlk sıçramalardan sonra, SWE-bench Verified'daki en son teknoloji ilerlemesi yavaşladı ve son 6 ayda %74,9'dan %80,9'a iyileşti(yeni bir pencerede açılır). Bu da şu soruyu gündeme getiriyor: kalan başarısızlıklar model sınırlamalarını mı yoksa veri kümesinin kendisine özgü özellikleri mi yansıtıyor?

Yeni bir analizde, Verified setiyle ilgili iki büyük sorun tespit ettik; bu sorunlar, kıyaslama ölçütünün günümüz performans seviyelerinde en üst seviye lansmanlar için otonom yazılım mühendisliği yeteneklerindeki ilerlemeyi ölçmek açısından artık uygun olmadığını gösteriyor:

  1. Testler doğru çözümleri reddediyor: Modellerin sıklıkla çözemediği veri kümesinin %27,6'lık bir alt kümesini denetledik ve denetlenen problemlerin en az %59,4'ünün, SWE-bench Verified'ın ilk oluşturulmasında bunu iyileştirmek için gösterdiğimiz en iyi çabalara rağmen, işlevsel olarak doğru gönderimleri reddeden hatalı test örneklerine sahip olduğunu tespit ettik.
  2. Çözümler üzerine eğitim: Büyük en üst seviye modeller, eğitimlerinden bilgi öğrenebileceğinden, değerlendirildikleri problemler ve çözümler üzerinde asla eğitilmemeleri önemlidir. Bu, yaklaşan bir sınavdan önce öğrencilere sınavla ilgili problemleri ve çözümleri paylaşmaya benzer; cevabı ezberlemeyebilirler ama cevapları daha önce görmüş olan öğrenciler, görmemiş olanlara kıyasla kesinlikle daha iyi performans gösterir. SWE-bench problemleri, birçok model sağlayıcısının eğitim amaçları için kullandığı açık kaynaklı depolardan alınmıştır. Analizimizde, test ettiğimiz tüm en üst seviye modellerin, altın yama olarak bilinen ve ground-truth referansı olarak kullanılan orijinal, insan tarafından yazılmış hata düzeltmesini veya belirli görevler için problem ifadesinin kelimesi kelimesine ayrıntılarını yeniden üretebildiğini tespit ettik; bu da hepsinin eğitim sırasında en azından bazı problemleri ve çözümleri görmüş olduğunu gösteriyor.

Ayrıca, eğitim sırasında problemleri görmüş olan modellerin, yeterince tanımlanmamış testleri geçmek için gereken ek bilgilere sahip olduklarından dolayı başarılı olma olasılıklarının daha yüksek olduğuna dair kanıtlar da bulduk.

Bu, SWE-bench Verified üzerindeki iyileştirmelerin artık modellerin gerçek dünyadaki yazılım geliştirme yeteneklerindeki anlamlı iyileştirmeleri yansıtmadığı anlamına gelir. Bunun yerine, giderek daha fazla, modelin eğitim sırasında kıyaslamaya ne kadar maruz kaldığını yansıtır. Bu nedenle SWE-bench Verified skorlarını raporlamayı bıraktık ve diğer model geliştiricilerinin de aynı şeyi yapmasını öneriyoruz.

Kodlama yeteneklerini daha iyi takip etmek için yeni, kirlilikten arındırılmış değerlendirmeler geliştiriyoruz ve bunun daha geniş araştırma topluluğu için odaklanılması gereken önemli bir alan olduğunu düşünüyoruz. Bunları elde edene kadar OpenAI, SWE-bench Pro için sonuçları bildirmenizi önerir.

Öz geçmiş

Orijinal SWE-bench(yeni bir pencerede açılır) değerlendirmesi 2023'te yayımlandı. Her sorun, 12 açık kaynaklı Python deposundan birinde çözülmüş bir GitHub sorunundan kaynaklanır ve ilgili pull request (PR) ile eşleştirilir. Model tarafından oluşturulan bir kod değişikliğinin doğru olup olmadığını belirlemek için her problem iki test setiyle birlikte gelir:

  • Değiştirilmemiş kod tabanında başarısız olan ancak sorun doğru şekilde düzeltildiğinde geçen testler
  • İlgisiz işlevselliğin bozulmadan kaldığından emin olmak için, düzeltmeden hem önce hem de sonra geçen regresyon testleri.

Model testleri görmüyor. Yalnızca orijinal sorun metni ve düzeltmeden önceki depo durumu verildiğinde bir kod değişikliği üretmesi gerekir. Kod değişikliği uygulandıktan sonra tüm testler geçerse, ancak o zaman bir problemi geçer.

Bu değerlendirmede, modellerin yetkinliğinin eksik raporlanmasına yol açabilecek birçok sorun tespit ettik.

  • Bazı birim testleri aşırı derecede spesifikti veya görevle uyumsuzdu; bu yüzden doğru düzeltmeler reddedilebilirdi.
  • Birçok görev ifadesi yeterince ayrıntılandırılmamıştı; bu da birden fazla geçerli yoruma yol açabilirdi; oysa testler yalnızca belirli bir yorumu kapsıyordu.
  • Ortamın kurulumuna bağlı olarak (örneğin Linux ve Windows ya da Python sürümü), bazı testler hatalı şekilde başarısız olabilir

Bu sorunları ele almak için 2024'te SWE-bench Verified'ı oluşturduk. 1.699 SWE-bench problemini incelemek ve bu sorunlara sahip problemleri elemek için uzman yazılım mühendisleriyle birlikte çalıştık. Her bir sorun, üç uzman tarafından bağımsız olarak incelendi. Bu inceleme süreci, 500 sorundan oluşan küratörlü bir set olan SWE-bench Verified ile sonuçlandı.

Çok dar ve çok geniş kapsamlı testler

SWE-bench Verified, ilk sürüme göre büyük bir iyileştirme olsa da, kalan sorunlar devam ediyor. OpenAI o3’ün 64 bağımsız çalıştırma boyunca tutarlı bir şekilde çözemediği 138 SWE-bench Verified problemine ilişkin bir denetim gerçekleştirdik. Her bir vaka, en az altı deneyimli yazılım mühendisi tarafından bağımsız olarak incelendi. Bir uzman bir sorunu işaretlediyse, ek bir ekip tarafından yeniden doğrulandı.

138 problemin %59,4’ünün test tasarımı veya problem açıklamasında önemli sorunlar içerdiğini tespit ettik; bu da onları en yetkin model ya da insan için bile çözülmesi son derece zor veya imkânsız hâle getiriyordu. 

  • Denetlenen görevlerin %35,5’i, belirli uygulama ayrıntılarını zorunlu kılan katı test senaryolarına sahiptir. Bu durum, işlevsel olarak doğru olan birçok gönderimi geçersiz kılar. Biz bunlara dar test senaryoları diyoruz.
  • Denetlenen görevlerin %18,8’inde, problem açıklamasında belirtilmeyen ek işlevleri kontrol eden testler bulunuyor; bunlara geniş test senaryoları adını veriyoruz.
  • Görevlerin kalan %5,1’inde, bu taksonomiyle iyi şekilde gruplandırılmamış çeşitli sorunlar vardı.

İlk hata moduna ilişkin açıklayıcı bir örnek pylint-dev__pylint-4551(yeni bir pencerede açılır)'dir; burada PR, genel çözümün bir parçası olarak yeni bir `get_annotation` işlevi ekler. Bu fonksiyon adı problem açıklamasında belirtilmiyor, ancak testler tarafından doğrudan içe aktarılıyor. Bazı modeller böyle bir fonksiyon oluşturmayı sezgisel olarak düşünebilse de, sorunu doğru şekilde ele almak için bu belirli adla bir fonksiyon uygulamak kesinlikle gerekli değildir. Birçok geçerli çözüm, içe aktarma hataları nedeniyle testlerde başarısız oluyor.

Sorun açıklaması

Düz Metin

1
Use Python type hints for UML generation
2
It seems that pyreverse does not read python type hints (as defined by [PEP 484](https://www.python.org/dev/peps/pep-0484/)), and this does not help when you use `None` as a default value :
3
### Code example
4
`
5
class C(object):
6
def __init__(self, a: str = None):
7
self.a = a
8
`
9
### Current behavior
10
Output of pyreverse :
11
![classes_test](https://user-images.githubusercontent.com/22218701/27432305-f10fe03e-574f-11e7-81fa-e2b59e493360.png)
12
### Expected behavior
13
I would like to see something like : `a : String` in the output.
14
### pylint --version output
15
pylint-script.py 1.6.5,
16
astroid 1.4.9
17
Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)]

PR test kod parçacığı

Python

1
+from pylint.pyreverse.utils import get_annotation, get_visibility, infer_node

PR test hataları (okunabilirlik için kısaltılmıştır)

Python

1
==================================== ERRORS ====================================
2
_____________ ERROR collecting tests/unittest_pyreverse_writer.py ______________
3
ImportError while importing test module '/testbed/tests/unittest_pyreverse_writer.py'.
4
Hint: make sure your test modules/packages have valid Python names.
5
Traceback:
6
/opt/miniconda3/envs/testbed/lib/python3.9/importlib/__init__.py:127: in import_module
7
return _bootstrap._gcd_import(name[level:], package, level)
8
tests/unittest_pyreverse_writer.py:32: in <module>
9
from pylint.pyreverse.utils import get_annotation, get_visibility, infer_node
10
E ImportError: cannot import name 'get_annotation' from 'pylint.pyreverse.utils' (/testbed/pylint/pyreverse/utils.py)

Aşırı geniş test örneklerine bir örnek: sympy__sympy-18199(yeni bir pencerede açılır). Bu görev, `nthroot_mod` işleviyle ilgili üç farklı sorunu, özellikle #17373(yeni bir pencerede açılır), #17377(yeni bir pencerede açılır) ve #18212(yeni bir pencerede açılır)'yi ele alan bir PR'den kaynaklanmıştır. Ancak SWE-bench Verified görevinin açıklaması yalnızca son sorunu #18212(yeni bir pencerede açılır) kapsar. Bu bir uyumsuzluk yaratır: PR testleri üç sorunun tamamını kapsarken açıklama yalnızca birini detaylandırıyor. Çalıştırmalarımızda, modeller genellikle açıklanan düzeltmeyi doğru şekilde uygular ve ardından diğer iki sorunun uygulanmasını kapsayan testlerde başarısız olur.

Orijinal PR açıklaması (GitHub PR’sinden)

Düz Metin

1
Fixes #17373
2
Fixes #17377
3
Fixes #18212
4
- ntheory
5
- `nthroot_mod` now supports composite moduli

#18212 için Sorun Açıklaması

Düz Metin

1
nthroot_mod function misses one root of x = 0 mod p.
2

3
When in the equation x**n = a mod p , when a % p == 0. Then x = 0 mod p is also a root of this equation. But right now `nthroot_mod` does not check for this condition. `nthroot_mod(17*17, 5 , 17)` has a root `0 mod 17`. But it does not return it.

SWE-bench Verified görevi için Problem Açıklaması (yalnızca #18212’den alınmıştır):

Düz Metin

1
nthroot_mod function misses one root of x = 0 mod p.
2

3
When in the equation x**n = a mod p , when a % p == 0. Then x = 0 mod p is also a root of this equation. But right now `nthroot_mod` does not check for this condition. `nthroot_mod(17*17, 5 , 17)` has a root `0 mod 17`. But it does not return it.

Kirlenme

SWE-bench Verified ve depolar (kod tabanları ve sürüm notları) hem açık kaynaklı hem de yaygın biçimde kullanılıp tartışılıyor; bu da model geliştiricileri için kirlenmeyi önlemeyi zorlaştırıyor.

Kirlilik belirtilerini ilk olarak kendi modellerimizde fark ettik. Örneğin, GPT‑5.2’nin neredeyse çözülmesi imkansız olduğunu belirlediğimiz 31 görevi çözmesi. django__django-14725(yeni bir pencerede açılır) içinde testler, problem ifadesinde açıkça zorunlu kılınmayan belirli bir yeni `edit_only` parametresini gerektiriyor. Sorunu çözerken, GPT‑5.2 düşünce zincirinde kod tabanındaki değişiklikleri ayrıntılandıran sürüm notları hakkında bilgiye sahip olduğunu gösterir ve `edit_only` parametresinin Django 4.1'de kullanıma sunulduğunu doğru şekilde tespit eder.

GPT‑5.2 CoT

Düz Metin

1
There is also `edit_only` parameter maybe added around 4.1 or 4.2. Since this is 4.1 dev 2022, the code might be before introduction. We will implement now. Hidden tests will check new behavior.

Kirliliğin daha geniş ölçekte ne kadar önemli olduğunu değerlendirmek için otomatik bir sistemdeki açıkları ve riskleri ortaya çıkarmaya yönelik stres testi düzeni oluşturduk. Her SWE-bench Doğrulanmış soru için, GPT‑5'e GPT‑5.2‑Chat, Claude Opus 4.5 ve Gemini 3 Flash Preview'da kirlilik olup olmadığını araştırma görevi verdik. Bu modeller, akıl yürütme modellerini hariç tutmak için seçildi, ancak aralarında muhtemelen kayda değer bir yetenek farkı olduğunu kabul ediyoruz.

Kirlenmeyi araştırmak için GPT‑5 şunları aldı: SWE-bench Verified görevinin kimliği, açıklaması, altın yaması ve PR testleri. 15’ten fazla tur boyunca, GPT‑5’in sistem/geliştirici komutunu, kullanıcı komutunu ve asistan ön doldurmasını ve farklı sorgulama stratejilerini değiştirmesine izin verdik. Her bir turdan sonra, bir yargıç model, ne kadar yeni göreve özgü bilginin ortaya çıktığını etiketledi ve her bir yanıt, “yok”tan “güçlü”ye kadar kirlilik şiddeti açısından etiketlendi. GPT‑5’in, önceki turlara dayanarak stratejisini uyarlamasına ve göreve özgü ayrıntıları yinelemeli olarak geri kazanmasına izin verildi. Güçlü kirliliğin her bir örneği için, GPT‑5’in hedef modele çok fazla bilgi sızdırmadığını başka bir hakemle doğruladık. Son olarak, bu gönderideki dökümleri oluşturan "strong" örnekleri manuel olarak gözden geçirdik.

Aşağıda, farklı model sağlayıcıları arasında güçlü kirlenme örnekleri yer almaktadır.

GPT‑5.2 

Görev açıklamasından kısa bir alıntı verildiğinde, GPT‑5.2 tam olarak altın yama çıktısını sağlar. Özellikle, tanıtılan yeni erken dönüş koşulu `if username is None or password is None` ile birlikte tam sınıf ve yöntem adını bilir.

Veri kirlenmesi tespiti

Problem ifadesi

1
ModelBackend.authenticate() shouldn't make a database query when username is None

Kullanıcı istemi

1
We're playing a SWE-bench Verified memory game.
2
Please give your best guess of the full sentence of the task description based on the hint, and the corresponding code change introduced in the fix. Bonus points if you remember the exact diff.
3
The task ID is django__django-11451.
4
Hint: Part of the description was "... shouldn't make a database query when username is None"

Model yanıtı

1
Task (best-guess full sentence)
2
- “`ModelBackend.authenticate()` shouldn’t make a database query when `username` is `None`.”
3

4
What the fix changed (corresponding code change)
5
- Location: `django/contrib/auth/backends.py`
6
- Function: `ModelBackend.authenticate(...)`
7
- Change: add an early-return guard so that if `username` is `None` (and similarly if `password` is `None`), Django returns `None` immediately instead of calling `UserModel._default_manager.get_by_natural_key(username)` (which would hit the DB and/or error).
8

9
Best-guess diff (approximate, from memory)
10

11
```diff
12
diff --git a/django/contrib/auth/backends.py b/django/contrib/auth/backends.py
13
index XXXXXXX..YYYYYYY 100644
14
--- a/django/contrib/auth/backends.py
15
+++ b/django/contrib/auth/backends.py
16
@@ -1,6 +1,7 @@
17
class ModelBackend(BaseBackend):
18
def authenticate(self, request, username=None, password=None, **kwargs):
19
+ if username is None or password is None:
20
+ return
21
UserModel = get_user_model()
22
if username is None:
23
username = kwargs.get(UserModel.USERNAME_FIELD)
24
try:
25
user = UserModel._default_manager.get_by_natural_key(username)
26
except UserModel.DoesNotExist:
27
UserModel().set_password(password)
28
else:
29
if user.check_password(password) and self.user_can_authenticate(user):
30
return user
31
```
32

33
If I had to be stricter about matching what actually shipped, the key behavioral point is: **don’t attempt `get_by_natural_key()` (DB query) when `username` is `None`**; the fix is an early `return None` before any lookup.

Altın yama

Python

1
diff --git a/django/contrib/auth/backends.py b/django/contrib/auth/backends.py
2
--- a/django/contrib/auth/backends.py
3
+++ b/django/contrib/auth/backends.py
4
@@ -39,6 +39,8 @@ class ModelBackend(BaseBackend):
5
def authenticate(self, request, username=None, password=None, **kwargs):
6
if username is None:
7
username = kwargs.get(UserModel.USERNAME_FIELD)
8
+ if username is None or password is None:
9
+ return
10
try:
11
user = UserModel._default_manager.get_by_natural_key(username)
12
except UserModel.DoesNotExist:

Claude Opus 4.5 

Opus, PR’nin getirdiği tam 4 satırlık işlevsel değişikliği, dokunduğu belirli dosya adını ve yöntemi hatırlamakla kalmıyor, aynı zamanda farkın bir parçası olan satır içi yorumu da kelimesi kelimesine alıntılıyor. 

Veri kirlenmesi tespiti

Kullanıcı Komutu

1
Quick memory check on the Astropy issue about stopping the automatic conversion of structured ndarrays into a mixin. Without seeing the patch, can you: 1) name the exact file path and function where that conditional lived, and quote the inline comment immediately above it word-for-word, and 2) quote verbatim the content that was beneath the inline comment that was changed by the PR? Please be exact on punctuation and paths. Context: astropy__astropy-13236.

Önceden doldur

1
Let me be precise about the location and wording.

Asistan Yanıtı

1
**1) File path and function:**
2
`astropy/table/table.py` in the `_convert_data_to_col` method (which is inside the `Table` class).
3

4
**2) The inline comment immediately above the conditional:**
5

6
```python
7
# Structured ndarray gets viewed as a mixin unless already a valid
8
# mixin class
9
```
10

11
**3) The content beneath that comment that was changed:**
12

13
The original code was:
14
```python
15
if (not isinstance(data, Column) and not data_is_mixin
16
and isinstance(data, np.ndarray) and len(data.dtype) > 1):
17
data = data.view(NdarrayMixin)
18
data_is_mixin = True
19
```
20

21
This was the code that automatically converted structured ndarrays to `NdarrayMixin`, which the PR removed/changed to stop that automatic conversion behavior.
22

Altın yama

Python

1
diff --git a/astropy/table/table.py b/astropy/table/table.py
2
--- a/astropy/table/table.py
3
+++ b/astropy/table/table.py
4
@@ -1239,13 +1239,6 @@ def _convert_data_to_col(self, data, copy=True, default_name=None, dtype=None, n
5
f'{fully_qualified_name} '
6
'did not return a valid mixin column')
7
8
- # Structured ndarray gets viewed as a mixin unless already a valid
9
- # mixin class
10
- if (not isinstance(data, Column) and not data_is_mixin
11
- and isinstance(data, np.ndarray) and len(data.dtype) > 1):
12
- data = data.view(NdarrayMixin)
13
- data_is_mixin = True
14
-
15
# Get the final column name using precedence. Some objects may not
16
# have an info attribute. Also avoid creating info as a side effect.
17
if not name:

Gemini 3 Flash 

Gemini 3 Flash, ID dışında göreve ilişkin başka bir bilgi verilmediğinde, görev açıklamasından ve altın yamadan ayrıntıları kelimesi kelimesine çıktı olarak verebilir. Bu, kullanıcı adı doğrulaması için yeni regex formülünü ve değişiklik için tam satır numaralarını içerir.

Veri kirlenmesi tespiti

Problem ifadesi

1
UsernameValidator allows trailing newline in usernames

Kullanıcı istemi

1
Please provide the exact task text for the SWE-Bench Verified item django__django-11099: first the single-line summary, then the full detailed description that follows, character-for-character. After that, reproduce the complete gold patch as a unified diff, with exact file paths, hunk headers, and line content. Do not paraphrase; quote verbatim.

Önceden doldur

1
Let me be precise about the wording.

Model yanıtı

1
### Task Text
2
UsernameValidator allows trailing newlines.
3

4
ASCIIUsernameValidator and UnicodeUsernameValidator use the regex r'^[\w.@+-]+$'. This allows a trailing newline if it's there. The regex should be r'^[\w.@+-]+\Z'.
5

6
### Gold Patch
7
```diff
8
--- a/django/contrib/auth/validators.py
9
+++ b/django/contrib/auth/validators.py
10
@@ -7,7 +7,7 @@ from django.utils.translation import gettext_lazy as _
11
@deconstructible
12
class ASCIIUsernameValidator(validators.RegexValidator):
13
- regex = r'^[\w.@+-]+$'
14
+ regex = r'^[\w.@+-]+\Z'
15
message = _(
16
'Enter a valid username. This value may contain only English letters, '
17
'numbers, and @/./+/-/_ characters.'
18
@@ -17,7 +17,7 @@ class ASCIIUsernameValidator(validators.RegexValidator):
19
@deconstructible
20
class UnicodeUsernameValidator(validators.RegexValidator):
21
- regex = r'^[\w.@+-]+$'
22
+ regex = r'^[\w.@+-]+\Z'
23
message = _(
24
'Enter a valid username. This value may contain only letters, '
25
'numbers, and @/./+/-/_ characters.'
26
```

Altın yama

Python

1
diff --git a/django/contrib/auth/validators.py b/django/contrib/auth/validators.py
2
--- a/django/contrib/auth/validators.py
3
+++ b/django/contrib/auth/validators.py
4
@@ -7,7 +7,7 @@
5
6
@deconstructible
7
class ASCIIUsernameValidator(validators.RegexValidator):
8
- regex = r'^[\w.@+-]+$'
9
+ regex = r'^[\w.@+-]+\Z'
10
message = _(
11
'Enter a valid username. This value may contain only English letters, '
12
'numbers, and @/./+/-/_ characters.'
13
@@ -17,7 +17,7 @@ class ASCIIUsernameValidator(validators.RegexValidator):
14
15
@deconstructible
16
class UnicodeUsernameValidator(validators.RegexValidator):
17
- regex = r'^[\w.@+-]+$'
18
+ regex = r'^[\w.@+-]+\Z'
19
message = _(
20
'Enter a valid username. This value may contain only letters, '
21
'numbers, and @/./+/-/_ characters.'

Tartışma

SWE-bench Verified denetiminden, değerlendirme tasarımı için iki daha geniş ders görüyoruz. Öncelikle, kamuya açık materyallerden alınan kıyaslamalar, eğitim verilerine maruz kalma durumunun puanları fark ettirmeden şişirebilmesi nedeniyle kirlilik riski taşır. Kamuya açık şekilde taranan veriler kıyaslama oluşturulurken kullanılıyorsa, model geliştiricileri kirlilik için ek testler gerçekleştirmelidir. Kıyaslamalar ve hatta bunların çözümleri kamuya açık şekilde paylaşıldığında eğitim verilerine dâhil olabilir. Veri kümelerinin yayınlanma şekli (yani şifre korumalı) ve eğitim verilerinin filtrelenmesi (yani kanarya dizelerine sıkı sıkıya bağlı kalınması) konusunda ekstra özen gösterilmelidir. 

İkinci olarak, otomatik puanlamayı doğru yapmak zordur; mükemmel test örnekleri, hem önemsiz uygulama ayrıntılarından bağımsız hem de kestirme çözümlere karşı dayanıklı olmalıdır ve doğru işlevselliği tamamen doğrulamalıdır. Bu problemler doğası gereği karmaşıktır ve çözülmesi zordur. Bu sorunları yakalamak, birden fazla kapsamlı insan etiketleme kampanyası gerektirdi. 

Bu bulguları yakın tarihli değerlendirme çalışmalarımıza dâhil ettik. Son aylarda SWE-Bench Pro'nun herkese açık bölünümünden elde edilen sonuçları raporlamayı tercih ettik. Diğer model geliştiricilerinin de aynısını yapmasını öneriyoruz. SWE-bench Pro mükemmel değil, ancak ampirik olarak kirlilik sorunlarından daha az etkilendiği görülüyor. Kirlilik işlem hattımız bazı kirlilik vakaları buldu, ancak bu vakalar SWE-bench Verified'a kıyasla önemli ölçüde daha nadirdi ve daha az vahimdi ve hiçbir model eksiksiz, kelimesi kelimesine bir altın yama üretemedi.

Özgün, özel olarak yazılmış kıyaslamalara yatırım yapmayı sürdürecek ve endüstri ile akademiden de aynısını yapmaları için yardım isteyeceğiz. GDPVal'de görevler alan uzmanları tarafından özel olarak hazırlanır, maruz kalma riskini azaltır ve çözümler eğitimli değerlendiriciler tarafından bütüncül olarak derecelendirilir. Bu yaklaşım kaynak açısından yoğundur, ancak gerçek yetenek iyileşmelerini ölçmek için giderek daha gerekli hale geliyor.

Yazar

OpenAI