StartseiteArtikel

GPT-5 bemüht sich um jeden Preis, "zu fälschen", nur um seinen inneren Feind Claude zu übertreffen.

硅星人Pro2025-08-18 08:34
Es scheint, dass Claude besser in der Programmierung ist als GPT5.

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