Zum Hauptinhalt springen

ChatGPT first look

·5 min

Meine Erfahrungen mit ChatGPT: Ein vielseitiges Werkzeug #

synopsis #

Als Programmierer bin ich immer auf der Suche nach Werkzeugen, die mir das Leben erleichtern können. Ich hatte gehört von ChatGPT, einer künstlichen Intelligenz, die in der Lage ist, natürliche Sprache zu verstehen und zu generieren, und entschied mich, es auszuprobieren.

Ich muss sagen, dass ich beeindruckt war von der Fähigkeit des Modells, Code-Snippets in verschiedenen Programmiersprachen zu erstellen und auch komplexere Aufgaben wie das Schreiben von Programmen oder Skripten zu erledigen. Auch das Schreiben von Texten wie zum Beispiel Artikeln hat das Modell gut gemeistert.

Insgesamt ist ChatGPT ein vielseitiges Werkzeug, das ich in Zukunft weiter nutzen werde um meine Arbeit effizienter zu gestalten.


das ist alles gar nicht meines! #

Bis hierher hat ChatGPT diesen Blog-Post geschrieben!

Auch wenn es ein paar Anweisungen gebraucht hat, um diesen Artikel aus ChatGPT heraus zu bekommen, ist es doch erstaunlich, wie einfach es war, den Text auf meine Bedürfnisse zuzuschneiden.
Ausserdem muss ich mir eingestehen, daß es mir nicht so einfach gelingt, kürzere Sätze zu bilden… 😊

Der ChatBot kann gefühlt mit deutsch genauso gut umgehen, wie mit englisch. Das hat mich doch etwas überrascht, da ich die englische Semantik immer noch viel einfacher finde als z.B. die deutsche.

the programming machine #

Was er aber offensichtlich noch besser beherrscht als natürliche Sprachen, sind Programmiersprachen.
Um das zu testen, bat ich ChatGPT einen Passwort-Generator zu programmieren, und zwar in VBA (Visual Basic for Applications), welches ich z.B. in MS-Access verwende.
Das Ergebnis sah zwar funktional aus, konnte aber nicht ausgeführt werden, da es wohl eher im richtigen Visual Basic verfasst wurde.
OK, VBA ist da evt. auch etwas zu exotisch, also versuchte ich es mal mit python.

HINWEIS hier habe ich die Anweisungen in englisch formuliert und daher auch englische Antworten erhalten.

Auf die einfache Eingabe von:

Command1

Antwortet ChatGPT mit einem funktionierenden Python-Script, welches sowohl unter python 2, als auch unter python 3 lauffähig ist.
Zu dem erklärt der Chat-Bot auch noch den gewählten Parameter und die Funktion des Scripts.

Beeindruckend, aber wenn ich jetzt noch wählen will, aus welchen Zeichengruppen das Passwort zusammengesetzt wird?!?
Also bitte ich ChatGPT, das Script entsprechend zu erweitern:

Command2

Und er antwortet mir prompt mit:

Reply2

samt dem zughörigen Script mit den gewünschten Parametern, die er mir ebenfalls ausführlich erklärt.

Jetzt soll er doch nur noch sicherstellen, daß von jeder gewünschten Zeichengruppe auch mindestens eines verwendet wird:

Command3

Auch diesen Wunsch bekomme ich sogleich erfüllt und erhalte das folgende Script, welches alle formulierten Anforderungen erfüllt:

import random
import string

def generate_password(length=8, digits=True, lower=True, upper=True, special=True):
    """Generate a random password of the specified length"""
    # Create a set of characters to choose from
    characters = ""
    if digits:
        characters += string.digits
    if lower:
        characters += string.ascii_lowercase
    if upper:
        characters += string.ascii_uppercase
    if special:
        characters += string.punctuation
    if not characters:
        raise ValueError("At least one character set must be selected")
    password = ""
    if digits:
        password += random.choice(string.digits)
    if lower:
        password += random.choice(string.ascii_lowercase)
    if upper:
        password += random.choice(string.ascii_uppercase)
    if special:
        password += random.choice(string.punctuation)
    # Add remaining characters to the password
    password += ''.join(random.choice(characters) for i in range(length-4))
    #Shuffle the characters
    password = ''.join(random.sample(password, len(password)))
    return password

# Example usage
password = generate_password(length=12, digits=True, lower=True, upper=True, special=True)
print(password)

Wow! Und auch noch die Erklärung, wie das Ganze funktioniert:

This version of the script first, adds one character from each selected character set in the password, then it adds the remaining characters to the password and finally shuffles the characters to make the password more secure.

You can call the function by providing different combinations of the parameters. The examples usage provided above will generate a password that contains characters from all the character sets: digits, lowercase letters, uppercase letters, and special characters.

Please keep in mind that using this script as it is for real-life usage is not recommended since it is not designed to generate secure passwords. The passwords generated by this script may not be secure enough and can be easily cracked by attackers.

Neugierig, wie der letzte Satz wohl zu werten ist, kann sich ChatGPT ja auch gleich daran versuchen:

the hacker #

Command4

MÖÖÖP Das wollte er jetzt doch nicht machen, sich an solch verwerflichen Aktivitäten beteiligen!
Hier zeigt sich, daß das Model ständig nachgebessert wird, denn laut anderen Beiträgen über ChatGPT, war er vor kurzem durchaus noch in der Lage - und auch willens - ganze POCs (Proof of Concepts) für bekannte Exploits von sich zu geben.

Conclusion #

Wenn auch das Ergebnis bei der Programmieraufgabe erstaunlich scheint, vermute ich mal, daß der ChatBot sich das aus Referenz-Implementationen von Programmier-Lernseiten zusammengebaut hat.
Trotzdem ganz nützlich, wenn man denn gerade das Programmieren erlernt und ab und zu mal eine Anregung braucht…

Schwieriger finde ich das Ganze, wenn man das Ding tatsächlich nutzt, um seine Arbeit nicht nur zu vereinfachen, sondern weitestgehend zu ersetzen.
Wenn sich z.B. Journalisten ihre Artikel schreiben lassen, oder gar Schüler Ihre Aufsätze.
Ob das wohl so schnell jemand merken würde?

Mag auch sein, daß diese Technik uns bald ebenso selbstverständlich unter die Arme greift, wie ein Taschenrechner beim Rechnen oder die Autokorrektur beim Verfassen von Nachrichten oder Briefen, nur eben auf etwas höherer intelektueller Ebene.

Wir werden sehen, was noch daraus wird. Es bleibt auf jeden Fall spannend.