Spezialfall: Code Prompting – Tipps für Entwickler
Meistern Sie die Kunst des Code Promptings und erfahren Sie, wie Sie mit präzisen Anweisungen und Best Practices die Fähigkeiten von KI-Modellen für Softwareentwicklung optimal nutzen.

KI-generiertLarge Language Models (LLMs) revolutionieren nicht nur die Textverarbeitung, sondern sind auch zu unverzichtbaren Werkzeugen für Softwareentwickler:innen geworden. Sie können beim Schreiben von neuem Code helfen, bestehenden Code erklären, Fehler finden, Code übersetzen und vieles mehr. Um diese Fähigkeiten optimal zu nutzen, ist jedoch ein angepasstes Vorgehen beim Prompting erforderlich – das Code Prompting.
Warum spezielles Code Prompting?
Code unterscheidet sich grundlegend von natürlicher Sprache:
- Präzision: Syntax und Logik müssen exakt sein. Ein fehlendes Komma oder eine falsche Einrückung kann alles lahmlegen.
- Kontextabhängigkeit: Code existiert selten isoliert. Er hängt von Programmiersprachen, Bibliotheken, Frameworks und der umgebenden Codebasis ab.
- Implizite Annahmen: Entwickler:innen haben oft implizites Wissen über Anforderungen oder Konventionen, das dem LLM explizit mitgeteilt werden muss.
Daher müssen Prompts für Code-Aufgaben besonders klar, detailliert und kontextbezogen sein.
Best Practices für Code Prompts
1. Seien Sie extrem spezifisch
Je genauer Ihre Anfrage, desto besser das Ergebnis. Definieren Sie:
- Sprache & Version: z.B. Python 3.9, JavaScript ES6, Java 17.
- Bibliotheken/Frameworks: z.B. React, Pandas, Spring Boot.
- Klares Ziel: Was genau soll der Code tun?
- Struktur: Gewünschte Funktions-/Klassennamen, Signaturen.
- Algorithmus/Logik: Gib den Ansatz vor, falls relevant (z.B. "rekursiv", "iterativ", "nutze Algorithmus X").
- Ein-/Ausgabe: Erwartete Datenformate, Parameter, Rückgabewerte.
- Randbedingungen: Wie sollen Fehler, ungültige Eingaben oder Sonderfälle behandelt werden?
Beispiel:
Prompt:
Erstelle eine Python 3 Funktion namens `calculate_factorial`.
Sie soll eine nicht-negative ganze Zahl `n` als Eingabe akzeptieren.
Sie soll die Fakultät von `n` iterativ berechnen und zurückgeben.
Inkludiere einen Docstring, der die Funktion, ihre Parameter und den Rückgabewert beschreibt.
Behandle den Fall `n=0` korrekt (Fakultät von 0 ist 1).
Wirf einen `ValueError`, wenn `n` negativ ist.2. Geben Sie ausreichend Kontext
- Fügen Sie relevante Ausschnitte aus Ihrem bestehenden Code bei.
- Beschreiben Sie wichtige Datenstrukturen oder Klassen, mit denen der neue Code interagieren soll.
- Erwähnen Sie spezifische Coding-Konventionen oder Styleguides, falls vorhanden.
3. Zerlegen Sie komplexe Aufgaben
- Generieren Sie nicht ganze Anwendungen auf einmal. Teilen Sie das Problem in kleinere, handhabbare Funktionen oder Module auf.
- Prompten Sie für jede Komponente einzeln und fügen Sie sie später zusammen.
4. Nutzen Sie Beispiele (Few-Shot)
- Zeigen Sie dem Modell durch konkrete Beispiele, wie die Ein- und Ausgabe formatiert sein soll.
- Geben Sie Beispiele für den gewünschten Code-Stil oder spezifische Muster.
5. Weisen Sie eine Rolle zu (Role Prompting)
- Bitten Sie das Modell, aus der Perspektive eines Experten zu antworten: "Antworte als Senior Backend Developer mit Expertise in Datenbankoptimierung..."
6. Iterieren und Verfeinern Sie
- Betrachten Sie den ersten Output des LLMs als Entwurf.
- Nutzen Sie Folge-Prompts gezielt zur Verbesserung:
- Fehlerkorrektur: "Dieser Code wirft eine NullPointerException, wenn die Liste leer ist. Wie kann ich das beheben?"
- Optimierung: "Gibt es eine Möglichkeit, diese Datenbankabfrage performanter zu gestalten?"
- Refactoring: "Schlage eine sauberere Struktur für diese verschachtelten Bedingungen vor."
- Alternativen: "Zeige mir, wie man das mit List Comprehensions statt einer for-Schleife löst."
- Tests hinzufügen: "Generiere bitte einige Unit-Tests für diese Funktion mit dem pytest-Framework."
Typische Anwendungsfälle
- Code-Generierung: Funktionen, Klassen, Boilerplate-Code, Konfigurationen, SQL-Abfragen, Regex.
- Code-Erklärung: Verstehen komplexer Algorithmen, fremder Codebasen oder spezifischer Syntax.
- Debugging: Finden von logischen Fehlern, Syntaxfehlern, Laufzeitfehlern.
- Code-Übersetzung: Portieren von Code zwischen verschiedenen Programmiersprachen.
- Testfall-Generierung: Erstellen von Unit-Tests, Integrationstests, Mock-Daten.
- Dokumentation: Schreiben von Kommentaren, Docstrings, API-Dokumentation, READMEs.
- Refactoring: Verbesserung der Code-Struktur, Lesbarkeit und Wartbarkeit.
Wichtiger Hinweis: Immer überprüfen!
Generierter Code ist niemals blind zu vertrauen!
- Menschliche Prüfung: Jede Zeile Code, die von einem LLM stammt, muss von einem qualifizierten Menschen sorgfältig geprüft, verstanden und getestet werden.
- Fehlerpotenzial: LLMs können subtile logische Fehler, Ineffizienzen oder sogar Sicherheitslücken produzieren.
- Verantwortung: Die letztendliche Verantwortung für die Korrektheit, Sicherheit und Wartbarkeit des Codes liegt immer bei der Entwicklerin oder dem Entwickler.
Fazit
Code Prompting ist eine extrem nützliche Fähigkeit für moderne Softwareentwicklung. Durch präzise Anweisungen, die Bereitstellung von Kontext und einen iterativen Ansatz können LLMs zu wertvollen "Pair Programmern" werden, die die Produktivität steigern und bei vielfältigen Aufgaben unterstützen. Der Schlüssel liegt jedoch in der sorgfältigen Anwendung und der unerlässlichen menschlichen Überprüfung der Ergebnisse.
Häufig gestellte Fragen
Nächster Schritt: Kann man das Schreiben von Prompts selbst automatisieren? Werfen Sie einen Blick auf Automatisches Prompt Engineering.
Über den Autor

Sascha Seniuk
Mitgründer & Technical Lead
Mit über 20 Jahren IT-Erfahrung – vom Systemadministrator bis zum KI-Experten – navigiert Sascha mittelständische Unternehmen durch LLM-Ops, RAG-Pipelines und Workflow-Automatisierung. Als externer KI-Manager macht er künstliche Intelligenz für den Mittelstand greifbar und nutzbar.