Kann die Copilot-KI von GitHub den Spaß am Entwicklerdasein zurückbringen?

  • Sep 04, 2023

GitHub-Forscher vergleichen, wie schnell Entwickler mit der KI-Unterstützung von Copilot programmieren können, im Vergleich zu einer Gruppe, die sich auf Standard-Entwicklerpraktiken verlässt.

Getty Images-666009646.jpg
Bild: Getty/Hinterhaus Productions

Um die Produktivität von KI-gestützten Entwicklern zu messen, führten Forscher von GitHub kürzlich ein Experiment durch Vergleich der Codierungsgeschwindigkeiten einer Gruppe, die ihr Copilot-Codevervollständigungstool verwendet, mit einer Gruppe, die sich auf menschliche Fähigkeiten verlässt allein.

GitHub Copilot ist ein KI-Paarprogrammierungsdienst, der Anfang des Jahres für 10 US-Dollar pro Benutzer und Monat oder 100 US-Dollar pro Benutzer und Jahr öffentlich eingeführt wurde. Seit ihrer Einführung waren Forscher neugierig, ob diese KI-Tools tatsächlich zu einer Steigerung der Entwicklerproduktivität führen. Der Haken daran ist, dass es nicht einfach ist, die richtigen Metriken zur Messung von Leistungsänderungen zu identifizieren.

Künstliche Intelligenz

  • 7 erweiterte ChatGPT-Tipps zum Schreiben von Eingabeaufforderungen, die Sie kennen müssen
  • Die 10 besten ChatGPT-Plugins des Jahres 2023 (und wie Sie das Beste daraus machen)
  • Ich habe viele KI-Tools für die Arbeit getestet. Das sind bisher meine 5 Favoriten
  • Mensch oder Bot? Dieses Turing-Testspiel stellt Ihre KI-Erkennungsfähigkeiten auf die Probe

Copilot wird als Erweiterung für Code-Editoren wie Microsofts VS Code verwendet. Es generiert Codevorschläge in mehreren Programmiersprachen, die Benutzer annehmen, ablehnen oder bearbeiten können. Die Vorschläge werden vom Codex von OpenAI bereitgestellt, einem System, das natürliche Sprache in Code übersetzt und darauf basiert Das GPT-3-Sprachmodell von OpenAI.

SEHEN: Was ist Codierung und wofür wird sie verwendet? Ein Leitfaden für Anfänger

Google Research und das Google Brain Team kamen im Juli zu dem Schluss, dass die Auswirkungen von KI-Codevorschlägen auf die Produktivität von über 10.000 eigenen Entwicklern untersucht wurden Die Debatte über die relative Leistungsgeschwindigkeit bleibt eine „offene Frage“.". Dies trotz der Schlussfolgerung, dass es sich um eine Kombination aus traditionellen regelbasierten semantischen Engines und großer Sprache handelt Modelle wie Codex/Copilot „können verwendet werden, um die Entwicklerproduktivität durch besseren Code deutlich zu steigern.“ Fertigstellung".

Aber wie misst man die Produktivität? Andere Forscher haben Anfang dieses Jahres anhand einer kleinen Stichprobe von 24 Entwicklern Folgendes festgestellt: gefunden dass Copilot nicht unbedingt die Zeit für die Erledigung von Aufgaben oder die Erfolgsquote verbesserte. Es stellte sich jedoch heraus, dass Copilot den Entwicklern die Mühe ersparte, online nach Codeausschnitten zur Lösung bestimmter Probleme zu suchen. Dies ist ein wichtiger Indikator dafür, wie sehr ein KI-Tool wie Copilot Kontextwechsel reduzieren kann, wenn Entwickler einen Editor verlassen, um ein Problem zu lösen.

GitHub auch befragte über 2.600 Entwicklerund stellt Fragen wie: „Haben die Leute das Gefühl, dass GitHub Copilot sie produktiver macht?“ Seine Forscher hatten außerdem den Vorteil eines einzigartigen Zugangs zu umfangreichen Telemetriedaten und veröffentlichte die Studie im Juni. Die Forscher fanden unter anderem heraus, dass sich zwischen 60 % und 75 % der Nutzer zufriedener fühlen Sie erledigen ihre Arbeit mit Copilot, fühlen sich beim Codieren weniger frustriert und können sich auf zufriedenstellendere Dinge konzentrieren arbeiten.

„Bei unserer Forschung haben wir gesehen, dass GitHub Copilot schnellere Fertigstellungszeiten unterstützt und den Kopf der Entwickler schont Energie, hilft ihnen, sich auf eine zufriedenstellendere Arbeit zu konzentrieren und letztendlich mehr Spaß an der Programmierung zu haben“, GitHub sagte.

GitHub-Forscherin Dr. Eirini Kalliamvakou erklärte den Ansatz: „Wir haben mehrere Runden durchgeführt Forschung einschließlich qualitativer (Wahrnehmungs-) und quantitativer (beobachteter) Daten, um das Ganze zusammenzustellen Bild. Wir wollten Folgendes überprüfen: (a) Bestätigen die tatsächlichen Erfahrungen der Benutzer, was wir aus der Telemetrie schließen? (b) Lässt sich unser qualitatives Feedback auf unsere große Nutzerbasis übertragen?“

Kalliamvakou, der an der ursprünglichen Studie beteiligt war, hat nun darauf mit einem Experiment mit 95 Entwicklern aufgebaut, das sich auf die Frage der Codierungsgeschwindigkeit mit und ohne Copilot konzentrierte.

Diese Untersuchung ergab, dass die Gruppe, die Copilot nutzte (45 Entwickler), die Aufgabe im Durchschnitt innerhalb von 1 Stunde und 11 Minuten erledigte. Die Gruppe, die Copilot nicht nutzte (50 Entwickler), schloss es im Durchschnitt in 2 Stunden und 41 Minuten ab. Die Gruppe mit Copilot war also 55 % schneller als die Gruppe ohne.

Kalliamvakou stellte außerdem fest, dass ein höherer Prozentsatz der Gruppe mit Copilot die Aufgabe erledigte – 78 % der Copilot-Gruppe gegenüber 70 % in der Gruppe ohne Copilot.

Die Studie ist von Natur aus begrenzt, da sie nur die Geschwindigkeiten der Entwickler beim Codieren eines Webservers in JavaScript und keine anderen Aufgaben mit anderen Sprachen wie Python oder Java verglich. Außerdem wurde die Qualität des Codes nicht bewertet.

Und das Experiment untersuchte nicht Faktoren, die zur Produktivität beitragen, wie etwa Kontextwechsel. Die frühere Studie von GitHub ergab jedoch, dass 73 % der Entwickler angaben, dass Copilot ihnen dabei geholfen hat, im Fluss zu bleiben.

In einer E-Mail erklärte Kalliamvakou gegenüber ZDNET, was diese Zahl im Hinblick auf Kontextwechsel und Entwicklerproduktivität bedeutet.

„Die Berichterstattung über ‚im Fluss bleiben‘ bedeutet sicherlich weniger Kontextwechsel, und wir haben zusätzliche Beweise.“ 77 % der Befragten gaben an, dass sie mit GitHub Copilot weniger Zeit mit Suchen verbringen“, schrieb sie.

„Die Aussage misst einen bekannten Kontextwechsel für Entwickler, etwa das Nachschlagen von Dokumentation oder den Besuch von Q&A-Seiten wie Stack Overflow, um Antworten zu finden oder Fragen zu stellen. „Da GitHub Copilot Informationen in den Editor bringt, müssen Entwickler nicht mehr so ​​oft aus der IDE wechseln“, erklärte sie.

Aber die alleinige Verwendung des Kontextwechsels zur Messung der verbesserten Produktivität anhand von KI-Codevorschlägen kann kein vollständiges Bild liefern. Es gibt auch „gute“ und „schlechte“ Kontextwechsel, was es schwierig macht, die Auswirkungen des Kontextwechsels zu messen.

SEHEN:Datenwissenschaftler vs. Dateningenieur: Wie sich die Nachfrage nach diesen Rollen verändert

Während einer typischen Aufgabe wechseln Entwickler häufig zwischen verschiedenen Aktivitäten, Tools und Informationsquellen, erklärte Kalliamvakou.

Sie zeigte darauf eine 2014 veröffentlichte Studie Dabei wurde festgestellt, dass Entwickler durchschnittlich 1,6 Minuten mit einer Aktivität verbringen, bevor sie wechseln, bzw. durchschnittlich 47 Mal pro Stunde wechseln.

„Das liegt einfach an der Art ihrer Arbeit und der Vielzahl der von ihnen verwendeten Tools, daher wird es als „guter“ Kontextwechsel angesehen.“ Im Gegensatz dazu gebe es „schlechte“ Kontextwechsel aufgrund von Verzögerungen oder Unterbrechungen“, sagte sie.

„Wir haben es gefunden unsere frühere Forschung dass dies die Produktivität und auch das Fortschrittsgefühl der Entwickler stark beeinträchtigt. Der Kontextwechsel ist schwer zu messen, da wir nicht über eine gute Möglichkeit verfügen, automatisch zwischen „gut“ und „gut“ zu unterscheiden „schlechte“ Instanzen – oder wenn ein Wechsel Teil der Erledigung einer Aufgabe ist oder eine Unterbrechung des Entwicklerflusses verursacht und Produktivität. Es gibt jedoch Möglichkeiten, den Kontextwechsel anhand von Selbstberichten und Beobachtungen zu messen, die wir in unserer Forschung verwenden.“ 

Was die Leistung von Copilot mit anderen Sprachen angeht, sagt Kalliamvakou, dass sie daran interessiert ist, in Zukunft Experimente durchzuführen.

„Es war auf jeden Fall ein lustiges Experiment. „Diese kontrollierten Experimente sind ziemlich zeitaufwändig, da wir versuchen, sie größer und umfassender zu machen, aber ich würde in Zukunft gerne Tests für andere Sprachen ausprobieren“, sagte sie.

Kalliamvakou veröffentlichte weitere wichtige Ergebnisse der groß angelegten GitHub-Umfrage in einem Blogbeitrag detailliert seine Suche nach den am besten geeigneten Metriken zur Messung der Entwicklerproduktivität.

Entwickler

Es ist wieder das Ende der Programmierung, wie wir sie kennen
Entwickler fühlen sich in ihrem Job sicher, denken aber immer noch darüber nach, aufzuhören
Die Zukunft des Webs wird eine andere Art von Softwareentwicklern brauchen
Die besten Linux-Laptops für Verbraucher und Entwickler
  • Es ist wieder das Ende der Programmierung, wie wir sie kennen
  • Entwickler fühlen sich in ihrem Job sicher, denken aber immer noch darüber nach, aufzuhören
  • Die Zukunft des Webs wird eine andere Art von Softwareentwicklern brauchen
  • Die besten Linux-Laptops für Verbraucher und Entwickler