Prompt Quality and Pull Request Outcomes: A Stage-Based Empirical Study of LLM-Assisted Development
Diese Studie analysiert empirisch 265 Entwickler-ChatGPT-Interaktionen in Open-Source-Pull-Requests, um zu demonstrieren, dass spezifische Prompt-Charakteristika – Kontext, Spezifität und Verifizierung – distinkte, phasenabhängige Effekte auf KI-gestützte Softwareentwicklungsergebnisse ausüben, wobei Spezifität und Kontext die Erzeugung von ausführbarem Code vorantreiben, Verifizierung die Code-Übernahme vorhersagt und Kontext die Integrationstiefe bestimmt.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie sind ein Chefkoch (der Entwickler), der versucht, ein komplexes Gericht zuzubereiten, aber Sie haben einen sehr talentierten, wenn auch manchmal etwas wortwörtlich nehmenden Sous-Chef (die KI). Sie können nicht einfach „Mach das Abendessen!“ rufen und ein Michelin-Sterne-Menü erwarten. Sie müssen spezifische Anweisungen geben.
Dieses Paper ist eine Studie darüber, wie die Art und Weise, wie Sie den Sous-Chef um Hilfe bitten, den gesamten Kochprozess beeinflusst – vom ersten Bestandteil bis zum fertigen Teller, der dem Kunden serviert wird.
Die Forscher untersuchten 265 reale Beispiele, in denen Entwickler ihre Gespräche mit einer KI (ChatGPT) innerhalb von Softwareprojekten geteilt haben. Sie wollten sehen, ob die Qualität der „Rezeptanfrage“ (des Prompts) davon abhing, ob der Code der KI nützlich war, akzeptiert wurde und tatsächlich im Endprodukt verwendet wurde.
Hier ist die Aufschlüsselung ihrer Ergebnisse, unter Verwendung einfacher Analogien:
1. Die drei Zutaten einer guten Anfrage
Die Forscher haben jede Anfrage in drei Teile zerlegt, als würde man eine Rezeptkarte prüfen:
- Kontext (Das Setting): Hat der Entwickler erklärt, wo dieser Code hingehört? (z. B. „Dies ist für den Login-Bildschirm unserer Banking-App.“)
- Spezifität (Die Details): Hat der Entwickler genau gesagt, was er wollte? (z. B. „Mach den Button blau und rund“, nicht nur „Mach ihn hübsch.“)
- Verifizierung (Der Geschmackstest): Hat der Entwickler gesagt, wie zu prüfen ist, ob es richtig ist? (z. B. „Wenn ich hier klicke, sollte ich mich ohne Fehlermeldung einloggen können.“)
2. Die drei Phasen des Küchen-Workflows
Die Studie ergab, dass sich die „perfekte“ Anfrage ändert, je nachdem, in welcher Phase des Kochprozesses man sich befindet. Es ist nicht eins nach dem anderen.
Phase 1: Den ersten Entwurf erhalten (Code-Generierung)
- Was am wichtigsten ist: Kontext und Spezifität.
- Die Analogie: Wenn Sie möchten, dass die KI tatsächlich ein Rezept schreibt, müssen Sie ihr sagen, welche Art von Essen Sie zubereiten und ihr klare Schritte vorgeben.
- Das Ergebnis: Wenn die Anfrage vage war oder es an Hintergrundinformationen mangelte, lieferte die KI oft nur eine generische Erklärung anstatt tatsächlichen Code. Aber wenn der Entwickler ein klares Ziel und etwas Hintergrund lieferte, produzierte die KI fast immer nutzbaren Code.
- Was noch nicht wichtig war: Ob die Anfrage einen „Geschmackstest“ (Verifizierung) enthielt, verhinderte nicht, dass die KI den Code schrieb.
Phase 2: Den Entwurf verwenden (Code-Adoption)
- Was am wichtigsten ist: Verifizierung.
- Die Analogie: Jetzt hat die KI ein Rezept geschrieben. Der Entwickler muss entscheiden: „Kann ich dem vertrauen?“ Wenn der Entwickler einen Weg angegeben hat, das Ergebnis zu prüfen (wie „Es muss diesen spezifischen Test bestehen“), war der Entwickler viel eher bereit zu sagen: „Ja, verwende das!“
- Das Ergebnis: Selbst wenn der Code gut geschrieben war, wenn der Entwickler keinen Weg angab, um zu verifizieren, ob er korrekt war, lehnte er ihn oft ab. Der „Geschmackstest“ war der Schlüssel dazu, dass der Code akzeptiert wurde.
- Was nicht so wichtig war: Zu diesem Zeitpunkt war es kein entscheidender Faktor mehr, ob die Anfrage ein super-spezifisches Ziel oder zusätzliche Hintergrundinfos hatte; die Fähigkeit, den Erfolg zu beweisen, war entscheidend.
Phase 3: In das fertige Gericht mischen (Integrationstiefe)
- Was am wichtigsten ist: Wieder der Kontext.
- Die Analogie: Der Code ist akzeptiert, aber nun muss er in den großen Topf der bestehenden Software gemischt werden. Wenn der Code der KI ohne Wissen über das „Geschmacksprofil“ des restlichen Gerichts geschrieben wurde, könnte er seltsam schmecken und müsste stark umgeschrieben werden.
- Das Ergebnis: Je mehr Hintergrundinformationen (Kontext) der Entwickler der KI gab, desto besser passte der Code der KI in das bestehende Projekt. Wenn die KI raten musste, wie sie hineinpasst, mussten die Entwickler später viel Zeit mit Korrekturen verbringen.
- Die Lektion: Um Code zu erhalten, der nahtlos passt, müssen Sie der KI genau sagen, wo er im größeren Gesamtbild hingehört.
3. Der „Roboter vs. Mensch“-Prüfer
Die Forscher versuchten auch zu sehen, ob sie eine KI nutzen könnten, um diese Anfragen automatisch zu bewerten.
- Das Ergebnis: Es war ein gemischtes Bild. Die KI war ganz gut darin, „Spezifität“ (klare Anweisungen) zu erkennen, aber schlecht darin, „Kontext“ (sie übersah oft die Hintergrundinformationen) und „Verifizierung“ (sie hatte Schwierigkeiten zu erkennen, ob ein Test enthalten war) zu identifizieren.
- Die Erkenntnis: Man kann nicht einfach einen Roboter die Bewertung all dieser Anfragen überlassen. Man braucht einen Menschen, der die schwierigen Teile, insbesondere den Hintergrundkontext, überprüft.
4. Das Endergebnis (Wurde der PR gemerged?)
Interessanterweise änderte die Qualität des Prompts die Geschwindigkeit, mit der die Projektmanager die Anfrage zusammenführten (merged) oder schlossen, kaum. Das schien eher davon abzuhängen, wie groß die Anfrage war und von den allgemeinen Regeln des Projekts, nicht nur vom Prompt selbst.
Zusammenfassung
Betrachten Sie die Arbeit mit KI in der Softwareentwicklung wie einen Staffellauf:
- Start: Sie benötigen Kontext und Spezifität, um den Staffelstab (den Code) in Bewegung zu setzen.
- Mitte: Sie benötigen Verifizierung, um zu beweisen, dass der Läufer auf dem richtigen Weg ist, damit die nächste Person den Stab übernehmen kann.
- Ziel: Sie benötigen erneut Kontext, um sicherzustellen, dass der Läufer die Ziellinie in der richtigen Bahn überquert, ohne mit den anderen Läufern zu kollidieren.
Das Paper kommt zu dem Schluss, dass das Schreiben eines guten Prompts nicht nur dazu dient, Code zu erhalten; es geht darum, den gesamten Workflow auf Erfolg auszurichten. Wenn Sie die Schritte „Kontext“ oder „Verifizierung“ überspringen, wird der Code zwar vielleicht geschrieben, aber er könnte abgelehnt werden oder viel zusätzliche Arbeit bei der Korrektur erfordern.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.