18 Punkte von xguru 2025-11-19 | 3 Kommentare | Auf WhatsApp teilen
  • Token-Oriented Object Notation
  • Ein Serialisierungsformat, das entwickelt wurde, um den Token-Verbrauch bei Eingaben an LLMs zu reduzieren
    • Stellt JSON-Daten verlustfrei dar und erreicht zugleich Token-Effizienz und Lesbarkeit
  • Eine für homogene Objekt-Arrays optimierte Struktur, die wiederholte Schlüssel entfernt und so 30–60 % Token-Einsparung bietet
    • Ein Hybridformat, das die einrückungsbasierte Struktur von YAML mit dem Tabellenformat von CSV kombiniert
    • Für tief verschachtelte Strukturen oder inhomogene Daten ist JSON effizienter
  • Enthält explizite Strukturinformationen, sodass LLMs Daten stabil parsen und validieren können
    • Verbessert die Strukturerkennung durch explizite Angabe von Array-Längen ([N]) und Felddefinitionen ({id,name,role})
  • Kompakte Syntax mit einem minimalen Syntaxdesign, das unnötige Klammern, Anführungszeichen und Satzzeichen entfernt
    • Unterstützt hierarchische Darstellung auf Basis von Einrückungen sowie CSV-ähnliche zeilenbasierte Datenströme
  • Unterstützt über ein CLI-Tool die bidirektionale Konvertierung zwischen JSON und TOON
    • Bietet Optionen wie automatische Formaterkennung, Festlegung von Trennzeichen (,, \t, |) und Ausgabe von Token-Einsparungsstatistiken
  • API-Aufbau
    • Führt mit encode() die JSON-Serialisierung und mit decode() die Deserialisierung aus
    • Optional können Einrückung, Trennzeichen und Längenmarker (#) festgelegt werden
  • Benchmark-Ergebnisse: gegenüber JSON durchschnittlich 21–60 % Token-Einsparung, 73,9 % Genauigkeit bei LLM-Abfragen erreicht
    • Etwas größer als CSV, verbessert aber durch strukturelle Validierungsfunktionen die Zuverlässigkeit von LLMs
  • Formatregeln
    • Strings werden nur bei Bedarf in Anführungszeichen gesetzt; bei enthaltenen Trennzeichen erfolgt dies automatisch
    • Zahlen, Boolesche Werte, Datumsangaben usw. werden in LLM-freundliche Formen umgewandelt
  • Implementierungen für verschiedene Sprachen verfügbar
    • Offiziell: Python, Rust (in Entwicklung)
    • Community: Go, Java, Swift, C++, .NET, Ruby usw.

3 Kommentare

 
wedding 2025-11-20

Ich verwende Function Calling und sollte es einmal testen.

 
princox 2025-11-19

Bei einigen Beispielen heißt es, dass das JSON-Format, wenn man Leerzeichen entfernt, die Tokenzahl deutlich stärker reduziert … Ich bin mir da noch nicht sicher. Ob das wirklich ein Format ist, das sich sinnvoll einsetzen lässt.

 
laeyoung 2025-11-19

Vergleich der Genauigkeit nach Modell

  • Gemini 2.5 Flash: TOON 87,6 % vs. JSON 77,0 %
  • GPT-5 Nano: TOON 90,9 % vs. JSON 89,0 %
  • Claude Haiku 4.5: TOON 59,8 % vs. JSON 57,4 %

Wenn man nur den Benchmark-Ergebnissen glaubt, scheint es keinen Grund zu geben, es nicht zu verwenden, da der Token-Verbrauch sinkt, ohne dass die Genauigkeit abnimmt.