In der heutigen Welt verwenden immer mehr Entwickler KI-Tools wie ChatGPT, um Code zu schreiben.
Dieser Leitfaden hilft Ihnen, die Anzeichen für KI-geschriebenen Code zu erkennen und zu überprüfen, ob der Code von ChatGPT oder ähnlichen KI-Tools erstellt wurde.
Hier ist eine einfache Eingabeaufforderung, die Sie kopieren und mit ChatGPT verwenden können, wenn Sie prüfen wollen, ob ein Code von AI geschrieben wurde:
Aufforderungsvorlage für AI-Code-Erkennung:
Ich möchte, dass Sie dieses Codeschnipsel analysieren, um festzustellen, ob es wahrscheinlich von einer KI erzeugt wurde:
[Code hier einfügen]
Bitte bewerten:
- Codestruktur und -muster
- Konventionen zur Benennung von Variablen
- Stil und Häufigkeit der Kommentare
- Ansätze zur Fehlerbehandlung
- Allgemeine Konsistenz
Zur Verfügung stellen:
- Vertrauensniveau der AI-Generation (in Prozent)
- Spezifische Indikatoren gefunden
- Ausführliche Erläuterung der Argumentation
Häufige Anzeichen für AI-generierten Code
1. Übermäßig allgemeine Variablennamen
KI-Modelle verwenden oft sehr einfache Variablennamen wie "data", "result" oder "temp". Menschliche Entwickler wählen in der Regel spezifischere Namen, die widerspiegeln, was die Variable tatsächlich enthält. Zum Beispiel:
Von Menschen geschriebener Code könnte dies tun:
monthly_sales_total = calculate_sales(january_data)Während KI-generierter Code verwenden könnte:
Ergebnis = Berechnen(Daten)2. Konsistente Formatierungsmuster
ChatGPT neigt dazu, Code mit sehr einheitlicher Formatierung zu schreiben. Das mag zwar gut erscheinen, kann aber auch ein Hinweis sein. Menschen haben in der Regel kleine Abweichungen in ihrem Codierungsstil, selbst wenn sie Stilrichtlinien befolgen. KI-generierter Code sieht in seiner Formatierung oft "zu perfekt" aus.
3. Grundlegende Fehlerbehandlung
KI-Modelle implementieren in der Regel eine sehr einfache Fehlerbehandlung. Sie verwenden oft einfache try-catch-Blöcke ohne spezifische Fehlertypen oder detaillierte Fehlermeldungen. Menschliche Entwickler verwenden in der Regel eine detailliertere Fehlerbehandlung, die auf ihrer Erfahrung mit realen Problemen beruht.
Beispiel für KI-generierte Fehlerbehandlung:
versuchen:
# etwas tun
except:
print("Ein Fehler ist aufgetreten")Beispiel für eine von Menschen geschriebene Fehlerbehandlung:
versuchen:
# etwas tun
except FileNotFoundError:
logger.error("Konfigurationsdatei fehlt in Pfad: %s", config_path)
raise ConfigurationError("Fehlende erforderliche Konfigurationsdatei")
except PermissionError:
logger.error("Keine Zugriffsberechtigung für Datei: %s", config_path)
raise AccessDeniedError("Zugriff auf Konfigurationsdatei nicht möglich")4. Standardlösungen
ChatGPT bietet oft die gängigste oder Standardlösung für ein Problem, selbst wenn es bessere Alternativen gibt. Es neigt dazu, bekannte Entwurfsmuster und allgemeine Bibliotheksfunktionen zu verwenden, anstatt kreative oder situationsspezifische Lösungen zu finden.
5. Eingeschränkte Kommentare
KI-generierter Code enthält in der Regel entweder sehr einfache Kommentare oder zu viele offensichtliche Kommentare. Menschliche Entwickler schreiben in der Regel Kommentare, die das "Warum" hinter komplexer Logik erklären, während KI dazu neigt, das "Was" zu kommentieren, das bereits aus dem Code ersichtlich ist.
Beispiel für AI-generierte Kommentare:
# Schleife durch das Array
for i in range(len(array)):
# Addiere die aktuelle Zahl zu Summe
Summe += array[i]Beispiel für von Menschen geschriebene Kommentare:
# Überspringen des ersten Elements, um das Zählen der Kopfzeile zu vermeiden
# Siehe Ticket PROJ-123 für den Hintergrund
for i in range(1, len(array)):
Summe += array[i]Gemeinsame Muster im ChatGPT-Code
1. Boilerplate Schwer
ChatGPT liebt es, viel Boilerplate-Code einzubauen. Es generiert oft komplette Klassenstrukturen und Importanweisungen, sogar für einfache Beispiele. Das kann den Code professioneller aussehen lassen, aber auch standardisierter und weniger auf spezifische Bedürfnisse zugeschnitten.
2. Vorhersehbare Struktur
KI-generierter Code folgt in der Regel sehr vorhersehbaren Mustern, wie er Funktionen und Klassen strukturiert. So werden beispielsweise Klassenvariablen immer in der gleichen Reihenfolge angeordnet oder Methoden auf eine bestimmte Weise organisiert.
3. Eingeschränkte Nutzung der erweiterten Funktionen
ChatGPT neigt dazu, sich an grundlegende Sprachmerkmale zu halten und komplexere oder neuere Sprachmerkmale zu vermeiden. Das liegt daran, dass es auf älteren Codebasen und gängigen Mustern trainiert wurde. In Python zum Beispiel verwendet es möglicherweise nicht die neuesten Funktionen wie Walrus-Operatoren oder Mustervergleiche.
Technische Nachweismethoden
Fortschrittliche Erkennungssysteme verwenden Perplexitätsmessungen, um von KI erstellten Code zu identifizieren. Niedrigere Perplexitätswerte deuten oft auf KI-Erzeugung hin, da KI-Modelle dazu neigen, vorhersehbarere Codemuster zu produzieren.
Die Wirksamkeit der Erkennung hängt von der Länge des Codes ab. Studien zeigen, dass sich die Erkennungsgenauigkeit mit längeren Codeproben verbessert, wobei in der Regel mindestens 100 Token für eine zuverlässige Analyse erforderlich sind.
Bewährte Praktiken für die Erkennung
1. Umfassende Analyse
Untersuchen Sie mehrere Aspekte des Codes:
- Mustererkennung
- Analyse der Syntax
- Logikfehler und Ungereimtheiten
- Stil der Dokumentation
2. Kontext-Betrachtung
Berücksichtigen Sie bei der Analyse des Codes die Programmiersprache und den Projektkontext, da die Erkennungsgenauigkeit in verschiedenen Sprachen und Frameworks unterschiedlich sein kann.
Wie man prüft, ob der Code AI-generiert ist
1. Überprüfung der Dokumentation
Sehen Sie sich an, wie der Code dokumentiert ist. KI-generierte Dokumentation enthält oft:
- Sehr allgemein gehaltene Beschreibungen
- Fehlender realer Kontext
- Keine Verweise auf Geschäftslogik oder spezifische Anwendungsfälle
- Perfekte, aber oberflächliche Formatierung
2. Suchen Sie nach Komplexitätsmustern
KI-generierter Code zeigt in der Regel diese Muster:
- Übervereinfachte Lösungen für komplexe Probleme
- Fehlende Behandlung von Grenzfällen
- Grundlegende Sicherheitsüberlegungen
- Verwendung von Standardbibliotheken anstelle von Speziallösungen
3. Fehlerfälle testen
Versuchen Sie, den Code zu knacken:
- Unerwarteten Input liefern
- Testen von Grenzfällen
- Überprüfung der Fehlerbehandlung
- Betrachtung der Behandlung von null oder undefinierten Werten
KI-generierter Code versagt in diesen Situationen oft auf unerwartete Weise.
Bewährte Praktiken bei der Verwendung von KI-generiertem Code
1. Immer überprüfen und ändern
Wenn Sie mit KI-generiertem Code arbeiten, verwenden Sie ihn nie, ohne ihn vorher zu überprüfen. Nehmen Sie sich die Zeit, den Code durchzulesen und zu verstehen, was er tut.
Beginnen Sie damit, die grundlegenden Variablennamen in solche zu ändern, die für Ihr Projekt sinnvoll sind. Achten Sie bei der Überprüfung darauf, wie der Code mit Fehlern umgeht, und verbessern Sie ihn bei Bedarf - fügen Sie eindeutige Fehlermeldungen hinzu, die Ihnen später bei der Fehlersuche helfen werden.
Gute Kommentare sind wichtig - schreiben Sie solche, die erklären, warum der Code so funktioniert, wie er funktioniert, und nicht nur, was er tut.
Denken Sie daran, den Code mit verschiedenen Eingaben zu testen, um sicherzustellen, dass er in allen Situationen funktioniert. Am wichtigsten ist, dass Sie den Code an Ihre spezifischen Geschäftsanforderungen anpassen, da die KI Ihre genaue Situation nicht kennt.
2. Verwenden Sie AI als Ausgangspunkt
Betrachten Sie den von der künstlichen Intelligenz erzeugten Code als einen groben Entwurf oder eine Skizze. Damit haben Sie einen guten Ausgangspunkt, aber Sie müssen darauf aufbauen.
Der Code von KI-Tools hat oft nur eine sehr einfache Fehlerbehandlung, so dass Sie ihn verbessern müssen, indem Sie spezifische Fehlerprüfungen und hilfreiche Fehlermeldungen hinzufügen.
Nehmen Sie sich die Zeit, Sicherheitsfragen sorgfältig zu prüfen und bei Bedarf zusätzliche Schutzmaßnahmen zu ergreifen. Denken Sie daran, dass Sie mit KI einen universell einsetzbaren Code erhalten, Ihr Projekt aber spezifische Lösungen benötigt.
Fügen Sie eine angemessene Protokollierung hinzu, damit Sie verfolgen können, was passiert, wenn der Code in der realen Welt ausgeführt wird, und richten Sie Möglichkeiten ein, um zu überwachen, ob alles korrekt funktioniert.
3. AI-Nutzung dokumentieren
Eine gute Dokumentation ist bei der Arbeit mit KI-generiertem Code entscheidend. Fügen Sie am Anfang von KI-generierten Abschnitten Kommentare ein, um sie eindeutig zu kennzeichnen.
Wenn Sie Änderungen vornehmen, schreiben Sie auf, was Sie geändert haben und warum - das hilft anderen Entwicklern (oder Ihnen selbst in Zukunft), den Code besser zu verstehen.
Verfolgen Sie, welche Teile von Menschen geschrieben wurden und welche von der KI stammen. Das macht es viel einfacher, den Code später zu pflegen.
Schreiben Sie auf, wie Sie den Code getestet haben und welche Ergebnisse Sie erhalten haben, damit jeder versteht, was der Code tut und wie zuverlässig er ist.
Denken Sie daran, dass KI ein Werkzeug ist, das Ihnen hilft, Code schneller zu schreiben, aber sie sollte eine sorgfältige Überprüfung und Anpassung an Ihre speziellen Bedürfnisse nicht ersetzen. Gute Dokumentation und Tests sind bei KI-generiertem Code genauso wichtig wie bei von Menschen geschriebenem Code.
Wenn Sie diese Praktiken befolgen, erzielen Sie die besten Ergebnisse bei der Verwendung von KI und erhalten gleichzeitig hochwertigen, zuverlässigen Code.



