Wie man mit ChatGPT AI-geschriebenen Code erkennt

Autor:

Veröffentlicht:

Aktualisiert:

Ein Cartoon-Roboter mit Antennen sitzt an einem Schreibtisch und prüft mit einer Lupe den Code auf einem Computerbildschirm.

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:

  1. Codestruktur und -muster
  2. Konventionen zur Benennung von Variablen
  3. Stil und Häufigkeit der Kommentare
  4. Ansätze zur Fehlerbehandlung
  5. 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.

Über den Autor

Neueste Beiträge:

  • Wie man ein Logo mit ChatGPT entwirft

    Wie man ein Logo mit ChatGPT entwirft

    Want to make a logo but don’t want to spend a lot of money? This guide shows you how to create your own logo using ChatGPT’s help. You’ll learn simple ways to tell ChatGPT what kind of logo you want, pick the right colors, and make sure your logo looks great. Best ChatGPT Prompts for

    Read more →

  • Wie man ChatGPT für Mnemonics verwendet

    Wie man ChatGPT für Mnemonics verwendet

    This article will show you how to use ChatGPT to make learning easier and more fun through mnemonics. Here are the five ChatGPT prompts that will help you create memorable mnemonics: 1. Prompt: List-to-Mnemonic I need to memorize this list of [items/concepts/terms]: [Insert list] Please create: Choose the most effective method based on the content.

    Read more →

  • Wie man mit ChatGPT AI-geschriebenen Code erkennt

    Wie man mit ChatGPT AI-geschriebenen Code erkennt

    In today’s world, more and more developers are using AI tools like ChatGPT to write code. This guide will help you understand the signs of AI-written code and how to check if code was created by ChatGPT or similar AI tools. Here’s a simple prompt you can copy and use with ChatGPT when you want

    Read more →