Schlagwort-Archive: ai

GitHub Copilot: Eine leistungsfähige, umstrittene Autovervollständigung für Entwickler

Aus dem Englischen übersetzt von Darryl K. Taft. (Quelle: thenewstack.io)

Ich beschäftige mich schon seit langem mit der Anwendungsentwicklung und habe viele Durchbrüche erlebt. Einige fallen mir mehr ins Auge als andere, und Copilot von GitHub ist einer dieser Hingucker.

GitHub bezeichnet Copilot als seinen KI-Begleiter für das Pair-Programming für Entwickler.

Die Technologie ist wirklich vielversprechend. „GitHub Copilot zieht Kontext aus dem Code, an dem Sie arbeiten, und schlägt ganze Zeilen oder Funktionen vor“, erklärt GitHub-CEO Nat Friedman in einem Blogbeitrag zur Einführung der Technologie.

Copilot hilft Entwicklern, schnell alternative Wege zur Problemlösung zu finden, Tests zu schreiben und neue APIs zu erforschen, ohne mühsam auf Seiten wie Stack Overflow und im Internet nach Antworten suchen zu müssen, so Friedman. Und da es auf maschinellem Lernen basiert, lernt es bei der Benutzung. „Während Sie tippen, passt es sich an die Art und Weise an, wie Sie Ihren Code schreiben – damit Sie Ihre Arbeit schneller erledigen können“, sagte er.

Die Technologie befindet sich derzeit in der technischen Vorabversion und wird von den Nutzern innerhalb und außerhalb von Microsoft/GitHub sehr positiv bewertet, aber auch kritisiert.

„Ich bin beeindruckt davon, wie GitHub Copilot genau zu wissen scheint, was ich als nächstes eingeben möchte“, sagte Feross Aboukhadijeh, Gründer von Socket, einem Hersteller von Datenschutz- und Sicherheitssoftware, in einer Stellungnahme. „GitHub Copilot ist besonders hilfreich bei der Arbeit an React-Komponenten, wo es unheimlich genaue Vorhersagen macht. GitHub Copilot ist zu einem unverzichtbaren Teil meines Werkzeuggürtels für Programmierer geworden.“

Alex Polozov, ein leitender Forscher bei Microsoft Research, ist zwar nicht sonderlich überparteilich, twitterte aber: „Ich übertreibe nicht, Copilot wird zu den Top-3-Tech-Entwicklungen der 2020er Jahre gehören.“

GitHub Copilot ist ein Produkt der Partnerschaft zwischen Microsoft und dem KI-Forschungs- und Einsatzunternehmen OpenAI, in das Microsoft vor zwei Jahren 1 Milliarde Dollar investiert hat.

Friedman erklärte, dass „GitHub Copilot von OpenAI Codex angetrieben wird, einem neuen KI-System, das von OpenAI entwickelt wurde.“

OpenAI Codex verfügt über ein umfassendes Wissen darüber, wie Menschen Code verwenden, und ist bei der Codegenerierung wesentlich leistungsfähiger als GPT-3, unter anderem, weil es auf einem Datensatz trainiert wurde, der eine viel größere Konzentration von öffentlichem Quellcode enthält, erklärte Friedman.

Einige Leute scheinen besorgt zu sein, dass es Code generiert, der mit Code identisch ist, der unter Open-Source-Lizenzen generiert wurde, die keine abgeleiteten Werke zulassen, und der dann von einem Entwickler unwissentlich verwendet wird.

GitHub lehnte es ab, einen Sprecher für diese Nachricht zu interviewen und verwies mich auf die recht ausführliche FAQ der technischen Vorschau. Auf meine Frage nach den Datenquellen, die Copilot verwenden würde, antwortete GitHub beispielsweise wie folgt: „Es wurde auf eine Auswahl von englischem Sprach- und Quellcode aus öffentlich zugänglichen Quellen trainiert, einschließlich (aber nicht beschränkt auf) Code in öffentlichen Repositories auf GitHub.“

But which ones?

„Mit Sicherheit verwenden sie die GitHub-Repos. Und auf jeden Fall die öffentlichen“, sagt Ronald Schmelzer, Analyst bei Cognilytica, das sich auf KI-Forschung und -Analyse spezialisiert hat. „Die Frage ist natürlich, ob sie auch die privaten GitHub-Repos nutzen. Und mit oder ohne Zustimmung der Nutzer? Weitere Quellen könnten vielleicht Stack Overflow und andere Orte sein, an denen Menschen Code zur Kommentierung veröffentlichen. Aber das ist von zweifelhafter Natur, was die Qualität angeht.“

Da Copilot auf öffentlich verfügbarem Quellcode und natürlicher Sprache trainiert wurde, versteht es außerdem sowohl Programmier- als auch menschliche Sprachen. Dies ermöglicht es Entwicklern, eine Aufgabe auf Englisch zu beschreiben, und GitHub Copilot liefert dann den entsprechenden Code, so das Unternehmen.
Unterstützt mehrere Sprachen

Ein attraktives Merkmal von GitHub Copilot ist, dass es mit einer breiten Palette von Frameworks und Sprachen funktioniert, aber diese technische Vorschau funktioniert besonders gut für Python, JavaScript, TypeScript, Ruby und Go, so Friedman.

Und laut der technischen Vorschau-Seite: GitHub Copilot ist derzeit nur als Visual Studio Code-Erweiterung verfügbar. Es funktioniert überall dort, wo Visual Studio Code funktioniert – auf Ihrem Rechner oder in der Cloud auf GitHub Codespaces. Und es ist schnell genug, um es während der Eingabe zu verwenden.

„Copilot sieht wie ein potenziell fantastisches Lernwerkzeug aus – für Entwickler aller Fähigkeiten“, sagte James Governor, ein Analyst bei RedMonk. „Es kann Einstiegshürden beseitigen. Es kann beim Erlernen neuer Sprachen helfen und für Leute, die an polyglotten Codebasen arbeiten. Es setzt wohl das reiche Erbe von GitHub als erstklassiges Lernwerkzeug fort. Es ist noch zu früh, aber KI-gestützte Programmierung wird sich durchsetzen, und wo könnte man diese Erfahrung besser machen als auf GitHub?“
Ja, aber kann es skalieren?

Einige Beobachter sehen Copilot als nützlich für einfache Projekte, aber vielleicht noch nicht reif für die erste Zeit.

„Es ist eine sehr interessante Idee und sollte bei einfachen Beispielen gut funktionieren, aber ich bin gespannt, wie gut es bei komplexen Code-Problemen funktionieren wird“, sagt Eric Newcomer, Chief Technology Officer von Enterprise Infrastructure Software