Sicher und effektiv programmieren mit KI
Briefe die KI wie einen Kollegen und prüfe das Ergebnis wie ein Reviewer. Prompts fürs Debuggen, neuen Code, Tests und Reviews – inklusive wichtiger Checks.

KI-Chat ist beim Programmieren extrem nützlich: Er erklärt unbekannten Code, findet Fehlerursachen, schreibt Boilerplate, entwirft Tests und bringt dir eine neue Sprache oder Library bei. Er liegt aber auch oft genug selbstbewusst daneben – betrachte jede Antwort am besten wie einen Pull Request von schnellen, aber unvorsichtigen Kolleg*innen. Dieser Guide zeigt dir, wie du die richtigen Fragen stellst und die Antworten überprüfst.
Wofür sich KI-Chat beim Coden eignet
- Code erklären: „Geh diese Funktion Zeile für Zeile mit mir durch.“
- Debuggen: Fehlermeldungen und Stack-Traces analysieren und wahrscheinliche Ursachen vorschlagen.
- Kleine, klar definierte Funktionen: Datumsangaben parsen, Eingaben validieren, Daten transformieren.
- Boilerplate: Konfigurationsdateien, CLI-Argument-Parsing, einfache API-Handler.
- Tests: Entwürfe für Unit-Tests – inklusive Edge Cases, an die du nicht gedacht hast.
- Regex, SQL und Shell-Einzeiler, inklusive Erklärung der einzelnen Teile.
- Lernen: „Ich kenne Python; zeig mir, wie das in Go aussieht, und erkläre die Unterschiede.“
- Code Review: Lesbarkeitsprobleme, fehlendes Error-Handling und offensichtliche Sicherheitslücken aufspüren.
Weniger stark ist die KI bei grundlegenden Architekturentscheidungen, die von deiner gesamten Codebase abhängen, bei brandneuen Library-Versionen und bei allem, was sie nicht sehen kann. In einem Chat wie ChatG sieht die KI nur das, was du einfügst. Sie kann weder deine Dateien öffnen noch deinen Code ausführen.
So fragst du nach einem Bugfix
Die meisten schlechten Antworten entstehen durch fehlenden Kontext. Ein guter Debugging-Prompt enthält fünf Dinge: Sprache und Versionen, den relevanten Code, den kompletten Fehler, das erwartete Verhalten im Vergleich zum tatsächlichen und was du bereits versucht hast.
Schwach: Mein Code funktioniert nicht, reparier ihn. [200 Zeilen Code eingefügt]
Stark: Python 3.12, pandas 2.x. Diese Funktion soll den durchschnittlichen Bestellwert pro Kunde zurückgeben, wirft aber KeyError: 'customer_id'. Code: [füge nur die Funktion und 5 Beispielzeilen der Daten ein] Kompletter Traceback: [einfügen] Ich habe überprüft, dass die CSV eine Spalte customer_id hat. Was sind die wahrscheinlichen Ursachen? Erkläre den Fix, bevor du den korrigierten Code zeigst.
Kürze deinen Code auf das absolute Minimum, mit dem sich das Problem noch reproduzieren lässt. Oft entdeckst du den Fehler dabei schon selbst – und der Fokus bleibt auf den entscheidenden Zeilen. Du kannst direkt einen Debugging-Prompt im Chat öffnen und die Lücken ausfüllen.
So fragst du nach neuem Code
Schreibe eine Mini-Spezifikation. Je genauer du Eingaben, Ausgaben und Randfälle beschreibst, desto weniger musst du später korrigieren.
Schreibe eine TypeScript-Funktion slugify(title: string): string. - Nur Kleinbuchstaben, nur ASCII; übliche Akzente umschreiben (z. B. wird é zu e). - Ersetze aufeinanderfolgende Nicht-Standardzeichen durch einen einzelnen Bindestrich. - Entferne Bindestriche am Anfang und Ende; maximale Länge 60, schneide niemals mitten im Wort ab. - Keine externen Libraries. Schreibe danach 8 Unit-Tests mit Vitest, inklusive Leerstring und Eingaben mit Emojis.
Frage immer direkt nach den passenden Tests. Wenn die Tests der KI und ihr Code nicht zusammenpassen, hast du ein Problem gefunden, bevor es im Deployment landet.
Vor dem Rollout alles prüfen
KI-generierter Code kann sauber aussehen und trotzdem falsch sein. Gewöhne dir diese Routine an:
- Führe ihn aus. Übernimm niemals Code in ein Projekt, ohne ihn und die zugehörigen Tests selbst laufen zu lassen.
- Prüfe, ob Funktionen und Optionen wirklich existieren. KIs erfinden manchmal Methoden, Parameter oder Config-Keys – oder nutzen veraltete. Schlag sie in der offiziellen Dokumentation deiner verwendeten Version nach.
- Prüfe jeden Paketnamen vor der Installation. Sicherheitsforscher haben gezeigt, dass KI-Assistenten mitunter Pakete empfehlen, die es gar nicht gibt. Angreifer registrieren solche Namen mitunter mit Schadcode (auch bekannt als „Slopsquatting“). Stelle sicher, dass ein Paket im offiziellen Registry echt und gepflegt ist, bevor du es installierst.
- Achte auf Sicherheit. Achte auf SQL-Queries per String-Verkettung, fehlende Eingabevalidierung, deaktivierte Zertifikatsprüfungen, Hardcoded Secrets und zu weit gefasste Berechtigungen. Frag die KI direkt: „Prüfe diesen Code auf Sicherheitslücken – nimm an, dass jede Eingabe böswillig ist.“
- Lies ihn, bis du ihn verstehst. Wenn du einen Block nicht erklären kannst, frag nach oder übernimm ihn nicht. Du bist die Person, die ihn später warten muss.
Keine Secrets und vertraulichen Code in den Chat stellen
Füge niemals API-Keys, Passwörter, Tokens, private Keys oder Connection Strings in einen KI-Chat ein. Ersetze sie durch Platzhalter wie YOUR_API_KEY. Wenn du versehentlich ein echtes Secret außerhalb deiner eigenen Systeme teilst, tausche es sofort aus.
Wenn du Code für Arbeitgeber oder Kunden schreibst, prüfe die internen Richtlinien, bevor du Code in externe KI-Dienste kopierst. Viele Unternehmen erlauben nur freigegebene Tools für proprietären Code. Bau das Problem im Zweifel in einem generischen Beispiel nach, das keine Rückschlüsse auf das Projekt zulässt. Mehr dazu erfährst du in unserem Guide zu Datenschutz und Sicherheit bei KI.
Praktische Prompts für Entwickler
Erkläre diesen Code für jemanden, der [Sprache] beherrscht, aber diese Library nicht kennt. Geh Block für Block vor und liste auf, was riskant oder veraltet aussieht. [Code einfügen]
Mach ein Code Review für dieses Diff wie ein Senior Engineer. Teile dein Feedback in Bugs, Sicherheit, Performance und Lesbarkeit ein. Sei konkret und zitiere die betroffenen Zeilen. [Diff einfügen]
Schreibe eine Regular Expression für [Beschreibung]. Erkläre jeden Teil und gib 5 Strings an, die matchen sollten, sowie 5, die nicht matchen dürfen.
Ich kenne mich mit Python gut aus und lerne gerade Rust. Zeig mir, wie man [Aufgabe] in Rust löst, und erkläre Ownership und Borrowing so, als hätte ich noch nie davon gehört.
Mehr Inspiration findest du in der Sammlung der Coding-Prompts. Für schnelle Einzelfragen nimmt das Code-Assistent-Tool eine Beschreibung oder ein Snippet entgegen und liefert erklärten Code; der integrierte Coding-Assistent bleibt während der gesamten Unterhaltung im Entwickler-Modus.
Typische Fehler
- Das gesamte Projekt einfügen. Riesige Textmengen verdecken das eigentliche Problem und überfordern das Kontextfenster. Schicke nur die relevanten Dateien oder Funktionen.
- Einen „Fix“ akzeptieren, der nur Symptome kaschiert. Alles in einen try/except-Block zu packen, lässt nur die Fehlermeldung verschwinden, löst aber nicht den Bug. Frag stattdessen, warum der Fehler auftritt.
- Sich im Kreis drehen. Wenn zwei oder drei Versuche scheitern, ändere die Strategie: mehr Kontext, ein kleineres Beispiel oder ein neuer Chat mit einer klaren Zusammenfassung.
- Versionen weglassen. Framework-APIs ändern sich zwischen Major-Releases deutlich. Gib daher immer an, welche Version du nutzt.
- Lizenzen ignorieren. Wenn die KI erkennbare Teile fremden Codes ausgibt, prüfe vor der Nutzung dessen Lizenz.
Lies auch, wie Entwickler ChatG nutzen, und unseren allgemeinen Guide zum Schreiben guter Prompts.
Ein Workflow, mit dem du die Kontrolle behältst
- Beschreibe zuerst das Ziel – ohne Code. Frage nach zwei bis drei möglichen Lösungsansätzen und deren Vor- und Nachteilen, bevor eine einzige Zeile Code entsteht.
- Wähle einen Ansatz und starte mit einem kleinen Schritt. Eine einzelne Funktion oder Datei lässt sich viel leichter überprüfen als ein komplettes Feature.
- Führe ihn aus und gib Feedback. Teile die tatsächliche Ausgabe oder Fehlermeldung – nicht einfach nur „funktioniert nicht“.
- Frage nach Tests, dann nach einem Review. „Welche Edge Cases fehlen hier?“ deckt oft den nächsten Fehler auf.
- Schreibe die Commit-Message selbst. Wenn du nicht in eigenen Worten zusammenfassen kannst, was geändert wurde und warum, hast du die Änderung noch nicht tief genug verstanden.
FAQ
Kann KI das Coden-Lernen ersetzen?
Nein. Sie macht Entwickler schneller, die Code lesen und beurteilen können. Wenn du nicht erkennst, ob eine Antwort stimmt, kannst du sie nicht sicher einsetzen. Nutze KI lieber, um schneller zu lernen: Frag nach dem „Warum“, nicht nur nach dem „Wie“.
Welche Programmiersprachen werden unterstützt?
Gängige Sprachen wie Python, JavaScript, TypeScript, Java, C#, C++, Go, PHP, SQL und Shell-Scripte beherrscht die KI meist sehr zuverlässig. Bei exotischeren Sprachen sowie ganz neuen Libraries und Versionen sinkt die Qualität.
Kann ChatG meinen Code ausführen oder mein Repository einsehen?
Nein. ChatG ist ein reiner Chat: Er sieht nur, was du hineinkopierst, und führt keinen Code aus. Teste und starte alles immer in deiner eigenen Entwicklungsumgebung.
Darf KI-generierter Code kommerziell genutzt werden?
Behandle ihn wie Code aus externen Quellen: Prüfen, testen, Lizenzen von Dependencies und potenziell übernommenem Code checken sowie Unternehmensrichtlinien beachten. Dies ist eine allgemeine Information und keine Rechtsberatung.
Bereit? Dann leg los!
Öffne den Chat und stell deine erste Frage. Komplett kostenlos und ohne Installation.
Jetzt chatten

