Wähle deine bevorzugte Option:
für Einzelnutzer
für Teams und Unternehmen

Von der ersten Idee bis zur voll integrierten KI-Lösung – strukturiert, sicher und mit messbarem Erfolg
Wir analysieren Ihre Geschäftsprozesse und identifizieren konkrete Use Cases mit dem höchsten ROI-Potenzial.
✓ Messbare KPIs definiert
Vollständige Datenschutz-Analyse und Implementierung sicherer Datenverarbeitungsprozesse nach EU-Standards.
✓ 100% DSGVO-konform
Maßgeschneiderte Auswahl der optimalen KI-Lösung – von Azure OpenAI bis zu Open-Source-Alternativen.
✓ Beste Lösung für Ihren Fall
Schneller Proof of Concept mit nahtloser Integration in Ihre bestehende IT-Infrastruktur und Workflows.
✓ Ergebnisse in 4-6 Wochen
Unternehmensweiter Rollout mit umfassenden Schulungen für maximale Akzeptanz und Produktivität.
✓ Ihr Team wird KI-fit
Die rapide Entwicklung von Künstlicher Intelligenz hat Große Sprachmodelle (LLMs) zu einem unverzichtbaren Werkzeug in zahlreichen Anwendungsbereichen gemacht, wobei die Codegenerierung eine herausragende Rolle spielt. Während LLMs bereits beeindruckende Fähigkeiten in der Erstellung von Software demonstrieren, bleibt die Frage nach den effektivsten Strategien zur Optimierung von Prompts für diese spezifische Aufgabe oft unbeantwortet. Eine aktuelle empirische Studie hat sich dieser Herausforderung angenommen und zehn konkrete Richtlinien für die Prompt-Optimierung in der Codegenerierung erarbeitet und validiert. Diese Arbeit bietet wertvolle Einblicke für Praktiker und Entwickler, die die Leistungsfähigkeit von LLMs in ihren Entwicklungsprozessen maximieren möchten.
Die Qualität des von LLMs generierten Codes hängt maßgeblich von der Präzision und Klarheit der bereitgestellten Prompts ab. Allgemeine Prompt-Engineering-Ansätze existieren zwar, doch spezifische Anleitungen für softwaretechnische Aufgaben, insbesondere die Codegenerierung, waren bisher Mangelware. Dies liegt daran, dass Prompts für die Softwareentwicklung sehr detaillierte, technologiespezifische oder lösungsorientierte Elemente erfordern können, die über generische Optimierungen hinausgehen. Ohne klare Richtlinien kann die Generierung von Code durch LLMs zu unzureichenden oder fehlerhaften Ergebnissen führen, was den Entwicklungsprozess verlangsamt und die Effizienz mindert.
Die in der Studie angewandte Methodik zur Ableitung und Bewertung von Prompt-Optimierungsrichtlinien war mehrstufig und iterativ. Sie umfasste folgende Hauptphasen:
Für die Studie wurden vier moderne LLMs – GPT-4o mini, Llama 3.3 70B Instruct, Qwen2.5 72B Instruct und DeepSeek Coder V2 Instruct – verwendet, um Python-Code basierend auf Aufgaben aus drei Benchmarks (BigCodeBench, HumanEval+, MBPP+) zu generieren. Die Modelle wurden jeweils zehnmal mit einem ursprünglichen Prompt (Methodensignatur und Docstring) aufgefordert, Code zu erzeugen. Bei Aufgaben, bei denen die LLMs durchweg keinen testkonformen Code produzierten, wurde der nächste Schritt eingeleitet.
Für die zuvor identifizierten, fehlgeschlagenen Fälle wurde ein iterativer Code-Optimierungsprozess gestartet. Die LLMs erhielten einen "Code-Optimierungs-Prompt", der die aktuelle Iterationsrunde, den ursprünglichen Prompt, den zuvor generierten, fehlerhaften Code und die Fehlermeldungen der Testfälle enthielt. Die LLMs wurden aufgefordert, einen neuen Code-Snippet zu liefern. Dieser Prozess wurde maximal fünf Runden lang fortgesetzt. Wenn ein LLM innerhalb dieser Runden testkonformen Code erzeugte, wurden der ursprüngliche Prompt, alle Fehlermeldungen und der erfolgreiche Code gespeichert.
Anschließend wurden die LLMs angewiesen, aus den gesammelten Informationen einen neuen, optimierten Null-Schuss-Prompt zu erstellen. Dieser "Prompt-Optimierungs-Prompt" umfasste den ursprünglichen Prompt, eine Liste der gesammelten Fehler (als Paare von Code und Fehlern) und den schließlich erfolgreichen Code. Der neu generierte optimierte Prompt wurde dann zehnmal den LLMs als Eingabe vorgelegt, um seine Wirksamkeit zu überprüfen. Wenn der daraus resultierende Code mindestens einmal die Tests bestand, galt der Prompt als erfolgreich optimiert und wurde mit dem ursprünglichen Prompt gepaart.
Die Paare aus ursprünglichen und optimierten Prompts wurden manuell von zwei Autorenteams analysiert. Sie identifizierten textuelle Unterschiede und die Elemente, die hinzugefügt oder präzisiert wurden, um die Codegenerierung erfolgreich zu machen. Dabei wurden Modifikationen ausgeschlossen, die implementierte Code-Snippets enthielten oder Anforderungen, die nur durch das Lesen der Tests bekannt sein konnten. Nach der Konfliktlösung und Konsolidierung entstand ein Katalog von zehn Prompt-Optimierungsrichtlinien.
Zur Validierung der Richtlinien wurde eine Umfrage unter 50 Softwareentwicklern durchgeführt. Die Teilnehmer wurden befragt, inwieweit sie die identifizierten Optimierungsstrategien bereits in ihrer Praxis anwenden und wie nützlich sie diese empfinden. Auch wurden sie gebeten, weitere nicht berücksichtigte Strategien zu nennen.
Die Studie identifizierte zehn spezifische Richtlinien, die wesentlich zur Verbesserung der Qualität von LLM-generiertem Code beitragen:
Formulieren Sie alle benötigten Pakete und Bibliotheken klar und erläutern Sie deren Verwendungszweck. Beispiel: "Verwenden Sie collections.defaultdict, um Buchstabenhäufigkeiten zu zählen" anstatt nur "Anforderungen: collections.defaultdict". Diese Richtlinie wurde in 19% der optimierten Prompts angewendet.
Definieren Sie Bedingungen, die vor der Codeausführung erfüllt sein müssen, z. B. "Die Eingabeliste darf nicht leer sein" oder "Die Matrix muss quadratisch sein". Dies hilft, ungültige Annahmen zu vermeiden und eine robuste Fehlerbehandlung sicherzustellen. Anwendung in 7% der optimierten Prompts.
Geben Sie Bedingungen an, die nach der Codeausführung gelten sollen, z. B. "Die Funktion gibt eine aufsteigend sortierte Liste zurück" oder "Das Ergebnis muss im Bereich [0, 1] liegen". Dies unterstützt das Modell bei der Überprüfung der Ausgabelogik. Anwendung in 23% der optimierten Prompts.
Spezifizieren Sie Datentypen, Formen und Strukturen von Ein- und Ausgaben, einschließlich Sonderfällen. Dies ist entscheidend bei komplexen I/O-Strukturen und die zweithäufigst angewendete Richtlinie (44%).
Beschreiben Sie explizit, welche Ausnahmen unter welchen Bedingungen ausgelöst oder welche Fehlermeldungen wo ausgegeben werden sollen. Vermeiden Sie vage Formulierungen. Anwendung in 12% der optimierten Prompts.
Geben Sie wesentliche algorithmische Details für komplexe Logik an, einschließlich unterstützender Definitionen, Formeln oder theoretischer Hinweise. Dies ist die am häufigsten angewendete Richtlinie (57%), um sicherzustellen, dass der Code der beabsichtigten Methode folgt.
Verwenden Sie eine konsistente Terminologie für Variablen, vermeiden Sie generische oder austauschbare Begriffe. Dies minimiert Verwirrung und gewährleistet Kohärenz. Obwohl nur in 3% der Fälle angewendet, zeigten einfache sprachliche Anpassungen hier große Wirkung.
Vermeiden Sie mehrdeutige Formulierungen wie "andernfalls" bei der Beschreibung von bedingter Logik. Beschreiben Sie stattdessen beide Bedingungen explizit. Diese Optimierung wurde in 1% der Fälle festgestellt.
Liefern Sie konkrete Beispiele oder DocTests, die das erwartete Verhalten demonstrieren. Beispiele verdeutlichen die Funktionalität und dienen als informeller Test. Anwendung in 24% der optimierten Prompts.
Nutzen Sie präzise, durchsetzungsstarke Sprache für Anforderungen und Einschränkungen (z. B. "muss" statt "sollte"). Dies reduziert die Unsicherheit und erhöht die Wahrscheinlichkeit, dass der generierte Code die Spezifikation strikt einhält. Anwendung in 9% der optimierten Prompts.
Die Umfrage unter 50 Softwareentwicklern ergab ein differenziertes Bild der Nutzung und wahrgenommenen Nützlichkeit der Richtlinien. Die Teilnehmer gaben an, Prompt-Verbesserungen in 25% bis über 75% ihrer Prompts vorzunehmen.
Die am häufigsten angewendeten Muster waren die Spezifikation des I/O-Formats sowie der Vor- und Nachbedingungen. Dies deutet darauf hin, dass Entwickler die Bedeutung klarer Schnittstellen und Zustände für die Codegenerierung erkennen. Weniger häufig wurden Muster zur sprachlichen Verbesserung oder zur Spezifikation von Ausnahmen verwendet, was möglicherweise auf die Annahme zurückzuführen ist, dass das LLM diese Aspekte selbstständig handhaben sollte oder dass die Fehlerbehandlung erst in späteren Phasen Priorität hat.
Interessanterweise zeigte sich eine Diskrepanz zwischen der tatsächlichen Nutzung und der wahrgenommenen Nützlichkeit bei einigen Richtlinien. Obwohl das Hinzufügen weiterer Beispiele seltener praktiziert wurde, stuften die Befragten es als sehr nützlich ein. Dies könnte auf ein mangelndes Bewusstsein für den vollen Nutzen oder eine fehlende Gewohnheit hindeuten. Ähnliches galt für die Spezifikation von Abhängigkeitsanforderungen und die Klärung von Mehrdeutigkeiten, die ebenfalls als nützlicher empfunden wurden, als sie tatsächlich angewendet wurden.
Zusätzlich zu den identifizierten Richtlinien nannten die Praktiker weitere Strategien zur Prompt-Verbesserung, darunter:
Diese Forschung hat weitreichende Implikationen für verschiedene Stakeholder:
Die Studie unterstreicht die Notwendigkeit, über generische Prompt-Engineering-Ansätze hinauszugehen und domänenspezifische Richtlinien für die Codegenerierung zu entwickeln. Durch einen systematischen und empirisch fundierten Ansatz konnten zehn wertvolle Richtlinien identifiziert werden, die sowohl Praktikern als auch Forschern als Grundlage für die Weiterentwicklung der LLM-gestützten Softwareentwicklung dienen können.
Die systematische Erforschung und Validierung von Prompt-Optimierungsrichtlinien für die Codegenerierung durch Große Sprachmodelle stellt einen bedeutenden Fortschritt dar. Die zehn identifizierten Richtlinien bieten eine konkrete Handlungsanleitung, um die Effektivität und Zuverlässigkeit von LLM-generiertem Code zu erhöhen. Die Diskrepanz zwischen der wahrgenommenen Nützlichkeit und der tatsächlichen Anwendung einiger Richtlinien deutet auf ein Potenzial zur weiteren Sensibilisierung und Integration dieser Praktiken in den Entwicklungsalltag hin. Die kontinuierliche Weiterentwicklung und Anpassung dieser Richtlinien, auch unter Berücksichtigung weiterer Programmiersprachen und Aufgaben, wird entscheidend sein, um das volle Potenzial von LLMs in der Softwareentwicklung auszuschöpfen.
Lernen Sie in nur 30 Minuten kennen, wie Ihr Team mit KI mehr erreichen kann – live und persönlich.
🚀 Demo jetzt buchen