0Pricing
AI Engineering Academy · Lektion

Was ist ein Token?

Sie verwenden die Bibliothek tiktoken, um echten Text zu tokenisieren, und entdecken, wie Wörter, Satzzeichen und Leerzeichen in verschiedenen Modellen auf Tokenfolgen abgebildet werden.

Was ist ein Token? ist eine kostenlose AI Engineering Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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 Engineering Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Engineering Academy-Kurs umfasst insgesamt 4 Lektionen.

LLMs verarbeiten Tokens, keine Wörter

Wenn Sie Text an ein LLM senden, sieht das Modell keine Zeichen oder Wörter – es sieht Tokens. Ein Token ist ein Textabschnitt, den das Vokabular des Modells einer einzelnen Ganzzahl-ID zuordnet. Je nach Tokenizer können Tokens ganze Wörter, Wortteile, Satzzeichen oder Leerzeichen sein.

Das Verständnis von Tokens ist praktisch wichtig, weil OpenAI nach Tokens abrechnet, das Kontextfenster in Tokens gemessen wird und die maximale Antwortlänge durch max_tokens gesteuert wird. Überraschungen bei Kosten und Verhalten lassen sich fast immer darauf zurückführen, dass nicht verstanden wurde, wie der eigene Text tokenisiert wird.

So funktioniert Tokenisierung: BPE

GPT-Modelle verwenden die Tokenisierung nach Byte Pair Encoding (BPE). BPE beginnt mit einem Vokabular einzelner Bytes und führt wiederholt die häufigsten benachbarten Paare zusammen, bis die gewünschte Vokabulargröße erreicht ist. Die GPT-Modelle von OpenAI verwenden ein Vokabular von etwa 100.000 Tokens.

Dadurch werden häufige Wörter zu einzelnen Tokens (hello ist ein Token), während seltene oder erfundene Wörter in mehrere Subword-Tokens aufgeteilt werden (subaqueous könnte zu drei Tokens werden: sub, aque, ous). So kann das Modell jeden Text verarbeiten, auch Wörter, die es noch nie gesehen hat, indem es sie aus kleineren, vertrauten Bestandteilen zusammensetzt.

Tokens mit tiktoken zählen

OpenAI stellt die Bibliothek tiktoken bereit, um Text lokal zu tokenisieren, ohne einen API-Aufruf durchzuführen. Das ist unerlässlich, um Tokens vor dem Senden einer Anfrage zu zählen, die Kosten zu schätzen und zu überprüfen, ob Sie innerhalb des Kontextfensters bleiben.

import tiktoken

# Get the encoding for a specific model
enc = tiktoken.encoding_for_model('gpt-4o')

text = 'Hello! How many tokens does this sentence use?'
tokens = enc.encode(text)

print(f'Text: {text}')
print(f'Token count: {len(tokens)}')
print(f'Token IDs: {tokens}')

# You can also decode tokens back to text
decoded = enc.decode(tokens)
print(f'Decoded: {decoded}')

# Inspect individual token strings
for token_id in tokens:
    token_str = enc.decode([token_id])
    print(f'  Token {token_id}: "{token_str}"')

Praktische Token-Anzahlen

Eine nützliche Faustregel: 1 Token ≈ 4 Zeichen englischen Textes oder etwa 0,75 Wörter. 1.000 Tokens entsprechen also ungefähr 750 Wörtern oder 3–4 Textseiten. Dieses Verhältnis variiert jedoch erheblich:

  • Häufige englische Wörter: jeweils etwa 1 Token
  • Ungewöhnliche Fachbegriffe: jeweils 2–4 Tokens
  • Zahlen: häufig 1 Ziffer pro Token (‚12345‘ entspricht also 5 Tokens)
  • Code: variiert stark, Python ist jedoch mit etwa 1–2 Tokens pro Symbol typischerweise effizient
  • Nicht-lateinische Schriften (Chinesisch, Arabisch): häufig 1 Token pro Zeichen, wodurch sie pro Wort deutlich teurer als Englisch sind

Verschiedene Inhaltstypen tokenisieren

Sehen wir uns mithilfe von tiktoken an, wie stark sich die Token-Anzahl zwischen verschiedenen Inhaltstypen unterscheidet.

import tiktoken

enc = tiktoken.encoding_for_model('gpt-4o')

examples = {
    'English sentence': 'The quick brown fox jumps over the lazy dog.',
    'Number sequence': '1234567890',
    'Python code': 'def fibonacci(n):\n    if n <= 1:\n        return n\n    return fibonacci(n-1) + fibonacci(n-2)',
    'Technical jargon': 'autoregressive transformers tokenization subword BPE',
    'URL': 'https://api.openai.com/v1/chat/completions',
    'Chinese text': '大型语言模型使用令牌处理文本',
}

for label, text in examples.items():
    count = len(enc.encode(text))
    ratio = len(text) / count
    print(f'{label}: {count} tokens ({ratio:.1f} chars/token)')

So werden Chatnachrichten tokenisiert

Die Gesamtzahl der Tokens in einem Chat-API-Aufruf umfasst nicht nur den Textinhalt Ihrer Nachrichten, sondern auch den zusätzlichen Formatierungsaufwand des Chat-Templates. Jede Nachricht enthält einige zusätzliche Tokens für die Rollenbezeichnung und die Trennzeichen. Die Dokumentation von OpenAI gibt folgende Formel an:

  • Jede Nachricht fügt etwa 4 Tokens für den Formatierungsaufwand hinzu
  • Jede Antwort beginnt mit 3 zusätzlichen Tokens zur Initialisierung der Assistant-Rolle

Bei kurzen Unterhaltungen ist dieser Mehraufwand vernachlässigbar, bei Systemen zur Verwaltung langer Unterhaltungen summiert er sich jedoch. Die Bibliothek tiktoken stellt Hilfsfunktionen bereit, um die Tokens eines vollständigen Nachrichten-Arrays korrekt zu zählen.

import tiktoken

def count_messages_tokens(messages, model='gpt-4o'):
    enc = tiktoken.encoding_for_model(model)
    # 4 tokens per message (role + content structure), 3 for reply priming
    total = 3
    for msg in messages:
        total += 4
        for key, value in msg.items():
            total += len(enc.encode(str(value)))
    return total

messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': 'What is the capital of France?'},
    {'role': 'assistant', 'content': 'The capital of France is Paris.'},
    {'role': 'user', 'content': 'And what is the population?'},
]

print(f'Total tokens: {count_messages_tokens(messages)}')

Token-Limits nach Modell

Jedes Modell verfügt über ein maximales Kontextfenster, das in Tokens gemessen wird. Für 2025 gelten beispielsweise folgende repräsentative Limits:

  • gpt-4o: 128.000 Tokens Kontext, bis zu 16.384 Ausgabe-Tokens
  • gpt-4o-mini: 128.000 Tokens Kontext, bis zu 16.384 Ausgabe-Tokens
  • Claude 3.5 Sonnet: 200.000 Tokens Kontext
  • Gemini 1.5 Pro: 1.000.000 Tokens Kontext

Die Summe aus Eingabe- und Ausgabe-Tokens darf das Kontextfenster nicht überschreiten. Bei einer Überschreitung erhalten Sie den Fehler context_length_exceeded. Überprüfen Sie vor dem Senden von Anfragen mit langen Dokumenten immer die Token-Anzahl.

Tokens und Preise

OpenAI berechnet Eingabe-Tokens (den von Ihnen gesendeten Prompt) und Ausgabe-Tokens (die von Ihnen empfangene Antwort) getrennt. Ausgabe-Tokens sind typischerweise 3–4-mal teurer als Eingabe-Tokens, da sie eine sequenzielle Generierung erfordern. Anfang 2025 lagen die beispielhaften Preise für gpt-4o-mini bei etwa 0,15 $ pro Million Eingabe-Tokens und 0,60 $ pro Million Ausgabe-Tokens.

Das bedeutet, dass ein Prompt mit 2.000 Tokens und einer Antwort mit 500 Tokens ungefähr ($0.15 × 2/1000 + $0.60 × 0.5/1000) = $0.00060 pro Anfrage kostet. Bei 10.000 Anfragen pro Tag sind das 6 $ pro Tag – überschaubar, aber mit zunehmender Nutzung steigend. Caching, Model Routing und die Minimierung von Tokens werden im Produktionsmaßstab zunehmend wichtig.

Token-Anzahl reduzieren, ohne Bedeutung zu verlieren

Kürzere Prompts kosten weniger und lassen mehr Platz für die Antwort des Modells. Zu den gängigen Techniken zur Token-Reduzierung gehören:

  • Redundante Anweisungen entfernen: „Please be so kind as to...“ → „Please...“
  • Beispiele komprimieren: Verwenden Sie in jedem Few-Shot-Beispiel die kleinstmögliche Wortanzahl
  • Feldnamen in strukturierten Prompts abkürzen: Verwenden Sie „Q:“ und „A:“ statt „Question:“ und „Answer:“
  • Für strukturierten Kontext JSON statt Prosa verwenden: JSON ist bei denselben Daten token-effizienter als eine Beschreibung in Prosa

Führen Sie tiktoken vor und nach jeder Komprimierung aus, um zu überprüfen, ob Sie tatsächlich Tokens eingespart haben – manche „Komprimierungen“ erhöhen die Token-Anzahl entgegen der Erwartung.

Spezielle Tokens und Steuer-Tokens

Zusätzlich zu Text-Tokens enthält das Vokabular des Modells spezielle Tokens, die zur Strukturierung von Eingaben verwendet werden. Häufige Beispiele sind <|endoftext|> (markiert das Ende eines Dokuments), <|im_start|> und <|im_end|> (Trennzeichen für Chatnachrichten im intern verwendeten ChatML-Format).

Bei der Verwendung der OpenAI API müssen Sie diese nicht direkt verwalten – das SDK übernimmt das für Sie. Das Wissen um ihre Existenz erklärt jedoch, warum eine Anfrage mit „leeren“ Nachrichten manchmal trotzdem einige Tokens verbraucht. Spezielle Tokens sind außerdem der Grund, warum Sie niemals ungeprüfte Rohzeichenketten mit Mustern wie <|...|> in Benutzereingaben erstellen sollten, da diese die Eingabeformatierung des Modells beeinträchtigen könnten.

Vor dem Senden immer zählen

Die praktische Schlussfolgerung aus dieser Lektion: Zählen Sie immer die Tokens, bevor Sie eine Anfrage senden, die dynamisch zusammengesetzte Prompts enthält. Schreiben Sie eine kleine Hilfsfunktion, die tiktoken kapselt, und rufen Sie sie an der Stelle auf, an der Sie das Nachrichtenarray zusammenstellen. Protokollieren Sie die Tokenanzahl, damit Sie sie im Zeitverlauf überwachen können.

Für RAG-Systeme ist das besonders wichtig: Die abgerufenen Chunks, die Sie in den Prompt einfügen, können sehr unterschiedlich groß sein, und Sie müssen sicherstellen, dass die Gesamtlänge innerhalb des Kontextfensters des Modells bleibt. In den Lektionen zur RAG-Pipeline erstellen wir genau eine solche kontextbewusste Zusammenstellung.

import tiktoken

def token_count(text, model='gpt-4o'):
    enc = tiktoken.encoding_for_model(model)
    return len(enc.encode(text))

def safe_assemble_prompt(system, user_content, max_tokens=120000):
    combined = system + user_content
    count = token_count(combined)
    if count > max_tokens:
        raise ValueError(
            f'Prompt too long: {count} tokens (limit {max_tokens})'
        )
    return [{'role': 'system', 'content': system},
            {'role': 'user', 'content': user_content}]

Schnelltest

Testen Sie Ihr Verständnis der Konzepte aus dem Bereich AI Engineering aus dieser Lektion.

Lektionszusammenfassung

In dieser Lektion haben Sie gelernt: LLMs verarbeiten Text als Tokens und nicht als Wörter und verwenden dabei die BPE-Tokenisierung mit einem Vokabular von etwa 100.000 Einträgen, mit der Bibliothek tiktoken können Sie Tokens lokal zählen, bevor Sie API-Aufrufe tätigen, um Kosten zu schätzen und Kontextgrenzen zu prüfen, und die Abrechnung erfolgt pro Token, wobei Output-Tokens deutlich mehr kosten als Input-Tokens. Als Nächstes untersuchen wir Kontextfenster: was sie sind, wie sie Ihre Anwendung begrenzen und wie sich verschiedene Modelle vergleichen lassen.

Häufig gestellte Fragen

Ist die Lektion „Was ist ein Token?“ kostenlos?

Ja — der vollständige Text von „Was ist ein Token?“ 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 Engineering Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Engineering Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Was ist ein Token?“?

Sie verwenden die Bibliothek tiktoken, um echten Text zu tokenisieren, und entdecken, wie Wörter, Satzzeichen und Leerzeichen in verschiedenen Modellen auf Tokenfolgen abgebildet werden. Du übst AI Engineering Academy 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 Engineering Academy zu starten?

Keine Vorkenntnisse erforderlich. AI Engineering Academy 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 1 von 4.

Wie lange dauert die Lektion „Was ist ein Token?“?

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 Engineering Academy-Lektion Code schreiben und ausführen?

Ja. Jede AI Engineering Academy-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 ist ein Token?
  2. Kontextfenster: Größe und Auswirkungen
  3. API-Kosten berechnen und prognostizieren
  4. Strategien zur Einhaltung von Kontextgrenzen
← Zurück zu AI Engineering Academy