Was ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt
Verstehen Sie, was wirklich passiert, wenn eine KI Text schreibt. Erfahren Sie mehr über Token, Einbettungen und Aufmerksamkeit im Klartext, führen Sie einen kleinen Prädiktor für das nächste Wort aus und sehen Sie, warum diese Modelle gleichzeitig brillant und falsch sein können.
- Ein großes Sprachmodell ist ein neuronales Netzwerk, das auf riesigen Textmengen trainiert wird, um vorherzusagen, was als nächstes kommt.
- Es funktioniert mit Tokens und nutzt Aufmerksamkeit, um abzuwägen, welche früheren Token am wichtigsten sind.
- Es generiert jeweils eine Antwort, indem es aus einer Reihe von Wahrscheinlichkeiten eine Antwort auswählt.
- Es kann sicher klingen, obwohl es falsch ist, daher müssen wichtige Ausgaben überprüft werden.
Tools, die chatten, zusammenfassen und Code schreiben, wirken fast magisch, bis man den Mechanismus darunter sieht. Ein großes Sprachmodell oder LLM ist im Kern ein sehr ausgefeiltes System zur Vorhersage des nächsten Textstücks. Diese eine Idee erklärt sowohl, was diese Tools gut machen, als auch, warum sie auf die Art und Weise, wie sie funktionieren, versagen.
Dieser Leitfaden erklärt die Hauptkonzepte ohne jegliche Mathematik und erstellt dann einen kleinen Prädiktor für das nächste Wort, um die Idee zu konkretisieren. Wir haben diesen Code auf Python 3.13 ausgeführt und die Ausgabe stammt von diesem Lauf. Es handelt sich eher um ein einfaches Zählspielzeug als um ein neuronales Netzwerk, und echte LLMs sind weitaus leistungsfähiger. Wir vermeiden es auch, Zahlen für bestimmte Modelle anzugeben, da diese sich schnell ändern können.
Was ist ein großes Sprachmodell?
Ein LLM ist eine Art künstlicher Intelligenz, die darauf trainiert ist, menschliche Sprache zu verstehen und zu erzeugen. Nehmen wir den Namen Wort für Wort:
- Groß: Es verfügt über eine große Anzahl einstellbarer interner Werte, sogenannte Parameter, und es lernt aus einer enormen Textmenge.
- Sprache: Es funktioniert mit Text, einschließlich natürlicher Sprache und Code.
- Modell: Es handelt sich um ein mathematisches System, das Muster aus Daten erfasst und diese verwendet, um Vorhersagen zu treffen.
Modelle sind der Motor und Produkte wie Chat-Assistenten sind das um sie herum gebaute Auto. Ein Produkt fügt häufig eine Benutzeroberfläche, Sicherheitssysteme, eine Suche und andere Tools hinzu.
Die Kernidee: vorhersagen, was als nächstes kommt
Das machen Sie selbst. Wenn Sie „die Hauptstadt Frankreichs“ lesen, kommt Ihnen sofort „Paris“ in den Sinn. Ein LLM leistet etwas Vergleichbares, allerdings in einem viel größeren Maßstab. Bei gegebenem Text berechnet es die Wahrscheinlichkeit jedes möglichen nächsten Tokens, wählt eines aus, fügt es dem Text hinzu und wiederholt es.
Es gibt keine Datenbank mit gespeicherten Antworten, die nachgeschlagen werden. Das Modell speichert während des Trainings gelernte Muster in Form von Zahlen. Wenn diese Muster mit der Wahrheit übereinstimmen, erhalten Sie eine richtige Antwort. Auch wenn dies nicht der Fall ist, können Sie immer noch eine fließende Antwort erhalten, und das ist ein wichtiger Unterschied zu einer Suchmaschine.
Eine kleine funktionierende Demo
Um die Vorhersage des nächsten Tokens in ihrer einfachsten Form zu sehen, zählt dieses Skript, welches Wort in einem kleinen Text auf welches folgt. Anschließend wird aus diesen Zählungen neuer Text generiert. Statistiker nennen dies ein Bigramm-Modell.
import random
from collections import Counter, defaultdict
TEXT = """the cat sat on the mat . the dog sat on the rug .
the cat saw the dog . the dog saw the cat ."""
tokens = TEXT.split()
follows = defaultdict(Counter)
for current, following in zip(tokens, tokens[1:]):
follows[current][following] += 1
def probabilities(word):
counts = follows[word]
total = sum(counts.values())
return {w: round(n / total, 2) for w, n in counts.most_common()}
print(probabilities("the"))
print(probabilities("sat"))
# {'cat': 0.38, 'dog': 0.38, 'mat': 0.12, 'rug': 0.12}
# {'on': 1.0}
Diese Ausgabe ist eine Wahrscheinlichkeitsverteilung. Nach „the“ hält das Modell „cat“ und „dog“ für am wahrscheinlichsten. Jetzt generieren wir Text, indem wir wiederholt Stichproben aus diesen Wahrscheinlichkeiten ziehen:
def generate(start, length, seed):
rng = random.Random(seed)
words = [start]
for _ in range(length):
counts = follows[words[-1]]
words.append(rng.choices(list(counts), weights=counts.values())[0])
return " ".join(words)
print(generate("the", 6, seed=1))
print(generate("the", 6, seed=2))
print(generate("the", 6, seed=3))
# the cat . the cat saw the
# the rug . the cat . the
# the cat saw the dog . the
Beachten Sie drei Dinge. Der gleiche Start kann zu unterschiedlichem Text führen, da die Auswahl zufällig ist. Die Ausgabe ähnelt den Trainingsdaten, selbst für Sequenzen, die nie darin enthalten waren. Und es hat überhaupt kein Verständnis, weshalb sich „der Teppich … die Katze“ wie Unsinn liest.
Fragen Sie es nach einem Wort, das es noch nie gesehen hat, und es hat nichts zu bieten: follows["elephant"] ist leer. Unser Spielzeug betrachtet nur ein vorheriges Wort. Der enorme Fortschritt bei realen LLMs ergibt sich aus der Berücksichtigung langer Kontextabschnitte und dem Lernen aus weitaus mehr Daten mithilfe eines neuronalen Netzwerks statt einer einfachen Zählung.
Token: wie ein Modell liest
LLMs lesen nicht wie wir ganze Wörter. Der Text wird zunächst in Tokens aufgeteilt, bei denen es sich um ein Wort, einen Wortteil oder ein Satzzeichen handeln kann. Jeder Token ist einer Zahl zugeordnet, und das Modell arbeitet ausschließlich mit Zahlen.
Token sind in der Praxis aus zwei Gründen wichtig. Die Nutzung gehosteter Modelle wird in der Regel in Token abgerechnet und jedes Modell hat eine Begrenzung, wie viele es gleichzeitig verarbeiten kann. Die Tokenisierung erklärt auch einige berühmte seltsame Verhaltensweisen. Da Modelle eher Brocken als Buchstaben sehen, waren Aufgaben wie das Zählen der Buchstaben in einem Wort für sie traditionell überraschend schwierig.
Einbettungen: Bedeutung als Zahlen
Jeder Token wird in eine Einbettung umgewandelt, eine lange Liste von Zahlen, die ihn in eine Art Bedeutungsraum platziert. Verwandte Konzepte liegen nahe beieinander, sodass „Katze“ und „Kätzchen“ nahe beieinander liegen, während dies bei „Katze“ und „Rechnung“ nicht der Fall ist.
Die gleiche Idee basiert auf der semantischen Suche, bei der Sie Dokumente anhand ihrer Bedeutung und nicht anhand exakter Wörter finden. Unser Vektordatenbank-Leitfaden behandelt diese Verwendung.
Achtung und der Transformator
Die meisten modernen LLMs basieren auf der Transformer-Architektur, die von Google-Forschern in der Arbeit „Attention Is All You Need“ aus dem Jahr 2017 vorgestellt wurde. Sein Schlüsselmechanismus ist Selbstaufmerksamkeit.
Denken Sie an diesen Satz: „Der Pokal passte nicht in den Koffer, weil er zu groß war.“ Worauf bezieht sich „es“? Du weißt, dass es die Trophäe bedeutet. Mithilfe von Attention kann ein Modell jedes frühere Token gewichten, wenn es jedes neue verarbeitet, sodass es „es“ mit den relevantesten Wörtern verknüpfen kann, auch wenn diese weit voneinander entfernt sind.
Frühere Ansätze verarbeiteten Text Schritt für Schritt und neigten dazu, entfernte Wörter aus den Augen zu verlieren. Transformer betrachten den Kontext gemeinsam und können einen Großteil dieser Arbeit parallel auf spezieller Hardware ausführen, was das Training für solch große Textmengen praktisch macht.
Wie ein LLM ausgebildet wird
| Bühne | Was passiert |
|---|---|
| Datenerfassung | Große Textmengen werden gesammelt und bereinigt |
| Vorschulung | Das Modell sagt wiederholt den nächsten Token voraus und seine Parameter werden immer dann angepasst, wenn sie falsch sind |
| Feinabstimmung | Es lernt aus Beispielen hilfreicher Antworten, wobei häufig menschliches Feedback zur Einstufung der Antworten herangezogen wird |
| Bewertung | Teams testen es auf Qualität, Sicherheit und Fehlerfälle |
Durch das Vortraining erhält ein Modell umfassende Sprachkenntnisse, es kann jedoch sein, dass es Ihren Text nur fortsetzt, anstatt ihn zu beantworten. Die späteren Phasen formen es zu einem nützlichen Assistenten. Das Training großer Modelle erfordert erhebliche Rechenleistung und ist teuer. Die Verwendung eines fertigen Modells, bekannt als Inferenz, ist pro Anfrage weitaus günstiger.
Wie es Text generiert
- Ihre Eingabeaufforderung wird in Token aufgeteilt und in Einbettungen umgewandelt.
- Das Netzwerk verarbeitet sie und nutzt die Aufmerksamkeit, um sie miteinander in Beziehung zu setzen.
- Es gibt eine Wahrscheinlichkeit für jeden möglichen nächsten Token aus.
- Ein Token wird ausgewählt und dem Kontext hinzugefügt.
- Die Schritte 2 bis 4 werden wiederholt, bis ein Stoppzustand erreicht ist.
Aus diesem Grund erscheinen Antworten beim Streamen normalerweise Wort für Wort. Der Text wird buchstäblich der Reihe nach produziert. Die Temperatur steuert, wie abenteuerlich Schritt 4 ist: Niedrige Werte begünstigen die wahrscheinlichsten Token, während höhere Werte mehr Vielfalt ermöglichen.
Tipp: Verwenden Sie für Extraktion, Klassifizierung und andere wiederholbare Aufgaben eine niedrige Temperatur, sofern die entsprechende Einstellung möglich ist. Für Brainstorming kann eine höhere Einstellung sinnvoll sein. Dennoch garantiert ein niedriger Wert nicht jedes Mal identische Antworten.
Bedingungen, die Sie treffen werden
| Begriff | Bedeutung |
|---|---|
| Prompt | Die Eingabe, die Sie dem Modell geben |
| Kontextfenster | Die maximale Anzahl an Token, die gleichzeitig berücksichtigt werden können |
| Parameter | Die im Training erlernten inneren Werte |
| Schlussfolgerung | Ausführen eines trainierten Modells, um eine Ausgabe zu erhalten |
| Halluzination | Zuversichtliche Ausgabe, die falsch ist |
| Wissensabbruch | Der Punkt, nach dem die Trainingsdaten enden |
| RAG | Dokumente abrufen, um einem Modell zusätzlichen Kontext zu geben |
| Modell mit offenem Gewicht | Ein Modell, dessen Parameter Sie herunterladen und selbst ausführen können |
Einschränkungen, die Sie kennen sollten
- Halluzinationen. Ein Modell kann Fakten, Zitate oder Codefunktionen erfinden. Da es sich um einen wahrscheinlichen Text handelt, können falsche Aussagen völlig plausibel erscheinen.
- Wissensgrenze. Sofern ein Produkt es nicht mit der Suche oder anderen Tools verbindet, weiß es möglicherweise nichts über aktuelle Ereignisse.
- Eingeschränkter Kontext. Wenn eine Konversation über das Kontextfenster hinausgeht, können frühere Details gelöscht oder zusammengefasst werden. Models erinnern sich auch nicht automatisch an vergangene Chats, es sei denn, ein Produkt fügt diese Funktion hinzu.
- Voreingenommenheit. Trainingsdaten spiegeln menschliche Vorurteile wider, und diese können in der Ausgabe auftauchen.
- Inkonsistenz. Die gleiche Frage kann zu unterschiedlichen Antworten führen, was wichtig ist, wenn Sie Software darauf aufbauen.
- Sicherheitsrisiken. Versteckte Anweisungen im Text können ein Modell manipulieren, ein Problem, das als Prompt-Injection bekannt ist.
LLMs gut nutzen
Behandeln Sie einen LLM als einen schnellen, fähigen Assistenten, dessen Arbeit überprüft werden muss. Ein paar Gewohnheiten machen einen großen Unterschied:
- Seien Sie konkret. Klare Anweisungen, Kontext und Beispiele führen zu besseren Ergebnissen. Unser Leitfaden zum Prompt Engineering zeigt, wie.
- Liefern Sie die Fakten. Wenn Antworten aus Ihren eigenen Dokumenten stammen müssen, verwenden Sie RAG, anstatt sich auf das Gedächtnis zu verlassen.
- Überprüfen Sie, worauf es ankommt. Vergleichen Sie Zahlen, Zitate und rechtliche oder medizinische Ansprüche mit zuverlässigen Quellen.
- Generierten Code testen. Führen Sie ihn aus und schreiben Sie Tests dafür, so wie Sie es für den eines Kollegen tun würden. Unser AI-Code-Überprüfungstools-Leitfaden bietet einige Hilfestellungen.
- Schützen Sie sensible Daten. Überprüfen Sie die Regeln Ihrer Organisation, bevor Sie vertrauliche Informationen mit einem gehosteten Tool teilen.
Wenn Sie entscheiden, wie Sie ein Modell für Ihre eigene Arbeit anpassen möchten, hilft Ihnen unser Vergleich von RAG vs. Feinabstimmung vs. Prompt Engineering bei der Auswahl.
Fazit
Ein LLM ist ein Next-Token-Prädiktor, der in außergewöhnlichem Umfang trainiert wird und nützlicher und fehlbarer ist, als diese Beschreibung vermuten lässt. Wenn Sie den Mechanismus im Hinterkopf behalten, können Sie ihn gut nutzen: Er ist stark in Sprache und Mustern und erfordert Ihre Aufsicht über Fakten. Um es konkreter zu machen, führen Sie das obige kleine Skript mit Ihrem eigenen Text aus, probieren Sie dann dieselbe Eingabeaufforderung mehrmals in einem echten Assistenten aus und vergleichen Sie die Antworten.
Häufige Fragen
Was ist in einfachen Worten ein großes Sprachmodell?
Dabei handelt es sich um ein KI-System, das auf riesigen Textmengen trainiert wird, um vorherzusagen, was als nächstes kommt. Durch die Wiederholung dieser Vorhersage kann es Fragen beantworten, schreiben und zusammenfassen.
Was ist der Unterschied zwischen KI und einem LLM?
KI ist das weite Feld des Aufbaus intelligenter Systeme. Ein LLM ist eine spezielle Art von KI-Modell, das sich auf die Verarbeitung und Generierung von Sprache konzentriert.
Verstehen LLMs, was sie sagen?
Dies wird diskutiert. Sie erfassen reichhaltige Bedeutungsmuster und können viele Probleme lösen, aber sie erleben die Welt nicht und können auf eine Weise scheitern, die ein Mensch nicht tun würde.
Warum erfinden LLMs Dinge?
Sie generieren wahrscheinlichen Text, anstatt verifizierte Fakten abzurufen. Wenn Muster auf eine plausible, aber falsche Antwort hinweisen, kann das Modell diese mit scheinbarer Sicherheit angeben.
Was ist ein Token in einem LLM?
Ein Token ist ein Textblock, den das Modell verarbeitet, beispielsweise ein Wort, ein Teil eines Wortes oder ein Satzzeichen. Limits und Preise werden oft in Token gemessen.
Lerne weiter
Benötigen Sie Hilfe beim Testen, WordPress oder SEO?
Wir helfen Teams, bessere Software zu liefern und ihre Websites zu erweitern. Sagen Sie uns, woran Sie gerade arbeiten, und wir schlagen Ihnen einen klaren nächsten Schritt vor.
Weitere Anleitungen finden Sie unter Tests, KI und moderne Entwicklung
Hat Ihnen dieser Artikel gefallen? Wählen Sie ein Thema und springen Sie direkt in unsere neuesten Tutorials.
KI-Halluzinationen erklärt: Warum Sprachmodelle Dinge erfinden und wie man sie reduziert
KI-Halluzinationen erklärt: Was sie sind, warum Sprachmodelle sie produzieren, gängige Typen, wie man sie mit Erdung und Eingabeaufforderungen reduz…
Artikel lesen →DevOpsErklärte Umgebungsvariablen: .env-Dateien, Geheimnisse und Konfiguration richtig gemacht
Umgebungsvariablen anhand von Python-Beispielen erklärt, die wir ausgeführt haben: Sie lesen und festlegen, warum jeder Wert ein String ist, .env-Da…
Artikel lesen →SoftwareentwicklungAPI-Ratenbegrenzung erklärt: Algorithmen, Header und Behandlung von 429-Fehlern
API-Ratenbegrenzung anhand einer von uns durchgeführten Simulation erklärt: Token-Bucket, festes Fenster, gleitendes Fenster, 429 Antworten, Ratenbe…
Artikel lesen →TestautomatisierungSpott in Python: unittest.mock, Patch und die Fehler, die Tests zum Lügen machen
Mocking in Python mit unittest.mock, getestet: Mock und return_value, side_effect, Patchen, wo ein Name verwendet wird, Spezifikation und Autospec, …
Artikel lesen →SoftwaretestsCode-Abdeckung erklärt: Leitungs- und Zweigstellenabdeckung und was 100 % wirklich bedeutet
Erklärung der Codeabdeckung anhand eines echten Coverage.py-Laufs: Zeilen-, Zweig- und Bedingungsabdeckung, Lesen eines Berichts, warum bei 100 % Ab…
Artikel lesen →Datenbanken & SQLDELETE vs. TRUNCATE vs. DROP in SQL: Unterschiede, Rollback und Verwendungszweck
DELETE vs. TRUNCATE vs. DROP erklärt mit getestetem SQL: was jeweils entfernt wird, Rollback, Trigger, Identitätsrücksetzung, Geschwindigkeit und wi…
Artikel lesen →Datenbanken & SQLErklärte SQL-Ansichten: Erstellen, nutzen und vermeiden Sie Fallstricke mit Beispielen
SQL-Ansichten anhand der von uns ausgeführten Abfragen erklärt: Erstellen einer Ansicht, Live-Ergebnisse, Ausblenden von Spalten, Leistung, aktualis…
Artikel lesen →SoftwareentwicklungTypeScript-Schnittstelle vs. Typ: Echte Unterschiede, getestet mit dem Compiler
TypeScript-Schnittstelle vs. Typ, überprüft mit dem echten Compiler: Was beide können, was nur einer kann, Deklarationszusammenführung, Erweiterunge…
Artikel lesen →SoftwareentwicklungPython *args und **kwargs erklärt: Flexible Funktionen mit klaren Beispielen
Python *args und **kwargs erklärt mit Code, den wir ausgeführt haben: Packen und Entpacken, Parameterreihenfolge, Nur-Schlüsselwort- und Nur-Positio…
Artikel lesen →SoftwareentwicklungPython-Lambda-Funktionen: Syntax, tatsächliche Verwendung und wann man sie nicht verwendet
Python-Lambda-Funktionen erklärt mit Code, den wir ausgeführt haben: Syntax, Sortierung mit Schlüssel, Karte und Filter, Abschlüsse, die Late-Bindin…
Artikel lesen →Künstliche IntelligenzWas sind KI-Agenten? Wie sie funktionieren, mit einer einfachen Agentenschleife, die Sie ausführen können
Was sind KI-Agenten? Eine einfache Anleitung zur Agentenschleife, zu Tools, Speicher und Leitplanken, mit einer kleinen Python-Schleife, die wir aus…
Artikel lesen →DevOpsÜberwachung vs. Beobachtbarkeit: Der wahre Unterschied, mit Protokollen, Metriken und Traces
Überwachung vs. Beobachtbarkeit erklärt: bekannte und unbekannte Fehler, Protokolle, Metriken und Spuren, eine exemplarische Vorgehensweise für Chec…
Artikel lesen →DevOpsDocker-Volumes vs. Bind Mounts: Containerdaten auf die richtige Art und Weise beibehalten
Docker-Volumes vs. Bind-Mounts erklärt: Warum Containerdaten verschwinden, benannte Volumes, Bind-Mounts, tmpfs, Compose-Beispiele, Backups, Berecht…
Artikel lesen →TestautomatisierungTDD vs. BDD: Hauptunterschiede, eine Funktion, die auf beide Arten entwickelt wurde und wann sie jeweils verwendet werden sollte
TDD vs. BDD erklärt mit einer Rabattfunktion, die in beide Richtungen aufgebaut ist: Rot-Grün-Refaktor mit Code, den wir ausgeführt haben, Gegeben-W…
Artikel lesen →SoftwaretestsBenutzerakzeptanztests (UAT): Prozess, Checkliste und reale Beispiele
Benutzerakzeptanztests erklärt: Wer führt ihn durch, wie unterscheidet er sich von der Qualitätssicherung, ein siebenstufiger Prozess, eine UAT-Test…
Artikel lesen →Datenbanken & SQLErklärte SQL-NULL-Werte: IS NULL, COALESCE, NULLIF und die zu vermeidenden Fallen
SQL-NULL-Werte, die mit von uns ausgeführten Abfragen erklärt wurden: dreiwertige Logik, IS NULL, COALESCE, NULLIF, wie Aggregate, Joins und Sortier…
Artikel lesen →Datenbanken & SQLSQL CASE WHEN-Anweisung: Syntax, reale Beispiele und häufige Fehler
SQL CASE WHEN anhand der von uns ausgeführten Abfragen erklärt: einfache und durchsuchte Formulare, Bedingungsreihenfolge, Pivots mit SUM, COUNT-Tri…
Artikel lesen →SoftwareentwicklungWas ist JWT? JSON-Web-Tokens anhand eines funktionierenden Beispiels erklärt
Was ist JWT? JSON Web Tokens erklärt: die drei Teile, ein Token, das in dem von uns ausgeführten Code erstellt und manipuliert wurde, JWT vs. Sitzun…
Artikel lesen →SoftwareentwicklungErklärte JavaScript-Ereignisschleife: Aufrufstapel, Mikrotasks und Timer mit Beispielen
Die JavaScript-Ereignisschleife wurde mit dem von uns ausgeführten Code erklärt: Aufrufstapel, Aufgaben- und Mikrotask-Warteschlangen, warum setTime…
Artikel lesen →SoftwareentwicklungErklärung von Python-Generatoren und -Ertrag: Sparen Sie Speicher mit echten Beispielen
Python-Generatoren und Yield anhand des von uns ausgeführten Codes erklärt: wie sie angehalten und fortgesetzt werden, gemessene Speichereinsparunge…
Artikel lesen →Künstliche IntelligenzWas sind Einbettungen? Vektoren und Kosinusähnlichkeit einfach erklärt
Was sind Einbettungen? Ein Leitfaden in einfacher Sprache zu Vektoren, Kosinusähnlichkeit und semantischer Suche, mit einem kleinen Beispiel, das wi…
Artikel lesen →DevOpsBlau-Grün vs. Canary-Bereitstellung: Unterschiede, Kompromisse und Auswahl
Blue-Green vs. Canary-Bereitstellung erklärt: Funktionsweise, Kosten, Risiko und Rollback, stabiles Benutzer-Bucketing, das wir getestet haben, Date…
Artikel lesen →TestautomatisierungFlaky-Tests: Was sie verursacht und wie man sie endgültig behebt
Flaky-Tests wurden anhand von Demos erklärt, die wir durchgeführt haben: die Hauptursachen, wie man sie bestätigt und diagnostiziert, richtige Korre…
Artikel lesen →SoftwaretestsLasttest vs. Stresstest: Unterschiede, Metriken und k6-Beispiele
Erläuterungen zu Lasttests und Stresstests: Was die einzelnen Tests beweisen, Spike- und Soak-Tests, welche Kennzahlen wichtig sind, warum Durchschn…
Artikel lesen →SoftwaretestsTestfall vs. Testszenario: Hauptunterschiede, Beispiele und wann man sie jeweils verwendet
Testfall vs. Testszenario erklärt: klare Definitionen, eine Tabelle nebeneinander, eine Funktion zum Zurücksetzen von Passwörtern, die von Szenarios…
Artikel lesen →Datenbanken & SQLSQL-Abfrageoptimierung: Ausführungspläne lesen und langsame Abfragen mit Zeitvorgaben beheben
An einer Million Zeilen getestete SQL-Abfrageoptimierung: Ausführungspläne lesen, die richtigen Indizes hinzufügen, nicht sargierbare Filter korrigi…
Artikel lesen →Datenbanken & SQLSQL UNION vs. UNION ALL: Unterschiede, Beispiele und getestete Leistung
SQL UNION vs. UNION ALL anhand der von uns ausgeführten Abfragen erklärt: Duplikate, die Regeln, denen beide folgen, ein echter Datenfehler, gemesse…
Artikel lesen →SoftwareentwicklungTutorial zur JavaScript-Abruf-API: GET, POST, Fehlerbehandlung und Zeitüberschreitungen
Ein JavaScript-Abruf-API-Tutorial, das auf einem lokalen Server getestet wurde: GET und POST, warum 404 nicht ausgelöst wird, ein wiederverwendbarer…
Artikel lesen →SoftwareentwicklungUmgang mit Python-Dateien: Lesen, Schreiben, CSV, JSON und Pathlib mit Beispielen
Die Handhabung von Python-Dateien wird anhand des von uns ausgeführten Codes erklärt: Öffnungsmodi, Lesen großer Dateien, CSV, JSON, Pathlib, Binärd…
Artikel lesen →SoftwareentwicklungPython-Klassen und -Objekte: OOP-Tutorial mit echten Beispielen
Python-Klassen und -Objekte erklärt mit Code, den wir ausgeführt haben: __init__, Methoden, Klassen- und Instanzattribute, Vererbung, Eigenschaften,…
Artikel lesen →Künstliche IntelligenzWas ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt
Was ist ein großes Sprachmodell? LLMs im Klartext erklärt: Token, Einbettungen, Aufmerksamkeit, Training, Temperatur- und Kontextfenster, eine klein…
Artikel lesen →DevOpsLinux-Befehle für Anfänger: Der grundlegende Terminal-Leitfaden mit Beispielen
Linux-Befehle für Anfänger, gruppiert nach Aufgaben: Navigation, Dateien, Anzeigen von Protokollen, Grep, Pipes, Berechtigungen, Prozesse und Archiv…
Artikel lesen →TestautomatisierungSelenium vs. Playwright: Hauptunterschiede, Code im Vergleich und welche Sie wählen sollten
Selenium vs. Playwright im Vergleich: Architektur, Wartezeit, Browser- und Sprachunterstützung, Debugging, der gleiche Test in beiden Tools, Migrati…
Artikel lesen →SoftwaretestsÄquivalenzpartitionierung: Testdesigntechnik anhand von Beispielen erklärt
Erklärung der Äquivalenzpartitionierung: Wie man gültige und ungültige Partitionen findet, Beispiele für Alter, Passwörter und Gutscheine, von uns d…
Artikel lesen →SoftwaretestsSchweregrad vs. Priorität beim Softwaretest: Unterschiede, Matrix und reale Beispiele
Schweregrad vs. Priorität beim Softwaretest erklärt: klare Definitionen, eine Vier-Wege-Matrix mit Beispielen, Stufenskalen, wer die einzelnen Punkt…
Artikel lesen →Datenbanken & SQLTutorial zu SQL-Unterabfragen: Typen, korrelierte Unterabfragen und EXISTS mit Beispielen
Ein SQL-Unterabfrage-Tutorial mit Abfragen, die wir ausgeführt haben: Skalar-, IN-, FROM- und SELECT-Unterabfragen, korrelierte Unterabfragen, EXIST…
Artikel lesen →Datenbanken & SQLSQL-Transaktionen und ACID erklärt: COMMIT, ROLLBACK und Isolationsstufen
SQL-Transaktionen und ACID anhand einer von uns durchgeführten Banküberweisung erklärt: COMMIT, ROLLBACK, Sicherungspunkte, Sperren, Isolationsstufe…
Artikel lesen →SoftwareentwicklungGit merge vs rebase: Unterschiede, Beispiele und wann man was nutzt
Git merge vs rebase erklärt mit echter Log-Ausgabe, einer Vergleichstabelle, der goldenen Regel des Rebase und einem sicheren Team-Workflow.
Artikel lesen →SoftwareentwicklungPython List Comprehension: Syntax, Beispiele und wann man darauf verzichtet
Python List Comprehension erklärt: Syntax, Filter, if-else, verschachtelte Schleifen, gemessene Zeiten und Fälle, in denen eine normale for-Schleife…
Artikel lesen →Datenbanken & SQLSQL Joins erklärt mit Beispielen (Inner, Left, Right, Full)
SQL Joins Schritt für Schritt mit Beispieltabellen und Abfragen verstehen: INNER, LEFT, RIGHT, FULL, CROSS und SELF, plus typische Fehler und Perfor…
Artikel lesen →