GPT-5 bemüht sich um jeden Preis, "zu fälschen", nur um seinen inneren Feind Claude zu übertreffen.
GPT 5 ist endlich veröffentlicht worden, doch im Vergleich zu GPT 3.5, Sora usw. hat es die Menschen nicht wirklich beeindruckt. Im besten Fall hat OpenAI die Rolle des legendären "Futures-Königs" aufgegeben und sich auf die Umsetzung und Anwendung von Large Language Models konzentriert. Dies erklärt auch, warum OpenAI auf der Pressekonferenz besonders auf die Programmierfähigkeiten von GPT-5 hingewiesen hat: Immerhin gibt es in diesem Jahr kein stärker umsetzbares AI-Thema als die AI-basierte Programmierung. Eine Reihe von AI-IDE-Tools haben GPT 5 sofort integriert, was früher nicht innerhalb von zwei Monaten möglich gewesen wäre.
Dennoch haben Medien berichtet, dass OpenAI bei den Programmierfähigkeitstests "geschummelt" hat. Genauer gesagt, hat OpenAI bei dem Programmiertest SWE‑Bench Verified nicht tatsächlich alle 500 Aufgaben bearbeitet, sondern nur 477. Andere Modelle wie Claude und die von Google haben hingegen alle 500 Aufgaben bearbeitet, um ihre Programmierfähigkeiten zu testen.
Was noch seltsamer ist, ist, dass SWE‑Bench Verified eine "verfeinerte Version" ist, die von OpenAI entwickelt wurde. Der ursprüngliche SWE‑Bench hatte 2294 Softwareentwicklungsprobleme. OpenAI fand, dass einige dieser Aufgaben zu schwierig und zu instabil waren, um die Programmierfähigkeiten der Modelle fair zu bewerten. Deshalb hat OpenAI selbst 500 Aufgaben ausgewählt, um die Bewertung zuverlässiger zu machen. Am absurdesten ist, dass aus dieser "selbst ausgewählten Teilmenge" wiederum einige Aufgaben entfernt wurden, so dass nur noch 477 Aufgaben für die Bewertung übrig blieben.
OpenAI hat auf seiner offiziellen Website einen Blogbeitrag veröffentlicht, in dem es erklärt, warum es SWE‑Bench Verified eingeführt hat: https://openai.com/index/introducing-swe-bench-verified/
Einige Internetnutzer haben sich darüber lustig gemacht: Was hat OpenAI zu befürchten?
Um herauszufinden, was SWE‑Bench Verified ist und welche Fähigkeiten es misst, haben wir uns die Aufgaben, Anmerkungen und Bewertungsstandards von der OpenAI-Website heruntergeladen und ein praktisches Experiment durchgeführt.
Wir haben die Aufgaben, Anmerkungen und Bewertungsstandards von SWE‑Bench Verified über den von OpenAI bereitgestellten Kanal heruntergeladen.
SWE‑Bench Verified ist ein hochwertiges Bewertungsdatensatz für reale Softwareentwicklungsprobleme, das darauf abzielt, die Fähigkeiten zur Codebehebung und -verständnis zu messen. Der Datensatz enthält 500 validierte Testbeispiele, wobei jedes Beispiel wichtige Informationen wie Code-Repository-Informationen, Problembeschreibungen, Korrekturpatches, Testpatches und Schwierigkeitslabels enthält.
Die Schwierigkeit der Aufgaben wird hauptsächlich anhand der "Bearbeitungszeit" unterschieden. Beispielsweise sind Aufgaben, die innerhalb von 15 Minuten bearbeitet werden können, relativ einfach, während schwierigere Aufgaben länger als 4 Stunden in Anspruch nehmen können. Derzeit können 38,8 % der Aufgaben in SWE‑Bench Verified innerhalb von 15 Minuten bearbeitet werden, 52,2 % benötigen zwischen 15 Minuten und einer Stunde, 8,4 % der Aufgaben dauern zwischen 1 und 4 Stunden, und nur 0,6 % der Aufgaben nehmen länger als 4 Stunden in Anspruch.
Die Testbeispiele stammen aus mehreren bekannten Open-Source-Projekten, darunter django/django, sympy/sympy, sphinx-doc/sphinx, pandas/pandas, scikit-learn/scikit-learn, matplotlib/matplotlib, pytorch/pytorch, numpy/numpy, requests/requests usw.
Jedes Projekt testet verschiedene Aspekte der Codefähigkeiten von Large Language Models. Beispielsweise django/django: Als das Projekt mit dem höchsten Anteil wird hauptsächlich die Fähigkeit der Entwickler, große Web-Frameworks zu verstehen, getestet, insbesondere bei der Optimierung von Datenbankabfragen, URL-Routing und Middleware-Verarbeitung. pandas/pandas: Als Repräsentant im Bereich der Datenanalyse wird die Beherrschung von Datenstrukturen und Datenverarbeitungsalgorithmen getestet, insbesondere bei der Verarbeitung von großen Datenmengen und komplexen Datenumwandlungen.
Wir haben GPT 5 gebeten, 10 repräsentative Projekte auszuwählen, die verschiedene Fähigkeiten von Large Language Models abdecken.
1. Django/Django - Der König der Web-Frameworks
GitHub: https://github.com/django/django
Problem: Optimieren Sie die .delete()-Methode, sodass nur erforderliche Felder verwendet werden.
Testfokus: Optimierung von Datenbankabfragen und Leistungstests
Bedeutung: Django ist das beliebteste Python-Web-Framework. Dieses Problem betrifft die Optimierung der ORM-Leistung und testet die Effizienz von Datenbankoperationen.
2. SymPy/SymPy - Symbolische mathematische Berechnungen
GitHub: https://github.com/sympy/sympy
Problem: Fehler bei der Distanzberechnung (3D-Koordinaten werden ignoriert)
Testfokus: Genauigkeit von numerischen Berechnungen und Tests von Randbedingungen
Bedeutung: SymPy ist eine Python-Bibliothek für symbolische Mathematik. Es wird die Genauigkeit von mathematischen Berechnungen und die Behandlung von Randbedingungen getestet.
3. Sphinx-doc/Sphinx - Dokumentationsgenerator
GitHub: https://github.com/sphinx-doc/sphinx
Problem: 404-Link-Problem bei vererbten Diagrammen im SVG-Format
Testfokus: Dokumentationserstellung und Tests der Linkintegrität
Bedeutung: Sphinx ist das Standardwerkzeug für die Erstellung von Python-Dokumentationen. Es wird die Richtigkeit der Dokumentenrendering und der Links getestet.
4. Matplotlib/Matplotlib - Datenvisualisierung
GitHub: https://github.com/matplotlib/matplotlib
Problem: Die Funktion zur Umkehrung der logarithmischen Achse funktioniert nicht.
Testfokus: Grafikrendering und Tests des Koordinatensystems
Bedeutung: Matplotlib ist das führende Python-Bibliothek für die Datenvisualisierung. Es wird die Koordinatentransformation in komplexen Grafiksystemen getestet.
5. Scikit-learn/Scikit-learn - Maschinelles Lernen
GitHub: https://github.com/scikit-learn/scikit-learn
Problem: Problem mit dem store_cv_values-Parameter von RidgeClassifierCV
Testfokus: Tests der Validierung von Machine-Learning-Parametern
Bedeutung: Scikit-learn ist die wichtigste ML-Bibliothek. Es wird die Verarbeitung von Algorithmusparametern und die Kreuzvalidierung getestet.
6. Astropy/Astropy - Astrophysik
GitHub: https://github.com/astropy/astropy
Problem: Fehler bei der Berechnung der Separabilitätsmatrix von verschachtelten zusammengesetzten Modellen
Testfokus: Tests der Kombination komplexer Modelle und mathematischer Berechnungen
Bedeutung: Astropy wird speziell für astronomische Berechnungen verwendet. Es wird die Kombinationslogik komplexer mathematischer Modelle getestet.
7. Pydata/Xarray - Mehrdimensionale Datenanalyse
GitHub: https://github.com/pydata/xarray
Problem: Typumwandlung bei Variable.__setitem__ für Objekte mit values-Attribut
Testfokus: Tests der Verarbeitung von mehrdimensionalen Datentypen
Bedeutung: Xarray wird zur Verarbeitung von mehrdimensionalen markierten Arrays verwendet. Es wird die Datentypumwandlung und der Zugriff auf Attribute getestet.
8. Pytest-dev/Pytest - Testframework
GitHub: https://github.com/pytest-dev/pytest
Problem: ValueError beim Sammeln von Tests für ein Patch-Array
Testfokus: Tests der eigenen Funktionen des Testframeworks
Bedeutung: Pytest ist das Standard-Testframework für Python. Es wird die Stabilität des Testtools selbst getestet.
9. Pylint-dev/Pylint - Code-Qualitätsüberprüfung
GitHub: https://github.com/pylint-dev/pylint
Problem: Der kurze Parameter der verbose-Option erfordert einen Parameterwert.
Testfokus: Tests der Schnittstelle von Befehlszeilentools
Bedeutung: Pylint ist ein Tool zur Code-Qualitätsüberprüfung. Es wird die Analyse von Befehlszeilenparametern und die Benutzeroberfläche getestet.
10. PSF/Requests - HTTP-Bibliothek
GitHub: https://github.com/psf/requests
Problem: Binärlastanfragen schlagen fehl, da der Aufruf von to_native_string fehlschlägt.
Testfokus: Tests des HTTP-Protokolls und binärer Daten
Bedeutung: Requests ist die beliebteste HTTP-Bibliothek. Es wird die Netzwerkkommunikation und die Verarbeitung von Datenkodierungen getestet.
Warum OpenAI 23 Testaufgaben entfernt hat, anstatt die vollständige Version zu verwenden, liegt vielleicht in der folgenden Rangliste. Im vollständigen SWE‑Bench Verified, also bei 500 Aufgaben, hat GPT 5 Claude 4 Opus nicht übertroffen.
Allerdings kommt es wieder zu einer Wende. Die obigen Tests basieren auf bash only, was bedeutet, dass sie vollständig von der eigenen Fähigkeit des Large Language Models abhängen. In der Realität verwenden Benutzer normalerweise AI-IDE-Tools in Kombination mit Large Language Models, wie z. B. Cursor, Codebuddy, Trae usw. Das Problem ist, dass das "beste" Modell in den AI-IDE-Tools, nämlich Claude 4 Opus, teuer ist und die Tokens schnell aufgebraucht werden. Mit anderen Worten, ist GPT 5 derzeit möglicherweise das am besten kostengünstige und am besten einsetzbare Programmier-Modell?
Echtzeit-Testphase
Natürlich kann die Bewertung nur die Leistung des Modells darstellen. Wir müssen es auch tatsächlich ausprobieren.
Wir haben in der Codebuddy-Umgebung mit GPT 5 einen SWE‑Bench Verified-Datenbankabfragemacher erstellt (wir hatten die Anmerkungen, Bewertungsstandards und die Datenbank von Huggingface, die von der OpenAI-Website heruntergeladen wurden, bereits zur Verfügung).
Prompts: Erstellen Sie einen SWE‑Bench Verified-Datenbankabfragemacher, der es ermöglicht, einfach zu erfragen, welche Probleme in SWE‑Bench Verified vorhanden sind, sowie die Links zu diesen Problemen und die Bewertungsstandards.
Die Erstellungsprozess von GPT 5 verlief relativ reibungslos, ohne irreparable Fehler. Die erste Version zeigte nur 11 Projekte an, aber nach einem Dialog wurden auch die übrigen 500 Projekte ergänzt.
Vorschau der von GPT 5 erstellten Version: http://4d916460ea034a90bd4e0c1dd25efc6b.ap-singapore.myide.io
Anschließend haben wir mit denselben Prompts Claude-4-Sonnet