KI als Programmierhilfe: Effizienterer Code, aber mehr Fehler

Ein Data Scientist testet, was KI als Programmierknecht kann. Sein Ergebnis: Wenn der Mensch noch mal prüft und mit Geldstrafe droht, wird der Code effizienter.

vorlesen Druckansicht 49 Kommentare lesen
Hand mit Stift hinter einer Glasscheibe mit KI-Abbildung

(Bild: everything possible/Shutterstock.com)

Lesezeit: 2 Min.
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Damit generative Chatbots effizienten Programmcode ausgeben können, müssen Entwickler die KI mit genauen Anweisungen anleiten. Darauf deutet ein Experiment von Max Woolf, Senior Data Scientist bei Buzzfeed hin. Er kommt zu dem Schluss, dass Prompt Engineering die Geschwindigkeit des generierten Codes verbessern kann. Allerdings enthalte der stark optimierte Programmcode mehr Fehler, weil Sprachmodelle nicht darauf ausgelegt seien, schrieb Woolf.

Für sein Experiment ließ sich Woolf von Anthropic Claude einen Python-Code generieren. Aus einer Liste mit einer Million zufälliger Ganzzahlen zwischen 1 und 100000 sollte er die Differenz zwischen der kleinsten und größten Zahl berechnen, deren Quersumme 30 betragen. Die KI lieferte Woolf einen funktionierenden Codeblock. Danach bat er den Chatbot viermal, den Code zu verbessern. Nach der ersten Iteration war der Code fast dreimal schneller. Der zweite Optimierungsvorschlag war mit Multithreading fünfmal schneller, lieferte aber Bugs. Mit dem letzten Vorschlag beschleunigte die KI den Code um den Faktor 100.

In einem zweiten Durchlauf wies Woolf den Chatbot an, dass der Code vollständig optimiert werden müsse. Zusätzlich nannte er im Prompt Beispiele für die Verbesserungen, etwa die Nutzung von Parallelisierung und Vektorisierung und die Wiederverwertung von Code. Woolf drohte der KI mit einer Geldstrafe, falls der Code nicht vollständig optimiert sein sollte. Das Ergebnis war ein neunmal schnellerer Code. Er wiederholte die Optimierung dreimal und stellte in den letzten beiden Iterationen eine nahezu hundertfach schnellere Codeausführung fest.

Videos by heise

Allerdings führten die starken Optimierungen mit Prompt Engineering in Woolfs Experiment zu einer höheren Fehlerhäufigkeit. In allen Ausgaben des zweiten Durchlaufs fand er Fehler im Code, bei denen er nacharbeiten musste. Trotzdem lobte Woolf die Sprachmodelle für ihren Ideenreichtum und ihre Vorschläge. Dass künstliche Intelligenz Arbeitskräfte ersetzen kann, erwartet er hingegen nicht. Es brauche Fachwissen, um wirklich gute Ideen erkennen und Probleme beheben zu können, schrieb Woolf in seinem Blog.

(sfe)