Was ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt

  1. Startseite
  2. Blog
  3. Künstliche Intelligenz

Künstliche Intelligenz

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.

9 Min. Lesezeit
Was ist ein großes Sprachmodell? Wie LLMs funktionieren, ohne großen Hype erklärt

Das Wichtigste

  • 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

  1. Ihre Eingabeaufforderung wird in Token aufgeteilt und in Einbettungen umgewandelt.
  2. Das Netzwerk verarbeitet sie und nutzt die Aufmerksamkeit, um sie miteinander in Beziehung zu setzen.
  3. Es gibt eine Wahrscheinlichkeit für jeden möglichen nächsten Token aus.
  4. Ein Token wird ausgewählt und dem Kontext hinzugefügt.
  5. 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

Arbeiten Sie mit Stack Quora

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.

Lesen Sie weiter

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.

Künstliche Intelligenz

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 →
DevOps

Erklä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 →
Softwareentwicklung

API-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 →
Testautomatisierung

Spott 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 →
Softwaretests

Code-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 & SQL

DELETE 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 & SQL

Erklä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 →
Softwareentwicklung

TypeScript-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 →
Softwareentwicklung

Python *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 →
Softwareentwicklung

Python-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 Intelligenz

Was 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 →
DevOps

Docker-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 →
Testautomatisierung

TDD 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 →
Softwaretests

Benutzerakzeptanztests (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 & SQL

Erklä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 & SQL

SQL 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 →
Softwareentwicklung

Was 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 →
Softwareentwicklung

Erklä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 →
Softwareentwicklung

Erklä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 Intelligenz

Was 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 →
DevOps

Blau-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 →
Testautomatisierung

Flaky-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 →
Softwaretests

Lasttest 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 →
Softwaretests

Testfall 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 & SQL

SQL-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 & SQL

SQL 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 →
Softwareentwicklung

Tutorial 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 →
Softwareentwicklung

Umgang 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 →
Softwareentwicklung

Python-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 Intelligenz

Was 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 →
DevOps

Linux-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 →
Testautomatisierung

Selenium 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 →
Softwaretests

Schweregrad 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 & SQL

Tutorial 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 & SQL

SQL-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 →
Softwareentwicklung

Git 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 →
Softwareentwicklung

Python 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 & SQL

SQL 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 →