Martin Monperrus und Kolleginnen und Kollegen an der Königlich Technischen Hochschule KTH in Stockholm entwickelten Repairnator, einen Bot, der Patches für fehlschlagende Software-Builds erzeugt – und um zu testen, ob er mit Menschen konkurrieren kann, tarnten sie ihn. Sie legten einen GitHub-Nutzer namens Luc Esape an, „einen Softwareentwickler“ am Labor, der „wie ein Junior-Entwickler wirkt, der begierig darauf ist, Open-Source-Beiträge zu leisten“. Luc war der Bot. Die Tarnung war erforderlich, um die Hypothese der menschlichen Konkurrenzfähigkeit zu testen, weil menschliche Moderatorinnen und Moderatoren die Arbeit von Bots und Menschen unterschiedlich beurteilen. Die beteiligten Menschen wurden anschließend informiert.
Der erste Durchlauf von Februar bis Dezember 2017 setzte Repairnator auf eine feste Liste von 14.188 GitHub-Projekten an. Er unternahm etwa 30 Reparaturversuche pro Tag, analysierte über 11.500 Builds mit Fehlschlägen, reproduzierte mehr als 3.000 davon – und entwickelte in nur 15 Fällen Patches. Keiner wurde angenommen: Der Bot war zu langsam oder die Patches von zu geringer Qualität.
Der zweite Durchlauf setzte Luc ab Januar bis Juni 2018 auf den Continuous-Integration-Dienst Travis an, und am 12. Januar nahm eine menschliche Moderatorin oder ein menschlicher Moderator einen Repairnator-Patch in einen Build auf – mit anderen Worten: Repairnator war erstmals menschlich konkurrenzfähig. Über sechs Monate erzeugte er fünf angenommene Patches.
Das Experiment brachte ein Governance-Problem zutage: Im Mai 2018 wies das Projekt eclipse/ditto einen Repairnator-Pull-Request zurück, weil sein „Autor“ die Contributor License Agreement der Eclipse Foundation nicht unterzeichnet hatte – was ein Bot physisch nicht kann. Wer besitzt die IP und die Verantwortung für einen Bot-Beitrag, fragte das Team – der Betreiber, der Implementierer oder der Algorithmus-Designer?
Um zu testen, ob ein Bot mit Menschen konkurriert, muss man verbergen, welcher der Bot ist: Moderatorinnen und Moderatoren, die wissen, dass ein Patch maschinell erstellt wurde, beurteilen ihn nach anderen Maßstäben.
Die Täuschung ist das Versuchsdesign: Die Annahme durch Moderatorinnen und Moderatoren, die nicht wussten, dass sie einen Bot begutachteten, ist das einzige ehrliche Maß für menschliche Konkurrenzfähigkeit.
Die Ergebnisse sind konkret, nicht wunschdenkerisch – 14.188 beobachtete Projekte, 11.500 analysierte Builds, 3.000 reproduzierte Fehlschläge, fünf in echte Codebasen zusammengeführte Patches.
Der ehrliche erste Durchlauf (0 von 15 angenommen) macht die fünf Annahmen des zweiten Durchlaufs zu einer messbaren Verbesserung statt zu einer Demo.
Die Ablehnung wegen der Eclipse-CLA nahm die heutigen Debatten über KI-Beiträge Jahre im Voraus vorweg: Ein Bot kann keine Lizenz unterzeichnen, also wer bürgt für seinen Code?
Menschliche Konkurrenzfähigkeit ist eine Eigenschaft von Blindtests, kein Benchmark-Ergebnis: Man misst einen Bot so, wie Arbeit tatsächlich beurteilt wird – durch Gutachterinnen und Gutachter, die nicht wissen, was sie erzeugt hat.
Das Team informierte die betroffenen Menschen über die Täuschung und veröffentlichte die Ergebnisse; es bezeichnete Repairnator als Meilenstein für die menschliche Konkurrenzfähigkeit bei der automatischen Programmreparatur und als Vorwegnahme der Zusammenarbeit von Bots und Menschen an Software. Die Quelle berichtet keine weiteren Entwicklungen.
DEN BELEGEN FOLGEN
Die Quellen
- A bot disguised as a human software developer fixes bugs MIT Technology Review · technologyreview.com ·