Code aus natürlicher Sprache: OpenAI öffnet Beta für die Programmier-KI Codex

Das von GPT-3 abgeleitete Modell Codex übersetzt natürliche Sprache in Code. Die Grundlage für GitHub Copilot ist nun in einer privaten Beta-Phase verfügbar.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen

(Bild: sdecoret / shutterstock.com)

Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

OpenAI hat ein Machine-Learning-Modell (ML) veröffentlicht, das natürliche Sprache in Sourcecode für unterschiedliche Programmiersprachen übersetzt. Codex basiert auf dem Sprachmodell Generative Pre-trained Transformer 3 (GPT-3). Es bildet die Grundlage für den ML-Assistenten Copilot von GitHub. Zunächst läuft ein privater Beta-Test, und Interessierte können sich in eine Warteliste eintragen.

Bereits zum Start von GitHub Copilot im Juni hatte OpenAI angekündigt, Codex als eigenständiges Modell zu veröffentlichen. Seitdem hat das Unternehmen das Modell wohl erweitert. Es kann nun einfache englische Sätze in Sourcecode überführen. Auf der OpenAI-Seite finden sich Videos zu unterschiedlichen Szenarien von der Spieleprogrammierung bis zu DataScience-Anwendungen.

Für das Spiel bilden Sätze wie "When the rocket is clicked, temporarily display some text saying 'Firing thrusters!' in white on the current location -- and temporarily speed up by 4x for 0.25 second" die Grundlage für JavaScript-Code. Die Anweisung in natürlicher Sprache steht anschließend als Kommentar über der Umsetzung.

Codex erzeugt JavaScript-Code auf Basis der Anweisung in natürlicher Sprache.

(Bild: OpenAI)

Die Videos demonstrieren das erweiterte Sprachverständnis, indem Codex beispielsweise dem obligatorischen "Hello World" für mehr Gefühlsausdruck drei Ausrufezeichen anhängt und auf die Aufforderung "Even louder please" mit Großbuchstaben als "HELLO WORLD!!!" umsetzt.

Python ist laut OpenAI die Programmiersprache, die Codex "besonders flüssig spricht". Daneben kann das Modell aber Code unter anderem in JavaScript, Go, Perl, PHP, Ruby, Swift und TypeScript erstellen. Auch Shell-Code gehört zum Programmiersprachverständnis. Offenbar ist als Quellsprache derzeit jedoch ausschließlich Englisch vorgesehen.

Codex ist nicht auf spezifische Szenarien ausgelegt, sondern als allgemein verwendbares Modell gedacht. Abgesehen von der konkreten Umsetzung in einer Programmiersprache bleibt der wichtigste Teil der Arbeit weiterhin in Menschenhand. Die eingegeben Befehle brechen die Aufgabenstellung auf logische Bestandteile herunter. Am Beispiel des kleinen Spiels formuliert gibt der Mensch dedizierte Vorgaben, welche Objekte auf dem Bildschirm erscheinen, wie das Programm auf den Druck einer Taste reagiert und was passiert, wenn zwei Objekte zusammenstoßen.

OpenAI hat das Modell laut eigenen Angaben für diverse Aufgaben jenseits des Übersetzens von Text in Code ausprobiert. Dazu gehören Refactorings, das Erstellen von Erklärungen und das Transpilieren, also das Übersetzen von Sourcecode in eine andere Programmiersprache oder in eine andere Form in derselben Sprache. Ein Beispielvideo überführt Python- in Ruby-Code.

OpenAI entstand 2015 als Forschungsprojekt, zu den Gründern gehörte Elon Musk. Anfangs veröffentlichte die Organisation viele Projekte im Bereich Reinforcement Learning. Große Bekanntheit erlangte das Unternehmen mit dem Sprachmodell Generative Pre-trained Transformer 3 (GPT-3). 2019 verabschiedete sich OpenAI vom reinen Non-Profit-Business und investiert inzwischen selbst in Start-ups im Bereich Machine Learning – zuletzt mit 100 Millionen US-Dollar.

Der auf Codex aufsetzende Copilot befindet sich seit Ende Juni in der Testphase. GitHub bezeichnet ihn als "AI Pair Programmer": Wie bei der Paarprogrammierung soll der virtuelle Unterstützer Vorschläge zum Verbessern oder Ergänzen des Sourcecodes geben. Von einigen Seiten gibt es kritische Töne. So hat die Free Software Foundation dazu aufgerufen, Abhandlungen über die Auswirkungen des Dienstes einzureichen, den die Organisation als inakzeptabel und ungerecht bezeichnet.

Copilot erstellt anhand des Kommentars eine Funktion.

(Bild: GitHub)

Unter anderem steht die Frage nach potenziellen Urheberrechtsverletzungen im Fokus. GitHub verwendet Code aus zahlreichen öffentlich verfügbaren Repositorys als Grundlage für Copilot, und Teile des Trainingsmaterials stehen unter GPL-Lizenz.

Weitere Details zum Beta-Test von Codex finden sich im OpenAI-Blog. Der Name ist nicht an den Verhaltenskodex angelehnt, sondern dürfte auf die altrömischen Bedeutung der Wachs- oder Holztafeln als Vorform des Buches und durchaus auf "Code" zurückgehen. Wer Codex ausprobieren möchte, kann sich in einem Webformular auf die Warteliste setzen lassen.

  • Das Titelthema der aktuellen iX 8/2021 "Besserer Code mit KI" beleuchtet die ML-gestützte Softwareentwicklung unter anderem mit GitHub Copilot: Wie hilft Machine Learning beim Programmieren, wo sind die Grenzen und wo die Risiken?

(rme)