Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

王林
王林nach vorne
2023-04-12 10:37:051559Durchsuche

​Autor |. Weil sie im Voraus erkannt haben, dass die Software-Giganten nach dem Ende dieses Suchkriegs weiterhin ChatGPT oder andere Tools zur Generierung künstlicher Intelligenz verwenden und sich dem blauen Ozean der automatischen Codierung nähern werden. Bis dahin könnte, ganz zu schweigen vom bloßen Verzehr von Melonen, sogar Ihr eigener Job gefährdet sein.

Im heutigen Bereich der automatischen Codierung sind die beiden ausgereiftesten und bekanntesten KIs ChatGPT, das kürzlich im Rampenlicht stand, und Copilot, das im Juni letzten Jahres von Microsoft eingeführte KI-Programmiertool. zwei“ sind auch Es ist der beliebte Star, von dem in dieser Phase am meisten erwartet wird, dass er Programmierer ersetzt. Welche Codierungsfunktionen bieten ChatGPT und Copilot nun tatsächlich, wie gemunkelt?

Vor ein paar Tagen nutzte ein amerikanischer Technikexperte mehrere JavaScript-Funktionsanforderungen, um die Fähigkeiten von ChatGPT und Copilot bei der Datenverarbeitung und Algorithmengenerierung zu testen. Lassen Sie uns als Nächstes diese Ergebnisse verwenden, um den aktuellen tatsächlichen KI-Niveau in der Codierung zu verstehen, und fragen wir uns dann: Werden wir wirklich ersetzt?

1. Die JavaScript-Funktion akzeptiert eine variable Anzahl von Arrays und gibt die Schnittmenge zurück.

Im ersten Test hat der Tester ChatGPT und Copilot zunächst gebeten, eine JavaScript-Funktion zu generieren: Sie muss in der Lage sein, diese zu akzeptieren eine variable Anzahl von Arrays und geben deren Schnittmenge zurück.

OpenAI ChatGPT:

Microsoft Copilot:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Die von diesem ChatGPT generierte Funktion geht davon aus, dass die Bereitstellung von weniger als einem Array ungültig ist. Durch die Verwendung von Set stellt ChatGPT sicher, dass die Ergebnisse keine Duplikate enthalten. Die Überschneidung sollte eine festgelegte Operation sein und Duplikate sollten entfernt werden. Der Copilot-Code gibt ein Array zurück, das möglicherweise Duplikate enthält.

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Weder ChatGPT noch Copilot sortieren die Originalparameter in aufsteigender Reihenfolge nach Länge. Dies ist eine triviale Optimierung, die jedoch große Änderungen mit sich bringen kann. Wenn ein Argument die Länge 0 hat, gibt es keinen Schnittpunkt. Dadurch wird die Schleife ohnehin verkürzt, da der maximale Schnittpunkt mit dem kürzesten Array-Argument übereinstimmt.

Anschließend forderten die Tester ChatGPT und Copilot auf, die Ausführungseffizienz von Funktionen zu verbessern.

OpenAI ChatGPT:

Microsoft Copilot:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Angesichts des oben genannten Problems generierte Copilot den gleichen Code wie in der vorherigen Anfrage. ChatGPT gab eine andere Antwort und fügte einen Kommentar hinzu, der besagte, dass die Funktion bei Objekten nicht wie erwartet funktioniert, aber diese Beschreibung ist nicht korrekt.

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Dann verwendeten die Tester dieselbe Methode, um die Betriebseffizienz und den Speicherverbrauch des Codes zu überprüfen, der von den beiden schnellsten Schnittpunktbibliotheken von ChatGPT und Copilt generiert wurde.

Der von ChatGPT generierte Code belegt bei der Ausführung eine geringere CPU, aber die Laufeffizienz ist nicht ideal, während der von Copilot generierte Code eine geringe Heap-Nutzung aufweist, die CPU-Belegungsrate und die Laufeffizienz jedoch schon relativ hoch.

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Kurz gesagt, in diesem Test können weder ChatGPT noch Copilot ausreichend effizienten Code generieren; die von Copilot generierte Funktion generiert falschen Code, der doppelte Werte generiert .

2. JavaScript-Funktion: Kartesisches Produkt

Der zweite Test erfordert ChatGPT und Copilot, um eine JavaScript-Funktion des kartesischen Produkts zu vervollständigen.

OpenAI ChatGPT:

Microsoft Copilot:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Wer mit kartesischen Produkten vertraut ist, weiß, dass die von ChatGPT und Copilot generierten Ergebnisse im Hinblick auf Speichernutzung und Leistung explosiv sind. Eine einfache Implementierung würde viel RAM verbrauchen, um alle Kombinationen zu speichern und das Ergebnis erst zurückgeben, wenn alle Kombinationen generiert wurden. Die von ChatGPT und Copilot generierten Funktionen weisen beide diese Mängel auf.

Anschließend forderten die Tester ChatGPT und Copilot erneut auf, die Funktionseffizienz zu verbessern.

OpenAI ChatGPT:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Microsoft Copilot:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Als Reaktion auf diese Nachfrage wurde die Leistung von. ChatGPT ist überraschend. Aber in der Gesamtfunktion hat ChatGPT einen schwerwiegenden Fehler gemacht: yield [item,...result] liegt nicht im Generator, sondern in einer Rekursion. Copilot ignorierte einfach die Nachfrageänderung und lieferte die gleichen Ergebnisse wie zuvor.

In Bezug auf die Effizienz der Codeausführung und den Speicherverbrauch ist die Leistung von ChatGPT und Copilot in der folgenden Tabelle dargestellt.

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Im Allgemeinen können weder ChatGPT noch Copilot den richtigen Code für die kartesische Produktfunktion generieren; ChatGPT geht davon aus, dass zwei Parameter erforderlich sind Von ChatGPT generierter Speicher ist effizienter, läuft aber überhaupt nicht reibungslos.

3. JavaScript-Funktion speichert Objekte und Originalparameter

In der dritten Runde forderten die Tester die beiden auf, JavaScript-Funktionen zu generieren, die Objekte und Originalparameter speichern können.

OpenAI ChatGPT:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Microsoft Copilot:

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

In dieser Hinsicht generieren sowohl ChatGPT als auch Copilot zunächst ineffizienteren Code string Erneut konvertieren String-Vergleich ist ineffizient und verbraucht viel Speicher.

Obwohl es einige JavaScript-Werte gibt, die nicht in Zeichenfolgen konvertiert werden können, wie z. B. Infinity und NaN. Leider wurde die JavaScript-JSON-Spezifikation vor dem Zeitalter der Datenwissenschaft und Microservices definiert, und diese Werte existieren hauptsächlich, damit das Programm beim Auftreten bestimmter Fehlerbedingungen im Code auch bestimmte Werte verwenden kann, um die erzeugten Ergebnisse darzustellen.

Um schließlich die Funktionseffizienz zu überprüfen, verglich der Tester den von ChatGPT und Copilot generierten Code mit den häufig verwendeten Caching-Tools Nano-Memoize und Micro-Memoize und generierte mit dem folgenden Code die 12. Fibonacci-Folge.

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Drei PK-Spiele haben das Niveau von ChatGPT enthüllt!

Unter diesen ist Nano-Memoize am effizientesten, fast doppelt so effizient wie der von ChatGPT und Copilot generierte Code, und der verwendete Speicher ist auch am niedrigsten, während Mikro Man kann sagen, dass die Leistung von -memoize genau verfolgt wird. Obwohl Copilot hinsichtlich der CPU-Auslastung gut abschneidet, reicht die Leistung von ChatGPT und Copilot in diesem Test insgesamt immer noch nicht aus, um einen erfahrenen Programmierer zu besiegen.

4. Zusammenfassung und Vorhersage

Durch diese drei Tests ist es nicht schwer herauszufinden, dass der mit ChatGPT und Copilot generierte Code definitiv einen gewissen Wert hat. Aber derzeit können weder ChatGPT noch Copilot aus einfachen Aufgabenbeschreibungen ausreichend genauen und effizienten Code generieren, und in einigen Fällen machen sie sogar einige sehr schlimme Fehler. Nachdem sie von diesem Ergebnis erfahren hatten, äußerten viele Entwickler auch, dass sie das Gefühl hätten, dass sie noch ein paar Jahre durchhalten könnten.

Für heutige Unternehmen oder Programmierer: Wenn Sie ChatGPT, Copilot oder andere Tools zur Codegenerierung verwenden möchten, um einige einfache Hilfscodierungsaufgaben zu erledigen und den Build zu beschleunigen, dann können Sie auf jeden Fall ausreichend Unterstützung erhalten. Wenn Sie sich jedoch darauf verlassen möchten, dass sie Forschung und Entwicklung vollständig entlasten, müssen Sie möglicherweise viel Geld ausgeben, um ein starkes Debugging-Team einzurichten.

Aber selbst wenn dies das Ergebnis ist, können wir heute das Potenzial der KI im Bereich der automatischen Codierung und die leistungsstarken Softwareunternehmen, die hinter diesen Systemen stehen, nicht ignorieren. Sicher ist, dass zukünftige automatische Codierungstools mit zunehmendem Schulungsaufwand und zunehmender Technologiereife ihre Geschäftsdaten in verschiedenen Szenarien weiter ausbauen und nach und nach versuchen werden, einige professionellere und szenariobasiertere praktische Aufgaben zu lösen.

Abschließend auf die Frage „Kann KI in Zukunft Programmierer ersetzen?“ ist die derzeit vielleicht zuverlässigste Antwort die Vorhersage von Itamar Friedman, dem ehemaligen Leiter des Alibaba Israel Machine Vision Laboratory in einem Interview —— „In den nächsten 10 bis 20 Jahren werden Systeme der künstlichen Intelligenz es Nicht-Programmierern ermöglichen, Anweisungen in natürlicher Sprache für eine fehlerfreie Entwicklung zu verwenden. Bis dahin wird unsere Welt immer noch eine große Anzahl von Programmierern benötigen, aber ihre Rollen werden sich wahrscheinlich ändern.“ Es werden unvorhersehbare Änderungen eintreten

https://github.com/planttheidea/micro-memoize

Das obige ist der detaillierte Inhalt vonDrei PK-Spiele haben das Niveau von ChatGPT enthüllt!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen