Die Programmierfähigkeiten von künstlicher Intelligenz (KI) haben in den letzten Jahren stetig zugenommen, sind aber noch nicht perfekt. Kürzlich entdeckte Max Woolf, ein erfahrener Datenwissenschaftler bei BuzzFeed, durch Experimente, dass ein großes Sprachmodell (LLM) durch wiederholte Aufforderungen zum „Schreiben besseren Codes“ tatsächlich qualitativ hochwertigeren Code generieren kann. Diese Entdeckung hat breite Aufmerksamkeit erregt, und führende KI-Wissenschaftler zeigen großes Interesse und betonen die Bedeutung von Iteration und Prompt-Design.
In Woolfs Experiment verwendete er die Version Claude3.5Sonnet eines KI-Modells für eine Reihe von Programmieraufgaben. Zunächst stellte er dem Modell ein einfaches Programmierproblem: Wie findet man die Differenz zwischen dem Minimum und dem Maximum von Zahlen, deren Quersumme 30 beträgt, unter einer Million zufälliger Ganzzahlen? Claude generierte Code, der die Anforderungen erfüllte, aber Woolf sah Potenzial für Verbesserungen.
Anschließend beschloss Woolf, nach jeder Codegenerierung Claude durch die Aufforderung „Schreibe besseren Code“ zur iterativen Optimierung aufzufordern. Nach der ersten Iteration strukturierte Claude den Code als objektorientierte Python-Klasse um und implementierte zwei signifikante Optimierungen, wodurch die Ausführungsgeschwindigkeit um das 2,7-fache gesteigert wurde. In der zweiten Iteration fügte Claude Multithreading und Vektorberechnungen hinzu, was letztendlich zu einer 5,1-fachen Steigerung der Ausführungsgeschwindigkeit im Vergleich zur Basisversion führte.
Mit zunehmender Anzahl der Iterationen verlangsamte sich jedoch die Verbesserung der Codequalität. Nach mehreren Optimierungsrunden führte der Versuch des Modells, komplexere Techniken wie JIT-Kompilierung und asynchrone Programmierung einzusetzen, in einigen Iterationen sogar zu Leistungseinbußen. Letztendlich zeigte Woolfs Experiment das Potenzial und die Grenzen iterativer Prompts auf und ließ die Menschen über die Zukunft der KI-Programmierung nachdenken.
Diese Studie zeigt nicht nur das Anwendungspotenzial von KI im Programmierbereich, sondern erinnert uns auch daran, dass die Frage, wie man in der Praxis Prompts sinnvoll gestaltet und Leistung und Komplexität ausbalanciert, ein Thema ist, das einer eingehenden Untersuchung bedarf, obwohl KI die Codequalität durch ständige Iteration verbessern kann.