KI-Assistent GitHub Copilot will Code nicht klauen, sondern sauber referenzieren

Die Codereferenz-Ergänzung für GitHub Copilot durchsucht öffentliche GitHub-Repositories nach Code, der den Vorschlägen des KI-Assistenten entspricht.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen

(Bild: sdecoret/Shutterstock.com)

Lesezeit: 2 Min.

GitHub hat die private Beta von Copilot With Code Referencing gestartet. Der KI-Assistent erhält damit eine Erweiterung, die erkennt, wenn die Vorschläge dem Code in anderen Repositories entsprechen.

Der Filter zum Erkennen der Codereferenzen durchsucht die öffentlichen Repositories auf GitHub nach Übereinstimmungen mit den Codevorschlägen mit einem umgebenen Code von etwa 150 Zeichen.

Wenn das Tool gleichen Code findet, kann es ihn direkt im Editor darstellen. Zusätzlich zeigt die Erweiterung die zugehörigen Lizenzen zu den Treffern an. Entwicklerinnen und Entwickler können daraufhin wahlweise darauf verzichten, den Code zu übernehmen, oder ihn mit Hinweisen auf das Original inklusive der Lizenz versehen. Eine weitere Möglichkeit ist, das Original als Dependency ins Projekt einzubinden.

Die Erweiterung zeigt im Editor von Visual Studio Code die Originale zum Codevorschlag mit den zugehörigen Lizenzen an.

(Bild: GitHub)

Seit seinen Anfängen steht GitHub Copilot in der Kritik, weil es mit öffentlichem Code trainiert wurde, ohne die Lizenzen zu berücksichtigen. Es gab immer wieder Vorwürfe, dass GitHub Code in seinen Vorschlägen einfach übernehme. Im Juni startete daher eine Sammelklage gegen GitHub, Microsoft und OpenAI. Das Unternehmen hinter GPT-4 und ChatGPT hat mit dem KI-System Codex die technische Grundlage für GitHub Copilot entwickelt. Inzwischen hat GitHub zusammen mit OpenAI und Microsoft Azure AI ein erweitertes Modell als Grundlage trainiert.

GitHub hat eigene Untersuchungen unternommen, um festzustellen, wie viele Vorschläge dem Code in öffentlichen Repositories entsprechen. Danach ergaben weniger als ein Prozent aller Copilot-Vorschläge Treffer, allerdings seien die Übereinstimmung ungleich verteilt. Da Copilot die Vorschläge auf die jeweilige Codebasis abstimmt, gäbe es in bereits umfangreicheren Anwendungen kaum Übereinstimmungen, dafür aber in frischen Projekten überdurchschnittlich viele.

Für viele Treffer zeigte sich zudem, dass die Vorlage gleich in mehreren Repositories zu finden ist. Das überrascht wenig, da das Machine-Learning-Modell beim Training gleiche Ansätze als gebräuchliches Muster einstuft und damit für Vorschläge bevorzugt. Schwierig wird es vor allem, wenn die gefundenen Originale unterschiedliche oder gar widersprüchliche Lizenzen aufweisen.

Bisher war es lediglich möglich, Vorschläge grundsätzlich zu blockieren, die öffentlichem Code entsprechen. Mit der neuen Erweiterung will GitHub den Developern die Entscheidung überlassen, wie sie mit den Referenzen umgehen.

Weitere Details lassen sich dem GitHub-Blog entnehmen. Interessierte mit einem Abo von Copilot for Individuals, das 10 US-Dollar monatlich kostet, können sich für die Warteliste der privaten Beta eintragen.

(rme)