0Pricing
AI Agents · Lektion

Chunking-Strategien (fest, satzbasiert, semantisch)

Vergleichen Sie die Vor- und Nachteile von Chunking mit fester Größe, satzbewusstem Chunking und semantischem Chunking für die Retrieval-Qualität.

Chunking-Strategien (fest, satzbasiert, semantisch) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Warum in Chunks aufteilen?

Sie können ein 200-seitiges PDF nicht als einen einzigen Vektor einbetten — der Vektor wäre zu abstrakt, um auf spezifische Queries zu passen. Teilen Sie das Dokument in kleinere Abschnitte auf (jeweils etwa 200–800 Tokens), erzeugen Sie für jeden ein Embedding und suchen Sie auf Chunk-Ebene.

Chunking mit fester Größe

Der einfachste Ansatz — teilen Sie alle N Zeichen oder Tokens auf:

def fixed_chunks(text, chunk_size=1000, overlap=200):
    chunks = []
    i = 0
    while i < len(text):
        chunks.append(text[i:i + chunk_size])
        i += chunk_size - overlap
    return chunks

sample_text = "A" * 2500
chunks = fixed_chunks(sample_text, chunk_size=1000, overlap=200)
print(f"Split {len(sample_text)} characters into {len(chunks)} chunks")
for i, c in enumerate(chunks):
    print(f"Chunk {i+1}: {len(c)} chars")

Warum Überlappungen?

Eine Überlappung (typischerweise 10–20 % der Chunk-Größe) stellt sicher, dass ein Satz, der über eine Grenze hinweggeht, in mindestens einem Chunk vollständig enthalten ist. Ohne Überlappung ist ein wichtiger Fakt, der auf mehrere Chunks verteilt ist, möglicherweise nicht abrufbar.

Satzbasiertes Chunking

Teilen Sie an Satzgrenzen auf — unterbrechen Sie niemals einen Satz:

import re

def sentence_chunks(text, max_chars=1000):
    sentences = re.split(r'(?<=[.!?])\s+', text)
    chunks = []
    current = ''
    for s in sentences:
        if len(current) + len(s) > max_chars and current:
            chunks.append(current.strip())
            current = s
        else:
            current += ' ' + s
    if current:
        chunks.append(current.strip())
    return chunks

sample_text = "This is sentence one. This is sentence two! Is this sentence three? Yes it is."
chunks = sentence_chunks(sample_text, max_chars=40)
for i, c in enumerate(chunks):
    print(f"Chunk {i+1}: {c!r}")

Rekursives Aufteilen (LangChain)

LangChains RecursiveCharacterTextSplitter versucht zuerst, an Absatzgrenzen zu teilen, dann an Satz- und schließlich an Wortgrenzen — und bewahrt dabei die Struktur so weit wie möglich.

from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
    chunk_size=800,
    chunk_overlap=100,
    separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_text(document)

Semantisches Chunking

Teilen Sie dort auf, wo sich das Thema ändert. Implementierungen erzeugen für jeden Satz ein Embedding und teilen an den Stellen, an denen aufeinanderfolgende Satz-Embeddings weit voneinander entfernt sind.

Die Berechnung ist langsamer, erzeugt aber thematisch kohärente Chunks.

Markdown-bewusstes Chunking

Bei Markdown-Dokumenten teilen Sie an Überschriftengrenzen auf, damit Abschnitte zusammenbleiben. Jeder Chunk übernimmt die übergeordneten Überschriften als Kontext.

Code-bewusstes Chunking

Bei Quellcode teilen Sie an Funktions- und Klassengrenzen auf, nicht nach einer Zeichenanzahl. Tools wie tree-sitter ermöglichen AST-bewusstes Chunking.

Die Chunk-Größe auswählen

Kompromisse:

  • Kleine Chunks (etwa 200 Tokens) — präzise Treffer, mehr Chunks zu verwalten
  • Große Chunks (etwa 1.000 Tokens) — mehr Kontext pro Treffer, weniger präzise

Standard: 500–800 Tokens mit 10–20 % Überlappung.

Metadaten bewahren

Fügen Sie jedem Chunk Metadaten hinzu:

  • Quell-URL / Dateipfad
  • Seitenzahl
  • Dokumenttitel
  • Abschnitt / Überschrift
  • Zeitstempel für Erstellung und Aktualisierung

Das ist nützlich für Filterung, Quellenangaben und Re-Ranking.

Kontextuelle Chunks

Eine aktuelle Technik: Stellen Sie jedem Chunk eine einzeilige, von einem LLM erzeugte Kontextbeschreibung voran (z. B. "Dieser Chunk stammt aus dem Finanzbericht des Unternehmens für das 2. Quartal 2024 und behandelt den Umsatz."). Das verbessert das Retrieval um 30–50 %.

Parent-Child-Chunks

Indexieren Sie kleine Chunks für präzise Treffer, rufen Sie aber den GRÖSSEREN übergeordneten Absatz als Kontext ab:

  1. Embeddings für Chunks auf Satzebene erzeugen
  2. Bei einem Treffer den übergeordneten Chunk mit 800 Tokens zurückgeben

Warum Überlappungen?

Warum überlappen sich Chunks typischerweise um 10–20 %?

Zusammenfassung

Beginnen Sie mit rekursivem zeichenbasiertem Aufteilen in Chunks mit etwa 800 Tokens und 10 % Überlappung. Ergänzen Sie bei wachsendem Bedarf semantisches und strukturelles Verständnis.

Häufig gestellte Fragen

Ist die Lektion „Chunking-Strategien (fest, satzbasiert, semantisch)“ kostenlos?

Ja — der vollständige Text von „Chunking-Strategien (fest, satzbasiert, semantisch)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Chunking-Strategien (fest, satzbasiert, semantisch)“?

Vergleichen Sie die Vor- und Nachteile von Chunking mit fester Größe, satzbewusstem Chunking und semantischem Chunking für die Retrieval-Qualität. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Agents zu starten?

Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Chunking-Strategien (fest, satzbasiert, semantisch)“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?

Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Was RAG löst (Wissensstichtag, Halluzinationen)
  2. Chunking-Strategien (fest, satzbasiert, semantisch)
  3. Eine Dokumentmenge indexieren
  4. Ein naives RAG mit FAISS oder Chroma erstellen
← Zurück zu AI Agents