Ein Programmierassistent schreibt Code, ohne ihn zu verstehen
Ein KI-Programmierassistent ist ein Programm, das Code vorschlägt, erklärt und ändert, wenn Sie ihm eine Aufgabe in Worten geben. Wer weiß, wie er arbeitet, vertraut ihm genau so weit, wie es sich lohnt.
Eine Studentin lässt sich eine Funktion für eine Mensakasse schreiben. Der Vorschlag sieht gut aus und klingt sicher. Ob er stimmt, weiß sie erst nach einer Prüfung.
Am Ende dieser Lektion
Notiz
Ich kann erklären, was ein Programmierassistent tut und wo er sich irren kann.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Sprachmodell | ein Programm, das zu einem Text einen wahrscheinlichen Fortsetzungstext erzeugt |
| Prompt | der Text, den Sie dem Assistenten geben |
| Kontext | alles, was der Assistent bei einer Antwort vor sich hat |
| Halluzination | eine Antwort, die überzeugend klingt und erfunden ist |
| Agent | ein Assistent, der Dateien lesen, ändern und Befehle starten darf |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Sprachmodell sagt wahrscheinliche Fortsetzungen voraus
Ein Sprachmodell hat sehr viel Text gelesen, darunter viel Code. Es lernt, welche Wörter und Zeichen auf einen Text meist folgen.
Bei Ihrer Aufgabe setzt es einen Text fort, der zu Ihrem Prompt passt. Es schlägt nicht in einem Handbuch nach und führt den Code nicht aus. Es erzeugt, was wahrscheinlich richtig aussieht.
Ein Beispiel für die Idee der Fortsetzung
| Der Text bis hier | Eine wahrscheinliche Fortsetzung | Warum sie wahrscheinlich ist |
|---|---|---|
| def preis_mit_mehrwertsteuer( | netto): | Solche Namen haben fast immer einen Parameter |
| for zeile in | datei: | Das Muster kommt in sehr vielen Programmen vor |
| print("Guten | Morgen") | Diese Wörter stehen oft zusammen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Der Kontext ist alles, was der Assistent sieht
Der Kontext ist der Text, der bei einer Antwort vor dem Modell liegt: Ihr Prompt, Teile Ihres Codes und das bisherige Gespräch.
Was nicht im Kontext steht, kennt der Assistent nicht. Er kennt Ihre Dateien nur, wenn er sie lesen darf oder Sie sie ihm zeigen. Der Kontext ist außerdem begrenzt, sehr lange Gespräche verlieren Anfangsteile.
Im Lab sehen Sie, was ein Agent liest
Das Lab hat ein kleines Projekt für die Kasse eines Schulkiosks. Ein Agent darf solche Dateien lesen. Sie sehen sich nur an, was darin liegt, und ändern nichts.
Die Befehle laufen im Container agent. Der Ordner /home/node/project ist das Projekt.
Die Dateien des Projekts auflisten
docker exec -w /home/node/project agent lsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Zeilen von shop.js zählen
docker exec -w /home/node/project agent wc -l shop.jsHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein Programm rechnet immer gleich
docker exec agent node -e "console.log(17 * 3)"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Was die drei Befehle zeigen
Der erste Befehl nennt zwei Dateien: shop.js und shop.test.js. Der zweite zählt 26 Zeilen in shop.js. Der dritte gibt 51 aus.
Die 51 kommt bei jedem Start. Ein Assistent dagegen kann auf dieselbe Frage zweimal verschieden antworten. Deshalb prüfen Sie seine Antworten, statt sie zu erwarten.
Ein häufiger Fehler
Warnung
Viele glauben, ein Assistent antworte nur dann sicher, wenn er recht hat. Er klingt aber bei richtigen und bei erfundenen Antworten gleich sicher. Vertrauen Sie einer Antwort erst, wenn Sie sie geprüft haben, nicht wegen ihres Tons.
Ein Assistent kann Dinge erfinden
Eine Halluzination ist eine erfundene Antwort, die echt klingt. Typisch sind Funktionen, die es in einer Bibliothek nicht gibt, falsche Versionsnummern und Zahlen ohne Quelle.
Auch alter Wissensstand ist ein Grund für Fehler. Der Assistent kennt nur, was er beim Lernen gelesen hat, und weiß nicht, was seitdem neu ist.