Sprachmodelle rechnen und begrenzen in Tokens, nicht in Wörtern oder Zeichen. Ein Token ist das Textfragment, mit dem das Modell arbeitet: Im Englischen entspricht es im Schnitt etwa 4 Zeichen, und in gewöhnlicher Prosa anderer europäischer Sprachen liegt der Wert ähnlich, auch wenn kurze Sätze, Satzzeichen und seltene Wörter (im Deutschen etwa lange Komposita) in mehr Stücke zerfallen. Um die Kosten eines Aufrufs zu kennen, zählst du die Tokens der Eingabe (dein Prompt plus Kontext) und der Ausgabe (die Antwort), die meist unterschiedliche Preise haben, und multiplizierst sie mit dem Tarif des Modells pro Million Tokens.
Dieser Artikel erklärt, wie man Tokens je nach Modell exakt oder näherungsweise zählt, welche Zahlen zu erwarten sind, wo sich die Tokens verstecken, die du nicht siehst, und wie du die Rechnung senkst.
Warum Tokens und nicht Wörter
Wie in Wie ein Sprachmodell funktioniert erklärt, sieht das Modell weder Buchstaben noch Wörter, sondern Tokens aus einem festen Vokabular, das beim Training aufgebaut wurde. Der Rechenaufwand für einen Text hängt von der Zahl der Tokens ab, also werden Preise und Limits (Kontextfenster, maximale Antwortlänge) in dieser Einheit angegeben.
Praktische Folge: Derselbe Text kostet je nach Sprache und Modell unterschiedlich viel, weil jede Modellfamilie ihren eigenen Tokenizer hat.
Wie man Tokens zählt
OpenAI-Modelle: exakte Zählung
OpenAI veröffentlicht seine Tokenizer. o200k_base ist der von GPT-4o und späteren Modellen; cl100k_base der von GPT-4 und GPT-3.5. Lokal zählen kannst du mit tiktoken (Python) oder gpt-tokenizer (JavaScript):
import { encode } from 'gpt-tokenizer'; // standardmäßig o200k_base
const tokens = encode('La indexación no está garantizada.');
console.log(tokens.length); // 8
import tiktoken
enc = tiktoken.get_encoding("o200k_base")
len(enc.encode("La indexación no está garantizada.")) # 8
Der Token-Zähler von AIMRAN Tools nutzt dieselben Tokenizer im Browser und zeigt die Zählung für o200k und cl100k, die Zeichen pro Token des eingefügten Textes und die geschätzten Kosten, wenn du den Tarif des Modells pro Million Tokens eingibst. Der Text verlässt deinen Rechner nicht.
Claude und andere Modelle: Schätzung oder API
Anthropic veröffentlicht den Tokenizer von Claude nicht; für eine exakte Zählung rufst du den Endpunkt zum Token-Zählen auf, der keine Generierungs-Tokens verbraucht. Um ohne API-Aufruf zu schätzen, geht man üblicherweise von der cl100k-Zählung aus und wendet einen Korrekturfaktor an; genau das macht der Zähler von AIMRAN Tools, der diese Zahl als Näherung markiert. Fürs Budgetieren reicht das; zum Abrechnen nutze die API.
Wie viele Tokens ein Text hat
Zur Orientierung, gemessen mit o200k_base beim Schreiben dieses Artikels:
| Text | Zeichen | Tokens | Zeichen pro Token |
|---|---|---|---|
| „Hola, ¿qué tal?“ (Spanisch) | 15 | 6 | 2,5 |
| „Hello, how are you?“ (Englisch) | 19 | 6 | 3,2 |
| Der erste Absatz der spanischen Fassung dieses Artikels | 590 | 127 | 4,6 |
Kurze Sätze sind verhältnismäßig teuer (Satzzeichen und Eröffnungszeichen zählen als eigene Tokens); in langer Prosa nähert sich der Schnitt 4 bis 4,5 Zeichen pro Token, im Englischen wie im Spanischen. Dieser spanische Absatz hat 105 Wörter und 127 Tokens, also etwa 1,2 Tokens pro Wort. JSON-Code und URLs sind deutlich teurer, weil fast jedes Satzzeichen ein eigenes Token ist.
Die Tokens, die du nicht siehst
Beim Schätzen der Kosten eines Aufrufs vergisst man leicht, dass die Eingabe nicht nur deine Frage ist:
- Der System-Prompt und die festen Anweisungen der Anwendung, die mit jeder Anfrage mitreisen.
- Der Gesprächsverlauf, der bei jeder Runde vollständig (oder zusammengefasst) erneut gesendet wird. Ein langes Gespräch kann mehr für den Verlauf kosten als für die neue Frage.
- Werkzeugbeschreibungen in Agenten und die Ergebnisse, die sie zurückliefern.
- Angehängte Dokumente (RAG): Ein zwanzigseitiges PDF sind Tausende Tokens pro Aufruf, wenn du es komplett mitschickst.
- Format-Tokens, die der Anbieter pro Nachricht hinzufügt (ein paar pro Runde).
- Die Ausgabe, die fast immer einen höheren Preis pro Token hat als die Eingabe und die du mit dem Parameter für die maximale Token-Zahl deckeln kannst.
API-Antworten liefern den tatsächlichen Verbrauch (usage mit Eingabe- und Ausgabe-Tokens): Protokolliere diese Werte, um nicht von Schätzungen abzuhängen.
Die Kosten berechnen
Kosten = (Eingabe_Tokens / 1 000 000) × Eingabepreis + (Ausgabe_Tokens / 1 000 000) × Ausgabepreis
Die Preise unterscheiden sich zwischen Modellen um mehr als eine Größenordnung und ändern sich alle paar Monate; nimm sie immer von der Preisseite des Anbieters zum Zeitpunkt der Berechnung. Viele Anbieter bieten zudem Prompt-Caching: Der wiederholte Teil (System-Prompt, Dokumente) wird deutlich günstiger abgerechnet, wenn er in zeitlich nahen Aufrufen wiederverwendet wird, was die Rechnung bei Anwendungen mit großem festem Kontext erheblich verändert.
Tokens sparen, ohne Qualität zu verlieren
- Kürze den System-Prompt: Entferne Wiederholungen und Beispiele, die das Modell nicht mehr braucht.
- Fasse den Verlauf zusammen, statt ihn ab einer gewissen Rundenzahl komplett erneut zu senden.
- Zerlege Dokumente und sende nur die relevanten Abschnitte (vorherige Suche) statt des ganzen Dokuments.
- Verlange knappe Antworten und setze ein vernünftiges Maximum an Antwort-Tokens.
- Nutze das passende Modell: Klassifizieren oder Daten extrahieren braucht nicht das teuerste Modell.
- Nutze Prompt-Caching, indem du den stabilen Teil an den Anfang stellst.
- Miss, bevor du optimierst: Füge den echten Prompt in einen Zähler ein und sieh nach, wo die Tokens hingehen; oft ist es ein langes Beispiel oder ein nicht minimiertes JSON.
Fazit
Tokens zu zählen ist der einzige Weg zu wissen, was ein Aufruf kostet und was hineinpasst. Für OpenAI-Modelle ist die Zählung mit den öffentlichen Tokenizern exakt; für Claude näherungsweise, es sei denn, du nutzt die Zähl-API. Rechne in Prosa mit grob 4 Zeichen pro Token, denk daran, dass Verlauf und System-Prompt mitzählen, und protokolliere den tatsächlichen Verbrauch, den jede Antwort zurückgibt: Das ist die Zahl, die auf der Rechnung landet.