Kürzlich führte Max Woolf, Senior Data Scientist bei BuzzFeed, ein Experiment durch, um die Wirkung wiederholter Aufforderungen zur Codeverbesserung durch KI zu untersuchen. Er verwendete das Sprachmodell Claude 3.5 und stellte eine klassische Programmieraufgabe: Schreibe Python-Code, der die Differenz zwischen dem Maximum und Minimum der Summe von Zahlen in einer Million Zufallszahlen findet, wobei die Summe 30 ergibt.
Bildquelle: Das Bild wurde von KI generiert, Bildlizenzgeber Midjourney
In der ersten Version benötigte der von Claude generierte Code 657 Millisekunden. Durch wiederholte Eingabe der einfachen Anweisung „Schreibe besseren Code (write better code)“ verkürzte sich die Laufzeit des Codes auf nur 6 Millisekunden – eine hundertfache Performance-Steigerung. Dieses Ergebnis ist nicht nur bemerkenswert, sondern zeigt auch unerwartete Veränderungen in der Art und Weise, wie die KI „besseren Code“ definiert.
Beim vierten Mal, als Woolf „Schreibe besseren Code“ eingab, verwandelte Claude den Code unerwartet in eine Struktur, die einer Unternehmensanwendung ähnelt, und fügte typische Unternehmenseigenschaften hinzu, obwohl Woolf dies nicht explizit gefordert hatte. Dies deutet darauf hin, dass die KI „besseren Code“ möglicherweise mit „Unternehmenssoftware“ in Verbindung bringt, was ihr Training widerspiegelt.
Der Entwickler Simon Willison analysierte dieses iterative Verbesserungsverfahren und argumentierte, dass das Sprachmodell den Code bei jeder neuen Anfrage aus einer völlig neuen Perspektive betrachtet. Obwohl jeder Anfrage der Kontext vorheriger Dialoge zugrunde liegt, scheint Claude den Code bei jeder Analyse zum ersten Mal zu sehen, was kontinuierliche Verbesserungen ermöglicht.
Woolf stellte jedoch bei weiteren Versuchen mit spezifischeren Anweisungen fest, dass zwar schnellere und bessere Ergebnisse erzielt werden können, aber dennoch subtile Fehler im Code auftreten, die von Menschen behoben werden müssen. Daher betont er die Bedeutung präzisen Prompt Engineerings. Einfache Folgefragen können die Codequalität zwar zunächst verbessern, aber gezieltes Prompt Engineering führt zu deutlich besseren Leistungen, birgt aber auch ein höheres Risiko.
Bemerkenswert ist, dass Claude in diesem Experiment einige Optimierungsschritte übersprang, die menschliche Entwickler für selbstverständlich halten, wie z. B. die Entfernung von Duplikaten oder das vorherige Sortieren der Zahlen. Auch kleine Änderungen in der Fragestellung beeinflussen Claudes Ausgabe deutlich.
Trotz dieser beeindruckenden Leistungssteigerungen erinnert Woolf daran, dass menschliche Entwickler bei der Validierung von Lösungen und der Fehlerbehebung weiterhin unerlässlich sind. Er weist darauf hin, dass KI-generierter Code zwar nicht direkt einsatzfähig ist, aber seine Fähigkeiten in Bezug auf Kreativität und Werkzeugvorschläge beachtenswert sind.
Wichtigste Punkte:
🌟 KI verbessert die Code-Performance durch wiederholte Anweisungen; die Laufzeit des ursprünglichen Codes sank von 657 Millisekunden auf 6 Millisekunden.
💡 KI fügt dem Code automatisch Unternehmenseigenschaften hinzu und zeigt so ihr einzigartiges Verständnis von „besserem Code“.
🛠️ Prompt Engineering bleibt wichtig; präzise Anfragen beschleunigen die Ergebnisgenerierung, erfordern aber dennoch die Validierung und Korrektur durch menschliche Entwickler.