ಮುಖ್ಯ ವಿಷಯಕ್ಕೆ ನೇರವಾಗಿ ಹೋಗಿ
OpenAI

ಫೆಬ್ರವರಿ 23, 2026

ಸಂಶೋಧನೆಪ್ರಕಟಣೆ

SWE-bench ಪ್ರಮಾಣಿತ ಏಕೆ ಇನ್ನು ಮುಂದೆ ಅತ್ಯಾಧುನಿಕ ಕೋಡಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಅಳೆಯುವುದಿಲ್ಲ

SWE-bench ಪ್ರಮಾಣಿತವು ಹೆಚ್ಚುತ್ತಿರುವ ಮಟ್ಟಿಗೆ ಕಲುಷಿತವಾಗುತ್ತಿದೆ. ನಾವು SWE-bench Pro ಅನ್ನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.

ಲೋಡ್ ಆಗುತ್ತಿದೆ…

ನಾವು 2024ರ ಆಗಸ್ಟ್‌ನಲ್ಲಿ ಮೊದಲ ಬಾರಿ SWE-Bench ಪ್ರಮಾಣಿತ ಅನ್ನು ಪ್ರಕಟಿಸಿದ ನಂತರ, ಸ್ವಾಯತ್ತ ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್ ಕಾರ್ಯಗಳ ಪ್ರಗತಿಯನ್ನು ಅಳೆಯಲು ಉದ್ಯಮವು ಮಾಡೆಲ್‌ಗಳ ಪ್ರಗತಿಯನ್ನು ಅಳೆಯಲು ವ್ಯಾಪಕವಾಗಿ ಬಳಸುತ್ತಿದೆ. ಇದನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದ ನಂತರ, SWE-bench ಪ್ರಮಾಣಿತ ಸಾಮರ್ಥ್ಯ ಪ್ರಗತಿಯ ಬಲವಾದ ಸೂಚನೆಯನ್ನು ಒದಗಿಸಿತು ಮತ್ತು ಅತ್ಯಾಧುನಿಕ ಮಾಡೆಲ್ ಬಿಡುಗಡೆಗಳಲ್ಲಿ ವರದಿಯಾಗುವ ಮಾನಕ ಮೆಟ್ರಿಕ್ ಆಗಿದೆ. ಈ ಸಾಮರ್ಥ್ಯಗಳ ಪ್ರಗತಿಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು ಮತ್ತು ಮುನ್ಸೂಚಿಸುವುದೂ OpenAI ಯ ಪ್ರಿಪೇರ್ಡ್‌ನೆಸ್ ಫ್ರೇಮ್‌ವರ್ಕ್ನ ಪ್ರಮುಖ ಭಾಗವಾಗಿದೆ. ನಾವು ಪ್ರಮಾಣಿತ ಬೆಂಚ್ಮಾರ್ಕ್ ಅನ್ನು ಆರಂಭದಲ್ಲಿ ರಚಿಸಿದಾಗ, SWE-bench ಡೇಟಾಸೆಟ್(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ) ನಲ್ಲಿ ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಸಾಧಿಸಲು ಅಸಾಧ್ಯವಾಗುವಂತೆ ಮಾಡಿದ ಮೂಲ ಮೌಲ್ಯಮಾಪನದ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಪ್ರಯತ್ನಿಸಿದ್ದೇವೆ.

ಆರಂಭಿಕ ಜಿಗಿತಗಳ ನಂತರ, SWE-bench ಪ್ರಮಾಣಿತದಲ್ಲಿ ಅತ್ಯಾಧುನಿಕ ಪ್ರಗತಿ ನಿಧಾನಗೊಂಡಿದೆ, ಕಳೆದ 6 ತಿಂಗಳಲ್ಲಿ 74.9% ರಿಂದ 80.9% ಗೆ ಸುಧಾರಿಸಿದೆ(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ). ಇದು ಈ ಪ್ರಶ್ನೆಯನ್ನು ಎತ್ತುತ್ತದೆ: ಉಳಿದಿರುವ ವಿಫಲತೆಗಳು ಮಾಡೆಲ್‌ನ ಮಿತಿಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತವೆಯೇ ಅಥವಾ ಡೇಟಾಸೆಟ್‌ನ ಸ್ವಂತ ಗುಣಲಕ್ಷಣಗಳನ್ನು ತೋರಿಸುತ್ತವೆಯೇ?

ಹೊಸ ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ, ಪ್ರಮಾಣಿತ ಸೆಟ್‌ನಲ್ಲಿ ನಾವು ಎರಡು ಪ್ರಮುಖ ಸಮಸ್ಯೆಗಳನ್ನು ಕಂಡುಹಿಡಿದಿದ್ದೇವೆ. ಇವು ಇಂದಿನ ಕಾರ್ಯಕ್ಷಮತಾ ಮಟ್ಟಗಳಲ್ಲಿ ಅತ್ಯಾಧುನಿಕ ಲಾಂಚ್‌ಗಳಿಗಾಗಿ ಸ್ವಾಯತ್ತ ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳ ಪ್ರಗತಿಯನ್ನು ಅಳೆಯಲು ಈ ಬೆಂಚ್‌ಮಾರ್ಕ್ ಸೂಕ್ತವಲ್ಲ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತವೆ. ಅವುಗಳೆಂದರೆ:

  1. ಪರೀಕ್ಷೆಗಳು ಸರಿಯಾದ ಪರಿಹಾರಗಳನ್ನು ತಿರಸ್ಕರಿಸುತ್ತವೆ: ಮಾಡೆಲ್‌ಗಳು ಆಗಾಗ್ಗೆ ಪರಿಹರಿಸಲು ವಿಫಲವಾದ ಡೇಟಾಸೆಟ್‌ನ 27.6% ಉಪಸಮೂಹವನ್ನು ನಾವು ಆಡಿಟ್ ಮಾಡಿದೆವು. ಆಡಿಟ್ ಮಾಡಿದ ಸಮಸ್ಯೆಗಳ ಕನಿಷ್ಠ 59.4%ರಲ್ಲಿ ಕಾರ್ಯಾತ್ಮಕವಾಗಿ ಸರಿಯಾದ ಸಲ್ಲಿಕೆಗಳನ್ನು ತಿರಸ್ಕರಿಸುವ ದೋಷಪೂರಿತ ಟೆಸ್ಟ್ ಕೇಸ್‌ಗಳು ಇವೆ ಎಂದು ಕಂಡುಹಿಡಿದೆವು. SWE-bench ಪ್ರಮಾಣಿತವನ್ನು ಪ್ರಾರಂಭಿಕವಾಗಿ ರಚಿಸುವಾಗ ಇದನ್ನು ಸುಧಾರಿಸಲು ನಮ್ಮ ಅತ್ಯುತ್ತಮ ಪ್ರಯತ್ನಗಳಿದ್ದರೂ ಸಹ.
  2. ಪರಿಹಾರಗಳ ಮೇಲೆ ಟ್ರೈನಿಂಗ್: ದೊಡ್ಡ ಅತ್ಯಾಧುನಿಕ ಮಾಡೆಲ್‌ಗಳು ತಮ್ಮ ಟ್ರೈನಿಂಗ್‌ನಿಂದ ಮಾಹಿತಿಯನ್ನು ಕಲಿಯಬಹುದಾದ್ದರಿಂದ, ಅವುಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಪರಿಹಾರಗಳ ಮೇಲೆ ಅವುಗಳಿಗೆ ಎಂದಿಗೂ ಟ್ರೈನಿಂಗ್ ನೀಡದಿರುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಇದು ಪರೀಕ್ಷೆಗೆ ಮೊದಲು ವಿದ್ಯಾರ್ಥಿಗಳೊಂದಿಗೆ ಮುಂಬರುವ ಪರೀಕ್ಷೆಯ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಪರಿಹಾರಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುವಂತೆಯೇ - ಅವರು ಉತ್ತರವನ್ನು ಕಂಠಪಾಠ ಮಾಡದೇ ಇರಬಹುದು, ಆದರೆ ಮೊದಲು ಉತ್ತರಗಳನ್ನು ನೋಡಿರುವ ವಿದ್ಯಾರ್ಥಿಗಳು, ನೋಡದೇ ಇರುವವರಿಗಿಂತ ಖಂಡಿತವಾಗಿಯೂ ಉತ್ತಮವಾಗಿ ಮಾಡುತ್ತಾರೆ. SWE-bench ಸಮಸ್ಯೆಗಳು ಅನೇಕ ಮಾಡೆಲ್ ಪೂರೈಕೆದಾರರು ತರಬೇತಿ ಉದ್ದೇಶಗಳಿಗೆ ಬಳಸುವ ಮುಕ್ತ-ಮೂಲ ರಿಪೊಸಿಟರಿಗಳಿಂದ ಪಡೆಯಲ್ಪಟ್ಟಿವೆ. ನಮ್ಮ ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ, ನಾವು ಪರೀಕ್ಷಿಸಿದ ಎಲ್ಲಾ ಅತ್ಯಾಧುನಿಕ ಮಾಡೆಲ್‌ಗಳು ಆಧಾರಭೂತ ಸತ್ಯದ ಉಲ್ಲೇಖವಾಗಿ ಬಳಸಿದ ಮೂಲ, ಮಾನವ-ಬರೆದ ಬಗ್ ಫಿಕ್ಸ್ ಅನ್ನು (ಗೋಲ್ಡ್ ಪ್ಯಾಚ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ) ಅಥವಾ ಕೆಲವು ಕಾರ್ಯಗಳಿಗೆ ಪದಶಃ ಸಮಸ್ಯೆ ಹೇಳಿಕೆಯ ವಿಶೇಷ ವಿವರಗಳನ್ನು ಪುನರುತ್ಪಾದಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಎಂದು ಕಂಡುಬಂದಿದೆ, ಇದು ತರಬೇತಿಯ ಸಮಯದಲ್ಲಿ ಅವುಗಳೆಲ್ಲವೂ ಕನಿಷ್ಠ ಕೆಲವು ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಪರಿಹಾರಗಳನ್ನು ನೋಡಿವೆ ಎಂಬುದನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಟ್ರೈನಿಂಗ್ ಸಮಯದಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ನೋಡಿರುವ ಮಾಡೆಲ್‌ಗಳು ಯಶಸ್ವಿಯಾಗುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚು ಎಂಬುದಕ್ಕೆ ನಾವು ಸಾಕ್ಷ್ಯವನ್ನೂ ಕಂಡುಕೊಂಡಿದ್ದೇವೆ, ಏಕೆಂದರೆ ಸಮರ್ಪಕವಾಗಿ ನಿರ್ದಿಷ್ಟಗೊಳಿಸದ ಪರೀಕ್ಷೆಗಳನ್ನು ಉತ್ತೀರ್ಣಗೊಳ್ಳಲು ಅಗತ್ಯವಿರುವ ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು ಅವು ಹೊಂದಿರುತ್ತವೆ.

ಇದರರ್ಥ SWE-bench ಪ್ರಮಾಣಿತದ ಮೇಲಿನ ಸುಧಾರಣೆಗಳು ಇನ್ನು ಮುಂದೆ ಮಾಡೆಲ್‌ಗಳ ನೈಜ ಜಗತ್ತಿನ ಸಾಫ್ಟ್‌ವೇರ್ ಅಭಿವೃದ್ಧಿ ಸಾಮರ್ಥ್ಯಗಳಲ್ಲಿ ಅರ್ಥಪೂರ್ಣ ಸುಧಾರಣೆಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಅವುಗಳು ಟ್ರೈನಿಂಗ್ ಸಮಯದಲ್ಲಿ ಮಾಡೆಲ್ ಬೆಂಚ್ಮಾರ್ಕ್‌ಗೆ ಎಷ್ಟು ಮಟ್ಟಿಗೆ ಒಡ್ಡಿಕೊಂಡಿತ್ತು ಎಂಬುದನ್ನು ಹೆಚ್ಚಾಗಿ ಪ್ರತಿಬಿಂಬಿಸುತ್ತವೆ. ಇದಕ್ಕಾಗಿಯೇ ನಾವು SWE-bench ಪ್ರಮಾಣಿತ ಸ್ಕೋರ್‌ಗಳನ್ನು ವರದಿ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿದ್ದೇವೆ ಮತ್ತು ಇತರ ಮಾಡೆಲ್ ಡೆವಲಪರ್‌ಗಳೂ ಹಾಗೆ ಮಾಡುವಂತೆ ನಾವು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.

ಕೋಡಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಉತ್ತಮವಾಗಿ ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ನಾವು ಹೊಸ, ಮಾಲಿನ್ಯರಹಿತ ಮೌಲ್ಯಮಾಪನಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದೇವೆ. ವಿಶಾಲ ಸಂಶೋಧನಾ ಸಮುದಾಯಕ್ಕಾಗಿ ಇದು ಗಮನಹರಿಸಬೇಕಾದ ಪ್ರಮುಖ ಕ್ಷೇತ್ರವಾಗಿದೆ. ಅವುಗಳು ನಮಗೆ ಸಿಗುವವರೆಗೆ, SWE-bench Pro ಗಾಗಿ ಫಲಿತಾಂಶಗಳನ್ನು ವರದಿ ಮಾಡಲು OpenAI ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ.

ಹಿನ್ನೆಲೆ

ಮೂಲ SWE-bench(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ) ಮೌಲ್ಯಮಾಪನವನ್ನು 2023ರಲ್ಲಿ ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು. ಪ್ರತಿ ಸಮಸ್ಯೆಯನ್ನು 12 ಓಪನ್-ಸೋರ್ಸ್ Python ರಿಪೊಸಿಟರಿಗಳಲ್ಲೊಂದರ ಪರಿಹರಿಸಲಾದ GitHub issue ನಿಂದ ಪಡೆಯಲಾಗಿದ್ದು, ಸಂಬಂಧಿತ pull request (PR) ಜೊತೆಗೆ ಜೋಡಿಸಲಾಗಿದೆ. ಮಾಡೆಲ್-ರಚಿತ ಕೋಡ್ ಬದಲಾವಣೆ ಸರಿಯಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು, ಪ್ರತಿ ಸಮಸ್ಯೆಯೊಂದಿಗೆ ಎರಡು ಸೆಟ್‌ಗಳ ಪರೀಕ್ಷೆಗಳು ಬರುತ್ತವೆ:

  • ಮಾರ್ಪಡಿಸದ ಕೋಡ್‌ಬೇಸ್‌ನಲ್ಲಿ ವಿಫಲವಾಗುವ, ಆದರೆ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಯಾಗಿ ಪರಿಹರಿಸಿದರೆ ಪಾಸ್ ಆಗುವ ಪರೀಕ್ಷೆಗಳು.
  • ಸಂಬಂಧವಿಲ್ಲದ ಕಾರ್ಯನಿರ್ವಹಣೆ ಅಕ್ಷುಣ್ಣವಾಗಿಯೇ ಉಳಿಯುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಲು, ಪರಿಹಾರದ ಮೊದಲು ಮತ್ತು ನಂತರ ಎರಡೂ ಉತ್ತೀರ್ಣವಾಗುವ ರಿಗ್ರೆಷನ್ ಪರೀಕ್ಷೆಗಳು.

ಮಾಡೆಲ್ ಪರೀಕ್ಷೆಗಳನ್ನು ನೋಡುವುದಿಲ್ಲ. ಮೂಲ ಇಶ್ಯೂ ಪಠ್ಯ ಮತ್ತು ಫಿಕ್ಸ್‌ಗೆ ಮೊದಲು ರಿಪೊಸಿಟರಿ ಸ್ಥಿತಿಯನ್ನು ಮಾತ್ರ ನೀಡಿದಾಗ, ಇದು ಕೋಡ್ ಬದಲಾವಣೆಯನ್ನು ಉತ್ಪಾದಿಸಬೇಕು. ಕೋಡ್ ಬದಲಾವಣೆಯನ್ನು ಅನ್ವಯಿಸಿದ ನಂತರ ಎಲ್ಲಾ ಪರೀಕ್ಷೆಗಳು ಉತ್ತೀರ್ಣವಾಗಿದ್ದರೆ ಮಾತ್ರ ಅದು ಸಮಸ್ಯೆಯನ್ನು ಪಾಸ್ ಮಾಡುತ್ತದೆ.

ಆ ಮೌಲ್ಯಮಾಪನದಲ್ಲಿ ನಾವು ಅನೇಕ ಸಮಸ್ಯೆಗಳನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ. ಅವು ಮಾಡೆಲ್‌ಗಳ ಸಾಮರ್ಥ್ಯವನ್ನು ಕಡಿಮೆ ವರದಿ ಮಾಡುವುದಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು.

  • ಕೆಲವು ಯೂನಿಟ್ ಪರೀಕ್ಷೆಗಳು ಅತಿಯಾಗಿ ನಿರ್ದಿಷ್ಟವಾಗಿದ್ದವು ಅಥವಾ ಕಾರ್ಯದೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗಿರಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಸರಿಯಾದ ದೋಷ ಪರಿಹಾರಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಯಿತು.
  • ಅನೇಕ ಕಾರ್ಯ ಹೇಳಿಕೆಗಳು ಅಪರ್ಯಾಪ್ತವಾಗಿ ನಿರ್ದಿಷ್ಟಗೊಳಿಸಲಾಗಿದ್ದವು, ಇದರಿಂದ ಅನೇಕ ಮಾನ್ಯ ಅರ್ಥೈಸಿಕೆಗಳಿಗೆ ದಾರಿ ಮಾಡಿಕೊಡಬಹುದು. ಆದರೆ ಪರೀಕ್ಷೆಗಳು ಕೇವಲ ಒಂದು ನಿರ್ದಿಷ್ಟದನ್ನೇ ಒಳಗೊಂಡಿದ್ದವು.
  • ಪರಿಸರದ ಸೆಟಪ್‌ನ ಮೇಲೆ ಅವಲಂಬಿಸಿ (ಉದಾಹರಣೆಗೆ Linux vs Windows ಅಥವಾ python ಆವೃತ್ತಿ), ಕೆಲವು ಪರೀಕ್ಷೆಗಳು ತಪ್ಪಾಗಿ ವಿಫಲವಾಗಬಹುದು

ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ನಾವು 2024ರಲ್ಲಿ SWE-bench ಪ್ರಮಾಣಿತ ಅನ್ನು ರಚಿಸಿದ್ದೇವೆ. ನಾವು ಪರಿಣಿತ ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ 1,699 SWE-bench ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ಈ ಸಮಸ್ಯೆಗಳಿದ್ದ ಸಮಸ್ಯೆಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ ಹೊರಗಿಟ್ಟೆವು. ಪ್ರತಿ ಸಮಸ್ಯೆಯನ್ನು ಮೂರು ತಜ್ಞರು ಸ್ವತಂತ್ರವಾಗಿ ಪರಿಶೀಲಿಸಿದರು. ಈ ವಿಮರ್ಶಾ ಪ್ರಕ್ರಿಯೆಯ ಫಲವಾಗಿ SWE-bench ಪ್ರಮಾಣಿತ, 500 ಸಮಸ್ಯೆಗಳ ಆಯ್ದ ಸಂಗ್ರಹ, ಸಿದ್ಧವಾಯಿತು.

ತುಂಬಾ ಕಿರಿದಾದ ಮತ್ತು ತುಂಬಾ ಅಗಲವಾದ ಪರೀಕ್ಷೆಗಳು

SWE-bench ಪ್ರಮಾಣಿತ ಪ್ರಾರಂಭಿಕ ಆವೃತ್ತಿಗಿಂತ ದೊಡ್ಡ ಸುಧಾರಣೆಯಾಗಿದ್ದರೂ, ಉಳಿದಿರುವ ಸಮಸ್ಯೆಗಳು ಇನ್ನೂ ಉಳಿದಿವೆ. OpenAI o3 64 ಸ್ವತಂತ್ರ ರನ್‌ಗಳಾದ್ಯಂತ ಸತತವಾಗಿ ಪರಿಹರಿಸದ 138 SWE-bench ಪ್ರಮಾಣಿತ ಸಮಸ್ಯೆಗಳ ಆಡಿಟ್ ಅನ್ನು ನಾವು ನಡೆಸಿದ್ದೇವೆ. ಪ್ರತಿ ಪ್ರಕರಣವನ್ನು ಕನಿಷ್ಠ ಆರು ಅನುಭವಜ್ಞ ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರ್ಸ್ ಸ್ವತಂತ್ರವಾಗಿ ಪರಿಶೀಲಿಸಿದರು. ಒಬ್ಬ ತಜ್ಞರು ಸಮಸ್ಯೆಯನ್ನು ಫ್ಲಾಗ್ ಮಾಡಿದರೆ, ಅದನ್ನು ಹೆಚ್ಚುವರಿ ತಂಡವೊಂದು ಮರು-ಪರಿಶೀಲಿಸಲಾಯಿತು.

138 ಸಮಸ್ಯೆಗಳಲ್ಲಿನ 59.4%ರಲ್ಲಿ ಪರೀಕ್ಷಾ ವಿನ್ಯಾಸ ಮತ್ತು/ಅಥವಾ ಸಮಸ್ಯೆಯ ವಿವರಣೆಯಲ್ಲಿ ಪ್ರಮುಖ ದೋಷಗಳು ಇದ್ದವು ಎಂದು ನಾವು ಕಂಡುಕೊಂಡೆವು. ಇದರಿಂದ ಅವುಗಳನ್ನು ಅತ್ಯಂತ ಸಾಮರ್ಥ್ಯವಿರುವ ಮಾಡೆಲ್ ಅಥವಾ ಮಾನವನಿಗೂ ಪರಿಹರಿಸುವುದು ಅತ್ಯಂತ ಕಷ್ಟಕರ ಅಥವಾ ಅಸಾಧ್ಯವಾಗುತ್ತದೆ. 

  • ಆಡಿಟ್ ಮಾಡಿದ ಕಾರ್ಯಗಳ 35.5% ನಿರ್ದಿಷ್ಟ ಅನುಷ್ಠಾನ ವಿವರಗಳನ್ನು ಕಡ್ಡಾಯಗೊಳಿಸುವ ಕಠಿಣ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳನ್ನು ಹೊಂದಿವೆ, ಇದರಿಂದ ಕಾರ್ಯಾತ್ಮಕವಾಗಿ ಸರಿಯಾದ ಅನೇಕ ಸಲ್ಲಿಕೆಗಳು ಅಮಾನ್ಯವಾಗುತ್ತವೆ, ಇದನ್ನು ನಾವು ಸಂಕುಚಿತ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳು ಎಂದು ಕರೆಯುತ್ತೇವೆ.
  • ಆಡಿಟ್ ಮಾಡಿದ ಕಾರ್ಯಗಳ 18.8% ರಲ್ಲಿ ಸಮಸ್ಯೆಯ ವಿವರಣೆಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸದ ಹೆಚ್ಚುವರಿ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರಿಶೀಲಿಸುವ ಪರೀಕ್ಷೆಗಳು ಇವೆ, ಅವನ್ನು ನಾವು ಅಗಲದ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳು ಎಂದು ಕರೆಯುತ್ತೇವೆ.
  • ಉಳಿದ 5.1% ಕಾರ್ಯಗಳಲ್ಲಿ ಈ ಟ್ಯಾಕ್ಸಾನಮಿಯೊಂದಿಗೆ ಚೆನ್ನಾಗಿ ಗುಂಪು ಮಾಡಲಾಗದ ವಿವಿಧ ಸಮಸ್ಯೆಗಳು ಕಂಡುಬಂದವು.

ಮೊದಲ ವೈಫಲ್ಯ ಮೋಡ್‌ನ ಒಂದು ವಿವರಣಾತ್ಮಕ ಉದಾಹರಣೆ pylint-dev__pylint-4551(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ), ಇಲ್ಲಿ PR ಒಟ್ಟಾರೆ ಪರಿಹಾರದ ಭಾಗವಾಗಿ ಹೊಸ ಫಂಕ್ಷನ್ `get_annotation` ಅನ್ನು ಪರಿಚಯಿಸುವುದು. ಈ ಫಂಕ್ಷನ್ ಹೆಸರನ್ನು ಸಮಸ್ಯೆಯ ವಿವರಣೆಯಲ್ಲಿ ಉಲ್ಲೇಖಿಸಿಲ್ಲ, ಆದರೆ ಟೆಸ್ಟ್‌ಗಳು ಅದನ್ನು ನೇರವಾಗಿ ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತವೆ. ಕೆಲವು ಮಾಡೆಲ್‌ಗಳು ಅಂತಹ ಕಾರ್ಯವನ್ನು ರಚಿಸಲು ಸಹಜವಾಗಿ ಊಹಿಸಬಹುದಾದರೂ, ಸಮಸ್ಯೆಯನ್ನು ಸರಿಯಾಗಿ ಪರಿಹರಿಸಲು ಈ ನಿರ್ದಿಷ್ಟ ಹೆಸರಿನೊಂದಿಗೆ ಕಾರ್ಯವನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸುವುದು ಕಡ್ಡಾಯವಾಗಿ ಅಗತ್ಯವಿಲ್ಲ. ಅನೇಕ ಮಾನ್ಯ ಪರಿಹಾರಗಳು ಇಂಪೋರ್ಟ್ ದೋಷಗಳ ಕಾರಣದಿಂದ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ವಿಫಲವಾಗುತ್ತವೆ.

ಸಮಸ್ಯೆಯ ವಿವರಣೆ

ಸರಳ ಪಠ್ಯ

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 ಪರೀಕ್ಷಾ ಸ್ನಿಪೆಟ್

Python

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

PR ಪರೀಕ್ಷಾ ವೈಫಲ್ಯಗಳು (ಓದಲು ಸುಲಭವಾಗುವಂತೆ ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸಲಾಗಿದೆ)

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)

ಅತಿಯಾಗಿ ಅಗಲವಾದ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳ ಒಂದು ಉದಾಹರಣೆ sympy__sympy-18199(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ). ಈ ಕಾರ್ಯವು `nthroot_mod` ಫಂಕ್ಷನ್‌ನೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ಮೂರು ವಿಭಿನ್ನ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಿದ PR ನಿಂದ ಮೂಲಗೊಂಡಿತ್ತು, ವಿಶೇಷವಾಗಿ #17373(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ), #17377(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ) ಮತ್ತು #18212(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ). ಆದಾಗ್ಯೂ, SWE-bench ಪ್ರಮಾಣಿತ ಕಾರ್ಯದ ವಿವರಣೆ ಅಂತಿಮ ಇಶ್ಯೂ #18212(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ) ಅನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿದೆ. ಇದು ಅಸಮತೋಲನವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ: PR ಪರೀಕ್ಷೆಗಳು ಎಲ್ಲಾ ಮೂರು ಸಮಸ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿವೆ, ಆದರೆ ವಿವರಣೆ ಕೇವಲ ಒಂದನ್ನೇ ವಿವರಿಸುತ್ತದೆ. ನಮ್ಮ ರನ್‌ಗಳಲ್ಲಿ, ಮಾಡೆಲ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ವಿವರಿಸಿದ ತಿದ್ದುಪಡಿಯನ್ನು ಸರಿಯಾಗಿ ಅನುಷ್ಠಾನಗೊಳಿಸುತ್ತವೆ ಮತ್ತು ನಂತರ ಉಳಿದ ಎರಡು ಸಮಸ್ಯೆಗಳ ಅನುಷ್ಠಾನವನ್ನು ಒಳಗೊಂಡಿರುವ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ವೈಫಲ್ಯಗೊಳ್ಳುತ್ತವೆ.

ಮೂಲ PR ವಿವರಣೆ (GitHub PR ನಿಂದ)

ಸರಳ ಪಠ್ಯ

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

#18212 ಗಾಗಿ ಸಮಸ್ಯೆಯ ವಿವರಣೆ

ಸರಳ ಪಠ್ಯ

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 ಪ್ರಮಾಣಿತ ಕಾರ್ಯಕ್ಕಾಗಿ ಸಮಸ್ಯೆಯ ವಿವರಣೆ (ಕೇವಲ #18212 ರಿಂದ ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ).

ಸರಳ ಪಠ್ಯ

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 ಪ್ರಮಾಣಿತ ಮತ್ತು ರಿಪೊಸಿಟರಿಗಳು (ಕೋಡ್ ಬೇಸ್‌ಗಳು ಮತ್ತು ರಿಲೀಸ್ ನೋಟ್‌ಗಳು) ಎರಡೂ ಓಪನ್-ಸೋರ್ಸ್ ಆಗಿದ್ದು ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲ್ಪಡುತ್ತವೆ ಮತ್ತು ಚರ್ಚಿಸಲ್ಪಡುತ್ತವೆ, ಇದರಿಂದ ಮಾಡೆಲ್ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಕಂಟಾಮಿನೇಶನ್ ತಪ್ಪಿಸುವುದು ಕಷ್ಟವಾಗುತ್ತದೆ.

ನಾವು ಮೊದಲಿಗೆ ನಮ್ಮದೇ ಮಾಡೆಲ್‌ಗಳಲ್ಲಿ ಮಾಲಿನ್ಯದ ಲಕ್ಷಣಗಳನ್ನು ಕಂಡುಹಿಡಿದಿದ್ದೇವೆ. ಉದಾಹರಣೆಗೆ, GPT‑5.2 ನಾವು ಪರಿಹರಿಸಲು ಬಹುತೇಕ ಅಸಾಧ್ಯವೆಂದು ಗುರುತಿಸಿದ್ದ 31 ಕಾರ್ಯಗಳನ್ನು ಪರಿಹರಿಸಿದಾಗ. django__django-14725(ಹೊಸ ಕಿಟಕಿಯಲ್ಲಿ ತೆರೆಯುತ್ತದೆ) ನಲ್ಲಿ ಪರೀಕ್ಷೆಗಳು ಸಮಸ್ಯೆ ಹೇಳಿಕೆಯಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ಅಗತ್ಯವಿಲ್ಲದ ನಿರ್ದಿಷ್ಟ ಹೊಸ ಪರಾಮೀಟರ್ `edit_only` ಅನ್ನು ಅಗತ್ಯವಿದೆ ಎಂದು ತೋರಿಸುತ್ತವೆ. ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವಾಗ, GPT‑5.2 ತನ್ನ ಚೈನ್-ಆಫ್-ಥಾಟ್‌ನಲ್ಲಿ ಕೋಡ್‌ಬೇಸ್‌ಗೆ ಮಾಡಿದ ಬದಲಾವಣೆಗಳನ್ನು ವಿವರಿಸುವ ರಿಲೀಸ್ ನೋಟ್‌ಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿ ಹೊಂದಿದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ ಮತ್ತು `edit_only` ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು Django 4.1 ನಲ್ಲಿ ಪರಿಚಯಿಸಲಾಯಿತು ಎಂದು ಸರಿಯಾಗಿ ಗುರುತಿಸುತ್ತದೆ.

GPT‑5.2 CoT

ಸರಳ ಪಠ್ಯ

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.

ಮಾಲಿನ್ಯವು ಹೆಚ್ಚು ವ್ಯಾಪಕವಾಗಿ ಎಷ್ಟು ಪ್ರಭಾವಶಾಲಿಯಾಗಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ನಾವು ಸ್ವಯಂಚಾಲಿತ ರೆಡ್ ಟೀಮಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸಿದ್ದೇವೆ. ಪ್ರತಿ SWE-bench ಪ್ರಮಾಣಿತ ಪ್ರಶ್ನೆಗೆ, ನಾವು GPT‑5 ಗೆ GPT‑5.2‑Chat ಅನ್ನು ಪರಿಶೀಲಿಸಲು ಕಾರ್ಯವನ್ನು ನೀಡಿದ್ದೇವೆ. Claude Opus 4.5 ಮತ್ತು Gemini 3 Flash Preview ಮಾಲಿನ್ಯವನ್ನು ಪರಿಶೀಲಿಸಲು. ಈ ಮಾಡೆಲ್‌ಗಳನ್ನು ರೀಜನಿಂಗ್ ಮಾಡೆಲ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಲು ಆಯ್ಕೆ ಮಾಡಲಾಯಿತು, ಆದರೆ ಅವುಗಳ ನಡುವೆ ಅಲ್ಪವಲ್ಲದ ಸಾಮರ್ಥ್ಯದ ಅಂತರವಿದೆ ಎಂಬುದನ್ನು ನಾವು ಒಪ್ಪುತ್ತೇವೆ.

ಮಾಲಿನ್ಯವನ್ನು ಪರಿಶೀಲಿಸಲು, GPT‑5 ಗೆ SWE-bench ಪ್ರಮಾಣಿತ ಕಾರ್ಯದ ID, ವಿವರಣೆ, ಗೋಲ್ಡ್ ಪ್ಯಾಚ್ ಮತ್ತು PR ಪರೀಕ್ಷೆಗಳು ನೀಡಲಾಯಿತು. 15 ಕ್ಕಿಂತ ಹೆಚ್ಚು ಟರ್ನ್‌ಗಳಲ್ಲಿ, ನಾವು GPT‑5 ಗೆ ಸಿಸ್ಟಮ್/ಡೆವಲಪರ್ ಪ್ರಾಂಪ್ಟ್, ಬಳಕೆದಾರರ ಪ್ರಾಂಪ್ಟ್, ಮತ್ತು ಅಸಿಸ್ಟಂಟ್ ಪ್ರಿಫಿಲ್ ಹಾಗೂ ವಿಭಿನ್ನ ಎಲಿಸಿಟೇಶನ್ ತಂತ್ರಗಳನ್ನು ಬದಲಾಯಿಸಲು ಅವಕಾಶ ನೀಡಿದೆವು. ಪ್ರತಿ ತಿರುವಿನ ನಂತರ, “ಜಡ್ಜ್” ಮಾಡೆಲ್ ಎಷ್ಟು ಹೊಸ ಕಾರ್ಯ-ನಿರ್ದಿಷ್ಟ ಮಾಹಿತಿಯು ಕಾಣಿಸಿಕೊಂಡಿತು ಎಂದು ಲೇಬಲ್ ಮಾಡಿತು ಮತ್ತು ಪ್ರತಿಯೊಂದು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು “ಏನೂ ಇಲ್ಲ” ರಿಂದ “ಬಲಿಷ್ಠ” ವರೆಗೆ ಮಾಲಿನ್ಯ ತೀವ್ರತೆಯಾಗಿ ಲೇಬಲ್ ಮಾಡಲಾಯಿತು. GPT‑5 ಗೆ ಹಿಂದಿನ ಟರ್ನ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ತನ್ನ ತಂತ್ರವನ್ನು ಹೊಂದಿಕೊಳ್ಳಲು ಅವಕಾಶ ನೀಡಲಾಗಿತ್ತು, ಇದರಿಂದ ಕಾರ್ಯ-ನಿರ್ದಿಷ್ಟ ವಿವರಗಳನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ ಮರುಪಡೆಯಲು ಸಾಧ್ಯವಾಯಿತು. ಬಲವಾದ ಕಲುಷಿತತೆಯ ಪ್ರತಿಯೊಂದು ಉದಾಹರಣೆಗೆ, GPT‑5 ಗುರಿ ಮಾಡೆಲ್‌ಗೆ ಅತಿಯಾದ ಮಾಹಿತಿಯನ್ನು ಸೋರಿಸಿಲ್ಲವೆಂದು ನಾವು ಮತ್ತೊಬ್ಬ ಜಡ್ಜ್‌ನೊಂದಿಗೆ ಪರಿಶೀಲಿಸಿದ್ದೇವೆ. ಅಂತಿಮವಾಗಿ, ನಂತರ ನಾವು ಈ ಪೋಸ್ಟ್‌ನಲ್ಲಿನ ಪ್ರತಿಲೇಖನಗಳನ್ನು ರೂಪಿಸುವ “ಬಲವಾದ” ಉದಾಹರಣೆಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಪರಿಶೀಲಿಸಿದೆವು.

ಕೆಳಗೆ ವಿಭಿನ್ನ ಮಾಡೆಲ್ ಪೂರೈಕೆದಾರರಿಂದ ಬಲವಾದ ಕಲುಷಿತತೆಯ ಉದಾಹರಣೆಗಳನ್ನು ನೀಡಲಾಗಿದೆ.

GPT‑5.2 

ಕಾರ್ಯದ ವಿವರಣೆಯಿಂದ ನೀಡಲಾದ ಒಂದು ಚಿಕ್ಕ ತುಣುಕನ್ನು ಆಧರಿಸಿ, GPT‑5.2 ನಿಖರವಾದ ಗೋಲ್ಡ್ ಪ್ಯಾಚ್ ಅನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡುತ್ತದೆ. ವಿಶೇಷವಾಗಿ, ಇದು ನಿಖರವಾದ ಕ್ಲಾಸ್ ಮತ್ತು ಮೆಥಡ್ ಹೆಸರನ್ನು, ಮತ್ತು ಪರಿಚಯಿಸಲಾದ ಹೊಸ ಆರಂಭಿಕ ಹಿಂತಿರುಗಿಸುವಿಕೆ ಷರತ್ತು `ಬಳಕೆದಾರಹೆಸರು ಯಾವುದೂ ಇಲ್ಲ ಅಥವಾ ಪಾಸ್‌ವರ್ಡ್ ಯಾವುದೂ ಅಲ್ಲ` ಅನ್ನು ತಿಳಿದುಕೊಳ್ಳುತ್ತದೆ.

ಮಾಲಿನ್ಯ ಹೊರತೆಗೆಯುವುದು

ಸಮಸ್ಯೆ ಹೇಳಿಕೆ

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

ಬಳಕೆದಾರ ಪ್ರಾಂಪ್ಟ್

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"

ಮಾಡೆಲ್ ಪ್ರತಿಕ್ರಿಯೆ

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.

ಗೋಲ್ಡ್ ಪ್ಯಾಚ್

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 ಪರಿಚಯಿಸಿದ ನಿಖರವಾದ 4-ಸಾಲು ಕಾರ್ಯಾತ್ಮಕ ಬದಲಾವಣೆಯನ್ನು, ಅದು ಸ್ಪರ್ಶಿಸಿದ ನಿರ್ದಿಷ್ಟ ಫೈಲ್ ಹೆಸರು ಮತ್ತು ವಿಧಾನದ ಜೊತೆಗೆ, ನೆನಪಿಸಿಕೊಳ್ಳಲು ಮಾತ್ರವಲ್ಲದೆ, ಡಿಫ್‌ನ ಭಾಗವಾಗಿದ್ದ ಇನ್‌ಲೈನ್ ಕಾಮೆಂಟ್ ಅನ್ನು ಅಕ್ಷರಶಃ ಉಲ್ಲೇಖಿಸುತ್ತದೆ. 

ಮಾಲಿನ್ಯ ಹೊರತೆಗೆಯುವುದು

ಬಳಕೆದಾರ ಪ್ರಾಂಪ್ಟ್

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.

ಪೂರ್ವಭರ್ತಿ

1
Let me be precise about the location and wording.

ಸಹಾಯಕ ಪ್ರತಿಕ್ರಿಯೆ

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

ಗೋಲ್ಡ್ ಪ್ಯಾಚ್

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 ಹೊರತುಪಡಿಸಿ ಕಾರ್ಯದ ಕುರಿತು ಇನ್ನಷ್ಟು ಮಾಹಿತಿ ನೀಡದಿದ್ದಾಗ, ಕಾರ್ಯ ವಿವರಣೆ ಮತ್ತು ಗೋಲ್ಡ್ ಪ್ಯಾಚ್‌ನಿಂದ ಅಕ್ಷರಶಃ ವಿವರಗಳನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಇದರಲ್ಲಿ ಬಳಕೆದಾರಹೆಸರಿನ ಮಾನ್ಯತೆಗಾಗಿ ಹೊಸ regex ಸೂತ್ರ ಮತ್ತು ಬದಲಾವಣೆಗೆ ಸಂಬಂಧಿಸಿದ ನಿಖರ ಸಾಲು ಸಂಖ್ಯೆಗಳು ಸೇರಿವೆ.

ಮಾಲಿನ್ಯ ಹೊರತೆಗೆಯುವುದು

ಸಮಸ್ಯೆ ಹೇಳಿಕೆ

1
UsernameValidator allows trailing newline in usernames

ಬಳಕೆದಾರ ಪ್ರಾಂಪ್ಟ್

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.

ಪೂರ್ವಭರ್ತಿ

1
Let me be precise about the wording.

ಮಾಡೆಲ್ ಪ್ರತಿಕ್ರಿಯೆ

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

ಗೋಲ್ಡ್ ಪ್ಯಾಚ್

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

ಚರ್ಚೆ

SWE-bench ಪ್ರಮಾಣಿತದ ಈ ಆಡಿಟ್‌ನಿಂದ, ಮೌಲ್ಯಮಾಪನ ವಿನ್ಯಾಸಕ್ಕಾಗಿ ಎರಡು ವಿಶಾಲ ಪಾಠಗಳನ್ನು ನಾವು ಕಾಣುತ್ತೇವೆ. ಮೊದಲು, ಸಾರ್ವಜನಿಕವಾಗಿ ಲಭ್ಯವಿರುವ ವಸ್ತುಗಳಿಂದ ಪಡೆದ ಬೆಂಚ್‌ಮಾರ್ಕ್‌ಗಳು ಕಲುಷಿತಗೊಳ್ಳುವ ಅಪಾಯವನ್ನು ಹೊಂದಿರುತ್ತವೆ, ಅಲ್ಲಿ ತರಬೇತಿ-ಡೇಟಾ ಒಳಪಡುವಿಕೆ ಮೌನವಾಗಿ ಸ್ಕೋರ್‌ಗಳನ್ನು ಹೆಚ್ಚಿಸಬಹುದು. ಸಾರ್ವಜನಿಕವಾಗಿ ಕ್ರಾಲ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ಬೆಂಚ್‌ಮಾರ್ಕ್ ನಿರ್ಮಾಣದಲ್ಲಿ ಬಳಸಿದರೆ, ಮಾಡೆಲ್ ಡೆವಲಪರ್‌ಗಳು ಕಂಟಾಮಿನೇಶನ್‌ಗಾಗಿ ಹೆಚ್ಚುವರಿ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸಬೇಕು. ಬೆಂಚ್ಮಾರ್ಕ್‌ಗಳು, ಮತ್ತು ಅವುಗಳ ಪರಿಹಾರಗಳನ್ನೂ ಸಾರ್ವಜನಿಕವಾಗಿ ಪೋಸ್ಟ್ ಮಾಡಿದರೆ, ಅವು ತರಬೇತಿ ಡೇಟಾದಲ್ಲಿ ಸೇರಿಬಿಡಬಹುದು. ಡೇಟಾಸೆಟ್‌ಗಳನ್ನು ಪೋಸ್ಟ್ ಮಾಡುವ ವಿಧಾನದಲ್ಲಿಯೂ (i.e. ಪಾಸ್‌ವರ್ಡ್‌ನಿಂದ ರಕ್ಷಿತ) ಮತ್ತು ತರಬೇತಿ ಡೇಟಾ ಫಿಲ್ಟರ್ ಮಾಡುವುದು (i.e. ಕ್ಯಾನರಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗೆ ಕಟ್ಟುನಿಟ್ಟಿನ ಅನುಸರಣೆ). 

ಎರಡನೆಯದಾಗಿ, ಸ್ವಯಂಚಾಲಿತ ಅಂಕನವು ಸರಿಯಾಗಿ ಮಾಡುವುದು ಕಷ್ಟಕರ; ಪರಿಪೂರ್ಣ ಪರೀಕ್ಷಾ ಪ್ರಕರಣಗಳು ಸರಿಯಾದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ದೃಢೀಕರಿಸಬೇಕು, ನಿರ್ದಿಷ್ಟ ಅಪ್ರಮುಖ ಅನುಷ್ಠಾನ ವಿವರಗಳಿಗೆ ನಿರಪೇಕ್ಷವಾಗಿಯೂ ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್ ಪರಿಹಾರಗಳಿಗೆ ಸಹನಶೀಲವಾಗಿಯೂ ಇರಬೇಕು. ಈ ಸಮಸ್ಯೆಗಳು ಸ್ವಭಾವತಃ ಸಂಕೀರ್ಣವಾಗಿದ್ದು ಪರಿಹರಿಸಲು ಕಠಿಣವಾಗಿವೆ. ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಅನೇಕ ವ್ಯಾಪಕ ಮಾನವ ಲೇಬಲಿಂಗ್ ಅಭಿಯಾನಗಳು ಬೇಕಾಯಿತು. 

ನಾವು ಈ ಕಂಡುಹಿಡಿತಗಳನ್ನು ನಮ್ಮ ಇತ್ತೀಚಿನ ಮೌಲ್ಯಮಾಪನ ಪ್ರಯತ್ನಗಳಲ್ಲಿ ಒಳಗೊಂಡಿದ್ದೇವೆ. ಕಳೆದ ಕೆಲವು ತಿಂಗಳುಗಳಲ್ಲಿ ನಾವು SWE-Bench Pro ನ ಸಾರ್ವಜನಿಕ ವಿಭಜನೆಯಿಂದ ಫಲಿತಾಂಶಗಳನ್ನು ವರದಿ ಮಾಡಲು ಆಯ್ಕೆ ಮಾಡಿಕೊಂಡಿದ್ದೇವೆ. ಇತರ ಮಾಡೆಲ್ ಡೆವಲಪರ್‌ಗಳು ಕೂಡ ಇದೇ ರೀತಿ ಮಾಡುವಂತೆ ನಾವು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. SWE-bench Pro ಪರಿಪೂರ್ಣವಲ್ಲ, ಆದರೆ ಅನುಭವಾಧಾರಿತವಾಗಿ ಮಾಲಿನ್ಯ ಸಮಸ್ಯೆಗಳಿಂದ ಕಡಿಮೆ ಬಳಲುವಂತೆ ಕಾಣುತ್ತದೆ. ನಮ್ಮ ಮಾಲಿನ್ಯ ಪೈಪ್‌ಲೈನ್ ಕೆಲವು ಮಾಲಿನ್ಯದ ಪ್ರಕರಣಗಳನ್ನು ಕಂಡುಹಿಡಿದಿತು, ಆದರೆ ಈ ಪ್ರಕರಣಗಳು SWE-bench ಪ್ರಮಾಣಿತಗಿಂತ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚು ಅಪರೂಪವಾಗಿದ್ದವು ಮತ್ತು ಕಡಿಮೆ ಗಂಭೀರವಾಗಿದ್ದವು, ಮತ್ತು ಯಾವುದೇ ಮಾಡೆಲ್ ಸಂಪೂರ್ಣ ಪದಶಃ ಗೋಲ್ಡ್ ಪ್ಯಾಚ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.

ನಾವು ಮೂಲ, ಖಾಸಗಿಯಾಗಿ ರಚಿಸಲಾದ ಬೆಂಚ್‌ಮಾರ್ಕ್‌ಗಳಲ್ಲಿ ಹೂಡಿಕೆಯನ್ನು ಮುಂದುವರಿಸುತ್ತೇವೆ ಮತ್ತು ಕೈಗಾರಿಕೆ ಹಾಗೂ ಶೈಕ್ಷಣಿಕ ವಲಯದಿಂದಲೂ ಇದೇ ಮಾಡಲು ಸಹಾಯವನ್ನು ಕೇಳುತ್ತೇವೆ. GDPVal ನಲ್ಲಿ, ಕಾರ್ಯಗಳನ್ನು ಡೊಮೇನ್ ತಜ್ಞರು ಖಾಸಗಿಯಾಗಿ ರಚಿಸುತ್ತಾರೆ, ಇದರಿಂದ ಬಹಿರಂಗಗೊಳ್ಳುವ ಅಪಾಯ ಕಡಿಮೆಯಾಗುತ್ತದೆ ಮತ್ತು ಪರಿಹಾರಗಳನ್ನು ತರಬೇತಿ ಪಡೆದ ವಿಮರ್ಶಕರು ಸಮಗ್ರವಾಗಿ ಶ್ರೇಣೀಕರಿಸುತ್ತಾರೆ. ಈ ವಿಧಾನವು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿದೆ, ಆದರೆ ನಿಜವಾದ ಸಾಮರ್ಥ್ಯ ಸುಧಾರಣೆಗಳನ್ನು ಅಳೆಯಲು ಹೆಚ್ಚುತ್ತಿರುವ ಮಟ್ಟಿಗೆ ಅಗತ್ಯವಾಗಿದೆ.

ಲೇಖಕ

OpenAI