Aqbeż għall-kontenut prinċipali
OpenAI

23 ta’ Frar 2026

RiċerkaPubblikazzjoni

Għaliex SWE-bench Verified m’għadux ikejjel il-kapaċitajiet tal-kodifikazzjoni fruntiera

SWE-bench Verified qed isir dejjem aktar ikkontaminat. Nirrakkomandaw SWE-bench Pro.

Qed jillowdja…

Minn meta ppubblikajna għall-ewwel darba SWE-bench Verified f’Awwissu 2024, l-industrija użatu b’mod mifrux biex tkejjel il-progress tal-mudelli f’kompiti awtonomi ta’ inġinerija tas-software. Wara r-rilaxx tiegħu, SWE-bench Verified ta sinjal qawwi tal-progress fil-kapaċitajiet u sar metrika standard irrappurtata fir-rilaxxi ta’ mudelli fruntiera. It-traċċar u t-tbassir tal-progress ta’ dawn il-kapaċitajiet huma wkoll parti importanti mill-Preparedness Framework ta’ OpenAI. Meta inizjalment ħloqna l-benchmark Verified, ippruvajna nsolvu kwistjonijiet fl-evalwazzjoni oriġinali li kienu jagħmlu ċerti kompiti impossibbli biex jitlestew fis-sett tad-data SWE-bench(jinfetaħ f’tieqa ġdida).

Wara qabżiet inizjali, il-progress tal-aqwa livell fuq SWE-bench Verified naqas, u tjieb(jinfetaħ f’tieqa ġdida) minn 74.9% għal 80.9% fl-aħħar 6 xhur. Dan iqajjem il-mistoqsija: il-fallimenti li fadal jirriflettu limitazzjonijiet tal-mudell jew proprjetajiet tas-sett tad-data nnifsu?

F’analiżi ġdida, sibna żewġ problemi ewlenin bis-sett Verified li jindikaw li l-benchmark m’għadux adattat biex ikejjel il-progress fil-kapaċitajiet awtonomi ta’ inġinerija tas-software għal rilaxxi fruntiera fil-livelli tal-prestazzjoni tal-lum:

  1. It-testijiet jirrifjutaw soluzzjonijiet korretti: Ivverifikajna sottogrupp ta’ 27.6% tas-sett tad-data li l-mudelli ta’ spiss naqsu milli jsolvu u sibna li mill-inqas 59.4% tal-problemi verifikati għandhom każijiet ta’ test difettużi li jirrifjutaw sottomissjonijiet funzjonalment korretti, minkejja l-aqwa sforzi tagħna biex intejbuhom fil-ħolqien inizjali ta’ SWE-bench Verified.
  2. Taħriġ fuq is-soluzzjonijiet: Minħabba li mudelli fruntiera kbar jistgħu jitgħallmu informazzjoni mit-taħriġ tagħhom, huwa importanti li qatt ma jiġu mħarrġa fuq problemi u soluzzjonijiet li jiġu evalwati fuqhom. Dan jixbah li taqsam problemi u soluzzjonijiet ta’ test li ġej mal-istudenti qabel it-test - jistgħu ma jimmemorizzawx it-tweġiba, iżda studenti li jkunu raw it-tweġibiet qabel ċertament jagħmlu aħjar minn dawk li ma rawhomx. Il-problemi ta’ SWE-bench jittieħdu minn repożitorji open-source li ħafna fornituri ta’ mudelli jużaw għal skopijiet ta’ taħriġ. Fl-analiżi tagħna sibna li l-mudelli fruntiera kollha li ttestjajna setgħu jirriproduċu t-tiswija oriġinali tal-bug miktuba minn bniedem li ntużat bħala r-referenza tal-verità bażi, magħrufa bħala l-gold patch, jew dettalji speċifiċi kelma b’kelma tad-dikjarazzjoni tal-problema għal ċerti kompiti, u dan jindika li kollha raw mill-inqas xi wħud mill-problemi u s-soluzzjonijiet waqt it-taħriġ.

Sibna wkoll evidenza li mudelli li jkunu raw il-problemi waqt it-taħriġ huma aktar probabbli li jirnexxu, għax għandhom informazzjoni addizzjonali meħtieġa biex jgħaddu mit-testijiet mhux speċifikati biżżejjed.

Dan ifisser li t-titjib fuq SWE-bench Verified m’għadux jirrifletti titjib sinifikanti fil-kapaċitajiet tal-mudelli għall-iżvilupp tas-software fid-dinja reali. Minflok, dejjem aktar jirrifletti kemm il-mudell kien espost għall-benchmark waqt it-taħriġ. Huwa għalhekk li waqafna nirrapportaw il-punteġġi ta’ SWE-bench Verified, u nirrakkomandaw li żviluppaturi oħra ta’ mudelli jagħmlu l-istess.

Qed nibnu evalwazzjonijiet ġodda, mhux ikkontaminati, biex insegwu aħjar il-kapaċitajiet tal-kodifikazzjoni, u naħsbu li dan hu qasam importanti fuq xiex għandha tiffoka l-komunità usa’ tar-riċerka. Sa ma jkollna dawn, OpenAI jirrakkomanda li jiġu rrappurtati r-riżultati għal SWE-bench Pro.

Sfond

L-evalwazzjoni oriġinali ta’ SWE-bench(jinfetaħ f’tieqa ġdida) ġiet rilaxxata fl-2023. Kull problema tittieħed minn issue solvuta ta’ GitHub f’wieħed minn 12-il repożitorju Python open-source u tiġi mqabbla mat-talba ta' pull (PR) korrispondenti. Biex jiġi determinat jekk bidla fil-kodiċi ġġenerata minn mudell hijiex korretta, kull problema tiġi b’żewġ settijiet ta’ testijiet:

  • Testijiet li jonqsu fuq il-codebase mhux modifikata iżda jgħaddu jekk l-issue tiġi rranġata b’mod korrett
  • Testijiet ta’ regressjoni li jgħaddu kemm qabel kif ukoll wara t-tiswija biex jiżguraw li funzjonalità mhux relatata tibqa’ intatta.

Il-mudell ma jarax it-testijiet. Irid jipproduċi bidla fil-kodiċi billi jingħata biss it-test oriġinali tal-issue u l-istat tar-repożitorju qabel it-tiswija. Jgħaddi minn problema biss jekk it-testijiet kollha jgħaddu wara li tiġi applikata l-bidla fil-kodiċi.

Sibna ħafna problemi b’dik l-evalwazzjoni li setgħu jwasslu biex il-kapaċità tal-mudelli tiġi rrappurtata inqas milli hi.

  • Xi unit tests kienu speċifiċi wisq jew mhux allinjati mal-kompitu, għalhekk tiswijiet korretti setgħu jiġu rrifjutati.
  • Ħafna dikjarazzjonijiet tal-kompiti ma kinux speċifikati biżżejjed, u dan seta’ jwassal għal bosta interpretazzjonijiet validi - filwaqt li t-testijiet kienu jkopru waħda speċifika biss.
  • Skont kif ikun stabbilit l-ambjent (pereżempju Linux vs Windows, jew il-verżjoni ta’ python), xi testijiet setgħu jonqsu b’mod falz

Ħloqna SWE-bench Verified fl-2024 biex nindirizzaw dawn il-problemi. Ħdimna ma’ inġiniera esperti tas-software biex nirrevedu 1,699 problema ta’ SWE-bench u niffiltraw barra problemi li kellhom dawn il-kwistjonijiet. Kull problema ġiet riveduta b’mod indipendenti minn tliet esperti. Dan il-proċess ta’ reviżjoni wassal għal SWE-bench Verified, sett ikkurat ta’ 500 problema.

Testijiet dojoq wisq u wesgħin wisq

Filwaqt li SWE-bench Verified hu titjib kbir fuq il-verżjoni inizjali, għad fadal problemi residwi. Għamilna verifika ta’ 138 problema ta’ SWE-bench Verified li OpenAI o3 ma solviex b’mod konsistenti tul 64 run indipendenti. Kull każ ġie rivedut b’mod indipendenti minn mill-inqas sitt inġiniera tas-software b’esperjenza. Jekk espert jimmarka problema, din terġa’ tiġi vverifikata minn tim addizzjonali.

Sibna li 59.4% mill-138 problema kien fihom problemi materjali fid-disinn tat-test u/jew fid-deskrizzjoni tal-problema, li jagħmluhom diffiċli ħafna jew impossibbli biex jissolvewhom anki l-aktar mudell jew bniedem kapaċi. 

  • 35.5% tal-kompiti verifikati għandhom każijiet ta’ test stretti li jinfurzaw dettalji speċifiċi ta’ implimentazzjoni, u b’hekk jinvalidaw ħafna sottomissjonijiet funzjonalment korretti, li aħna nsejħulhom każijiet ta’ test dojoq.
  • 18.8% tal-kompiti verifikati għandhom testijiet li jiċċekkjaw funzjonalità addizzjonali li ma kinitx speċifikata fid-deskrizzjoni tal-problema, li aħna nsejħulhom każijiet ta’ test wesgħin.
  • Il-5.1% li fadal tal-kompiti kellhom diversi problemi oħra li ma kinux miġbura tajjeb ma’ din it-tassonomija.

Eżempju illustrattiv tal-ewwel mod ta’ falliment hu pylint-dev__pylint-4551(jinfetaħ f’tieqa ġdida), fejn il-PR jintroduċi funzjoni ġdida `get_annotation` bħala parti mis-soluzzjoni ġenerali. Dan l-isem tal-funzjoni ma jissemmawx fid-deskrizzjoni tal-problema, iżda jiġi importat direttament mit-testijiet. Filwaqt li xi mudelli jistgħu jintuwixxu li joħolqu funzjoni bħal din, mhuwiex strettament meħtieġ li tiġi implimentata funzjoni b’dan l-isem speċifiku biex il-problema tiġi indirizzata b’mod korrett. Ħafna soluzzjonijiet validi jonqsu mit-testijiet minħabba żbalji fl-importazzjoni.

Deskrizzjoni tal-problema

Test sempliċi

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)]

Silta tat-test tal-PR

Python

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

Fallimenti tat-test tal-PR (imqassar biex jinqara aħjar)

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)

Eżempju ta’ każijiet ta’ test wesgħin wisq hu sympy__sympy-18199(jinfetaħ f’tieqa ġdida). Dan il-kompitu ttieħed minn PR li indirizza tliet kwistjonijiet distinti bil-funzjoni `nthroot_mod`, speċifikament #17373(jinfetaħ f’tieqa ġdida), #17377(jinfetaħ f’tieqa ġdida), u #18212(jinfetaħ f’tieqa ġdida). Id-deskrizzjoni għall-kompitu ta’ SWE-bench Verified, madankollu, tkopri biss l-aħħar issue #18212(jinfetaħ f’tieqa ġdida). Dan joħloq nuqqas ta’ qbil: it-testijiet tal-PR ikopru t-tliet issues kollha, filwaqt li d-deskrizzjoni tagħti dettalji ta’ waħda biss. Fir-runs tagħna, il-mudelli ta’ spiss jimplimentaw b’mod korrett it-tiswija deskritta u mbagħad jonqsu mit-testijiet li jkopru implimentazzjoni għaż-żewġ issues l-oħra.

Deskrizzjoni oriġinali tal-PR (mill-PR ta’ GitHub)

Test sempliċi

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

Deskrizzjoni tal-Problema għal #18212

Test sempliċi

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.

Deskrizzjoni tal-Problema għat-task ta’ SWE-bench Verified (meħuda biss minn #18212):

Test sempliċi

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.

Kontaminazzjoni

SWE-bench Verified u r-repożitorji (il-code bases u n-noti tar-rilaxx) huma t-tnejn open-source u użati u diskussi b’mod mifrux, u dan jagħmel l-evitar tal-kontaminazzjoni diffiċli għall-iżviluppaturi ta’ mudelli.

L-ewwel sinjali ta’ kontaminazzjoni ltqajna magħhom fil-mudelli tagħna stess. Pereżempju, meta GPT‑5.2 solva 31 kompitu li identifikajna bħala kważi impossibbli biex jiġu solvuti. F’django__django-14725(jinfetaħ f’tieqa ġdida) it-testijiet jeħtieġu parametru ġdid speċifiku `edit_only` li mhuwiex meħtieġ b’mod espliċitu mid-dikjarazzjoni tal-problema. Waqt li jsolvi l-problema, GPT‑5.2 juri fil-chain of thought tiegħu li għandu informazzjoni dwar in-noti tar-rilaxx li jagħtu dettalji tal-bidliet fil-codebase, u jidentifika b’mod korrett li l-parametru `edit_only` ġie introdott f’Django 4.1.

GPT‑5.2 CoT

Test sempliċi

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.

Biex nivvalutaw kemm hi sinifikanti l-kontaminazzjoni b’mod aktar wiesa’, ħloqna setup awtomatizzat ta’ red-teaming. Għal kull mistoqsija ta’ SWE-bench Verified, tajna lil GPT‑5 il-kompitu li jfittex kontaminazzjoni f’GPT‑5.2‑Chat, Claude Opus 4.5 u Gemini 3 Flash Preview. Dawn il-mudelli ntgħażlu biex jeskludu mudelli tar-raġunament, iżda nirrikonoxxu li x’aktarx hemm differenza mhux trivjali fil-kapaċità bejniethom.

Biex jfittex il-kontaminazzjoni, GPT‑5 irċieva: l-ID tal-kompitu ta’ SWE-bench Verified, id-deskrizzjoni, il-gold patch, u t-testijiet tal-PR. Tul 15-il turn, ippermettejna lil GPT‑5 jvarja l-prompt tas-sistema/tal-iżviluppatur, il-prompt tal-utent, u l-prefill tal-assistent kif ukoll strateġiji differenti ta’ eliċitazzjoni. Wara kull turn, mudell ġudikant ittikketta kemm dehret informazzjoni ġdida speċifika għall-kompitu u kull tweġiba ġiet ittikkettata għas-severità tal-kontaminazzjoni minn “xejn” sa “qawwija.” GPT‑5 tħalla jadatta l-istrateġija tiegħu abbażi tat-turns preċedenti biex jirkupra iterattivament dettalji speċifiċi għall-kompitu. Għal kull eżempju ta’ kontaminazzjoni qawwija, ivverifikajna ma’ ġudikant ieħor li GPT‑5 ma żvelax wisq informazzjoni lill-mudell fil-mira. Fl-aħħar, imbagħad irrevedejna manwalment l-eżempji “qawwija” li jiffurmaw it-traskrizzjonijiet f’din il-kariga.

Hawn taħt hemm eżempji ta’ kontaminazzjoni qawwija fost fornituri differenti ta’ mudelli.

GPT‑5.2 

Mogħti biċċa qasira mid-deskrizzjoni tal-kompitu, GPT‑5.2 joħroġ il-gold patch eżatt. B’mod partikolari, jaf l-isem eżatt tal-klassi u tal-metodu, u l-kundizzjoni ġdida ta’ ritorn kmieni `if username is None or password is None` li tiġi introdotta.

Eliċitazzjoni tal-kontaminazzjoni

Dikjarazzjoni tal-problema

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

Prompt tal-utent

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"

Tweġiba tal-mudell

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.

Gold patch

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 kapaċi mhux biss jiftakar il-bidla funzjonali eżatta ta’ 4 linji li introduċa l-PR, flimkien mal-isem speċifiku tal-fajl u l-metodu li mess, iżda wkoll jikkwota kelma b’kelma l-kumment inline li kien parti mid-diff. 

Eliċitazzjoni tal-kontaminazzjoni

Prompt tal-utent

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.

Mimli minn qabel

1
Let me be precise about the location and wording.

Tweġiba tal-assistent

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

Gold patch

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, meta ma tingħata ebda informazzjoni oħra dwar il-kompitu minbarra l-ID, kapaċi joħroġ kelma b’kelma dettalji mid-deskrizzjoni tal-kompitu u l-gold patch. Dan jinkludi l-formula ġdida tar-regex għall-validazzjoni tal-isem tal-utent u n-numri eżatti tal-linji għall-bidla.

Eliċitazzjoni tal-kontaminazzjoni

Dikjarazzjoni tal-problema

1
UsernameValidator allows trailing newline in usernames

Prompt tal-utent

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.

Mimli minn qabel

1
Let me be precise about the wording.

Tweġiba tal-mudell

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
```

Gold patch

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.'

Diskussjoni

Minn din il-verifika ta’ SWE-bench Verified, naraw żewġ lezzjonijiet usa’ għad-disinn tal-evalwazzjoni. L-ewwel, benchmarks meħuda minn materjal disponibbli pubblikament iġorru riskju ta’ kontaminazzjoni, fejn esponiment għad-data tat-taħriġ jista’ jintefaħ b’mod silenzjuż il-punteġġi. Jekk tintuża data miġbura pubblikament fil-kostruzzjoni tal-benchmark, l-iżviluppaturi ta’ mudelli għandhom jagħmlu testijiet addizzjonali għall-kontaminazzjoni. Il-benchmarks, u anke s-soluzzjonijiet tagħhom, ippubblikati pubblikament jistgħu jispiċċaw fid-data tat-taħriġ. Għandha tittieħed attenzjoni żejda kemm fil-mod kif jiġu ppubblikati s-settijiet tad-data (jiġifieri protetti b’password) kif ukoll fil-filtrazzjoni tad-data tat-taħriġ (jiġifieri aderenza stretta ma’ canary strings). 

It-tieni, l-iskorjar awtomatizzat hu diffiċli biex isir sew; każijiet ta’ test perfetti għandhom jivverifikaw kompletament il-funzjonalità korretta, ikunu kemm agnostiċi għal dettalji speċifiċi ta’ implimentazzjoni li mhumiex importanti kif ukoll robusti kontra soluzzjonijiet ta’ shortcut. Dawn il-problemi huma intrinsikament kumplessi u diffiċli biex jissolvew. Biex instabu dawn il-problemi kien hemm bżonn diversi kampanji estensivi ta’ ttikkettar uman. 

Inkorporajna dawn is-sejbiet fl-isforzi reċenti tagħna ta’ evalwazzjoni. Fl-aħħar xhur għażilna li nirrapportaw riżultati mis-split pubbliku ta’ SWE-Bench Pro. Nirrakkomandaw li żviluppaturi oħra ta’ mudelli jagħmlu l-istess. SWE-bench Pro mhux perfett, iżda empirikament jidher li jsofri inqas minn problemi ta’ kontaminazzjoni. Il-pipeline tagħna tal-kontaminazzjoni sab xi każijiet ta’ kontaminazzjoni, iżda dawn il-każijiet kienu ferm aktar rari u inqas gravi minn SWE-bench Verified, u l-ebda mudell ma seta’ jipproduċi gold patch sħiħ kelma b’kelma.

Se nkomplu ninvestu f’benchmarks oriġinali, miktuba privatament, u nitolbu l-għajnuna mill-industrija u mill-akkademja biex jagħmlu l-istess. F’GDPVal, il-kompiti jinkitbu privatament minn esperti tad-dominju, u dan inaqqas ir-riskju tal-esponiment, u s-soluzzjonijiet jiġu evalwati b’mod olistiku minn reviżuri mħarrġa. Dan l-approċċ juża ħafna riżorsi, iżda qed isir dejjem aktar meħtieġ biex jitkejlu titjibiet ġenwini fil-kapaċità.

Awtur

OpenAI