Die Programmierung ist tot, jetzt ist die KI tot? Professor besingt öffentlich „das Gegenteil': KI kann Programmierern noch nicht helfen

WBOY
Freigeben: 2023-06-12 13:04:56
nach vorne
1482 Leute haben es durchsucht

Zusammengestellt |. Nuka-Cola, Ling Min

Die Beliebtheit von KI-Produkten wie GitHub Copilot und ChatGPT hat es mehr Menschen ermöglicht, die leistungsstarken Möglichkeiten der KI beim Programmieren zu erkennen. In letzter Zeit tauchten häufig Aussagen wie „KI ersetzt Programmierer“ und „KI übernimmt den Thron der Programmierung“ auf.

Vor einiger Zeit sagte Matt Welsh, ehemaliger Informatikprofessor der Harvard University und technischer Direktor von Google, auf einer virtuellen Konferenz der Chicago Computer Society, dass ChatGPT und GitHub Copilot den Anfang vom Ende der Programmierung einläuten. Welsh behauptet, dass die generative KI die Programmierung innerhalb von drei Jahren beenden wird.

Aber es gibt auch einige Leute, die dagegen sind. Kürzlich veröffentlichte Bertrand Meyer, Professor am Constructor Institute und Chief Technology Officer von Eiffel Software, einen Artikel über ACM, um öffentlich „die gegenteilige Melodie zu singen“. Er untersuchte sorgfältig, wie ChatGPT programmiert wird, und kam schließlich zu dem Schluss, dass KI Programmierern nicht helfen kann.

ChatGPT-Programmierexperiment

Vor einiger Zeit diskutierte Meyer in einer Reihe von Artikeln, wie das Problem der fiktiven binären Suche gelöst werden kann. Obwohl der Inhalt gut aussah und jeder Artikel auch seine eigene Version der Antwort vorschlug, waren die meisten davon tatsächlich falsch. (Erweiterte Lektüre: https://bertrandmeyer.com/2020/03/26/getting-program-right-nine-episodes/)

Meyer nutzte dies als Material und übermittelte diese Artikel an ChatGPT (Version 4).

编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

Der KI-Spieler beschrieb das Problem zuerst:

Dieses Problem kann tatsächlich bei beliebig vielen Elementen auftreten, nicht nur bei zwei. Aber um zu beweisen, dass ein Programm falsch ist, reicht es aus, ein Gegenbeispiel zu nennen (um aber zu beweisen, dass es richtig ist, müssen Sie zeigen, dass es für alle Beispiele gilt). Meyer fragte nur, ob das Programm korrekt sei und erwähnte nicht, wie man es beheben könne, aber ChatGPT machte dennoch begeistert die folgenden Vorschläge:

编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

Der Kommentarbereich hier ist wirklich hilfreich:

编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

ChatGPT hat recht und die Logik macht absolut Sinn. Nachdem Meyer über den vorgeschlagenen Ersatzcode gegrübelt hatte, entdeckte er etwas Verdächtiges. Also fragte Meyer weiter:

Während ChatGPT versuchte, Meyers Fehler zu beheben, gab es eine weitere Version heraus, die ebenfalls fehlerhaft war, allerdings auf andere Weise. Erwähnenswert ist, dass ChatGPT jedes Mal versucht, eine neue Version bereitzustellen – es korrigiert zwar frühere Fehler, bringt aber auch neue Probleme mit sich .

Meyer fand auch heraus, dass ChatGPT besonders gut darin ist, sich zu entschuldigen:

ChatGPT hat mit sich selbst gesprochen und Meyer aktiv empfohlen, was seiner Meinung nach eine korrigierte Lösung ist:

Zu diesem Zeitpunkt wird Meyer noch nicht einmal versuchen, herauszufinden, ob die neueste Version korrekt ist. Erfahrene Programmierer wissen, dass die Konzentration auf einen Fall und das ständige Hinzufügen spezifischer Korrekturen keineswegs der beste Weg ist, ein korrektes Programm zu erstellen.

Deshalb entschied sich Meyer auch dafür, weiterhin höflich zu bleiben:

Hier kommt der Spaß: ChatGPT hat beschlossen, Meyer das Konzept der Schleifeninvarianten vorzustellen!

编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

Meyer hat nie gesagt oder angedeutet, dass „eine systematischere Methode zur Überprüfung der Korrektheit des Algorithmus erforderlich ist“, er wollte nur wissen, wie ChatGPT beweisen kann, dass die von ihm empfohlenen Antworten korrekt sind, hat aber definitiv nicht „systematisch“ oder „ Wörter wie „verifizieren“. Der Grund für diese Szene könnte darin liegen, dass statistische Schlussfolgerungen auf der Grundlage eines großen Korpus ChatGPT Vertrauen verliehen und es glauben ließen, dass Benutzer die Korrektheit des Ausgabecodes definitiv in Frage stellen und dann eine systematische Überprüfung benötigen.

Meyer fragte weiter:

ChatGPT gab dann eine gute Antwort, einschließlich der in der ACM Computing Survey enthaltenen Umfrage zur Schleifeninvariante. Und es lobt immer noch zuerst und erklärt dann das Problem, was sehr höflich ist:

编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员

An dieser Stelle wird Meyer keine weiteren Fragen stellen.

Meyer weiß, wie man Probleme löst, aber wie die meisten Programmierer macht er Fehler. Er möchte einen KI-Programmierassistenten, der ihn überwacht, ihn auf Fallstricke aufmerksam macht und ihn korrigiert, wenn er einen Fehler macht. Mit anderen Worten: Er möchte, dass KI ein effizienter und nützlicher Partner für die Paarprogrammierung ist. Experimentelle Ergebnisse zeigen jedoch, dass KI-Programmierwerkzeuge denen von High-End-Absolventen ähneln, die nicht nur klug und belesen, sondern auch durchweg höflich und bereit sind, sich zu entschuldigen. Selbst im Nachhinein wirkt es immer noch grob und ungenau, und die sogenannte Hilfe hat Meyer wenig genutzt.

Moderne KI-Ergebnisse können keine korrekten Programme generieren

Meyer glaubt, dass aktuelle generative KI-Tools in einigen Bereichen tatsächlich gute Arbeit leisten können, sogar besser als die meisten Menschen: Die relevanten Ergebnisse kommen schnell und überzeugend und sind auf den ersten Blick sogar so gut wie Top-Experten. Im Prinzip gibt es keine großes Problem. Das Übersetzungstool ist nicht nur in der Lage, Marketingbroschüren zu erstellen und Grobübersetzungen von Website-Inhalten durchzuführen, sondern verfügt auch über hervorragende Fähigkeiten zur medizinischen Bildanalyse.

Aber die Anforderungen an die Programmierung sind völlig unterschiedlich. Es werden strenge Anforderungen an die Korrektheit des Ausgabeprogramms gestellt. Entwickler können bestimmte Fehler tolerieren, die Kernfunktionalität muss jedoch stimmen. Wenn der Auftrag eines Kunden darin besteht, 100 Microsoft-Aktien zu kaufen und 50 Amazon-Aktien zu verkaufen, sollte das Programm niemals das Gegenteil tun. Professionelle Programmierer machen zu diesem Zeitpunkt manchmal Fehler, es kommt darauf an, ob der KI-Assistent helfen kann.

Moderne KI-Bemühungen erzeugen jedoch keine korrekten Programme: Die von ihnen erzeugten Programme werden tatsächlich aus einer großen Anzahl zuvor gesehener Originalprogramme abgeleitet. Diese Verfahren mögen zuverlässig erscheinen, ihre Genauigkeit kann jedoch nicht vollständig garantiert werden. (Die hier erwähnte moderne KI soll sie von der frühen KI unterscheiden – letztere versuchte, das logische Denken des Menschen durch Methoden wie Expertensysteme zu reproduzieren, ist aber weitgehend gescheitert. Die heutige KI verlässt sich vollständig auf statistisches Denken und implementiert Grundfunktionen.)

Meyer wies darauf hin, dass KI-Assistenten zwar in einigen Aspekten sehr gute Leistungen erbringen, sie jedoch keine Produkte der Logik sind, sondern Meister, die gut mit Worten umgehen können. Große Sprachmodelle sind in der Lage, sich auszudrücken und Text zu generieren, der nicht allzu falsch aussieht. Obwohl diese Leistung für viele Anwendungsszenarien ausreichend ist, ist sie für Programmieranforderungen immer noch nicht geeignet.

Die aktuelle künstliche Intelligenz kann Benutzern dabei helfen, grundlegende Rahmenbedingungen zu generieren und relativ zuverlässige Antworten zu geben. Aber hier endet es. Nach dem aktuellen technischen Stand ist es überhaupt nicht möglich, ein Programm auszugeben, das normal ausgeführt werden kann.

Aber das ist keine schlechte Sache für die Software-Engineering-Branche. Meyer glaubt, dass dieses Experiment angesichts aller Arten von Propaganda, dass „Programmierung tot ist“, uns daran erinnert, dass sowohl menschliche Programmierer als auch automatische Programmierassistenten standardisierte Einschränkungen benötigen und alle erstellten Kandidatenprogramme überprüft werden müssen. Nach der anfänglichen Überraschung werden die Leute irgendwann erkennen, dass die Möglichkeit, Programme mit einem Klick zu erstellen, nicht viel bringt. Da es oft nicht gelingt, die gewünschten Ergebnisse zu erzielen, können voreilig gestartete Automatisierungsfunktionen tatsächlich schädlich sein. Am Ende geschrieben

Meyer verunglimpft die KI-Programmierung nicht. Er glaubt, dass eine vorsichtige Haltung uns helfen kann, das ultimative KI-System mit zuverlässigen Fähigkeiten aufzubauen.

Die KI-Technologie befindet sich noch in einem frühen Entwicklungsstadium, aber diese Einschränkungen sind keine dauerhaften und unüberwindbaren Hindernisse. Vielleicht können generative KI-Programmiertools diese Hindernisse eines Tages in der Zukunft überwinden. Um es wirklich programmierbar zu machen, müssen die Spezifikations- und Verifizierungsaspekte eingehend untersucht und studiert werden.

Hier ist also die Frage: Haben Sie jemals KI-Programmiertools verwendet? Welches Werkzeug wurde verwendet? Wie genau ist es? Helfen Ihnen diese Tools wirklich? Gerne können Sie Ihre Erfahrungen im Kommentarbereich niederschreiben.

Originallink:

Ein erfahrener Programmierer mit 19 Jahren Programmiererfahrung weigerte sich, GPT-4 und Copilot zum Schreiben von Code zu verwenden und wurde im „Interview“ eliminiert

Ma Huateng sagte, er solle „die Formation straffen“, woraufhin Microsoft seine eigene Linux-Distribution veröffentlichte und auf Q News reagierte

Vektordatenbank? Investieren Sie nicht! Investieren Sie nicht! Investieren Sie nicht!

Kann ich meinen Job als Datenanalyst mit einem Jahresgehalt von 600.000 nicht behalten? ! Untersuchungen der Alibaba Damo Academy haben ergeben, dass die Kosten für die Umstellung auf GPT-4 nur ein paar Tausend Yuan betragen

Empfehlung melden

Enthält große Sprachmodellprodukte wie ChatGPT, Claude, Sage, Tiangong 3.5, Wenxinyiyan, Tongyi Qianwen, iFlytek Spark, Moss, ChatGLM, Vicuna-13B usw. und zeigt seine vier Hauptdimensionen + 12 unterteilte Dimensionen. Umfassende Fähigkeit, die zu erkunden Programmierfähigkeiten für große Modellprodukte aus technischer Sicht und Verbesserung des neuesten Verständnisses für die Auswahl der unternehmerischen Ausrichtung von AGI, die praktische Anwendung der Arbeit usw. Scannen Sie den QR-Code, um den InfoQ-Assistenten hinzuzufügen und alle Informationen freizuschalten.

Live-Übertragungsvorschau

Vor welchen Chancen und Herausforderungen stehen Architekten im Zeitalter großer KI-Modelle? Heute Abend um 20:00 Uhr wird Mobvista Technology VP Cai Chao eine Live-Verbindung mit Li Xin, Vizepräsident des iFlytek AI Research Institute von HKUST, haben, um die Antwort für Sie zu enthüllen! Es gibt auch schon vorab Spoiler zu den spannenden Spezialthemen von ArchSummit Shenzhen und die Gabe des Wissens ist grenzenlos! Jetzt Termin vereinbaren!

Das obige ist der detaillierte Inhalt vonDie Programmierung ist tot, jetzt ist die KI tot? Professor besingt öffentlich „das Gegenteil': KI kann Programmierern noch nicht helfen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:sohu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!