Co to jest format TOON?

TOON (Token‑Oriented Object Notation) to zwarty, czytelny dla człowieka format serializacji danych, zaprojektowany specjalnie dla dużych modeli językowych (LLM). W przeciwieństwie do JSON, który powtarza nazwy pól dla każdego obiektu w tablicy, TOON deklaruje nazwy pól raz, a następnie strumieniuje dane w wierszach — podobnie jak CSV, ale z wyraźną strukturą. Dzięki temu projekt zazwyczaj zmniejsza zużycie tokenów o 30‑60 % w porównaniu z formatowanym JSON, szczególnie w przypadku jednorodnych tablic obiektów. TOON łączy w sobie wcięciową strukturę YAML dla zagnieżdżonych obiektów z wydajnością tabelaryczną CSV, zoptymalizowaną pod kątem kontekstów LLM, gdzie koszt tokenów ma znaczenie.

Opis narzędzia

Ten konwerter przekształca dane pomiędzy formatami JSON i TOON dwukierunkowo. Wystarczy wkleić swoje dane JSON, aby wygenerować zwarty wynik TOON, lub przekształcić TOON z powrotem do standardowego JSON. Narzędzie korzysta z oficjalnej biblioteki @toon-format/toon, aby zapewnić dokładną konwersję. TOON jest szczególnie skuteczny dla zestawów danych o powtarzalnych strukturach — takich jak rekordy użytkowników, dzienniki transakcji, odpowiedzi API lub dowolne dane tabelaryczne — gdzie zmniejszenie liczby tokenów zwiększa wydajność przy pracy z LLM.

Przykłady

Wejście JSON:

{
  "users": [
    { "id": 1, "name": "Alice", "role": "admin" },
    { "id": 2, "name": "Bob", "role": "user" }
  ]
}

Wyjście TOON:

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

Przykład struktury zagnieżdżonej:

JSON z zagnieżdżonymi obiektami konwertuje się na wcięty format TOON:

{
  "order": {
    "id": "ORD-456",
    "items": [
      { "sku": "A1", "qty": 2, "price": 19.99 },
      { "sku": "B2", "qty": 1, "price": 29.99 }
    ],
    "total": 69.97
  }
}

Staje się:

order:
  id: ORD-456
  items[2]{sku,qty,price}:
    A1,2,19.99
    B2,1,29.99
  total: 69.97

Funkcje

  • Dwukierunkowa konwersja między formatami JSON i TOON z pełną wiernością
  • Znacząca redukcja tokenów (30‑60 % mniej tokenów w porównaniu z JSON dla jednorodnych tablic)
  • Zachowuje strukturę danych, w tym zagnieżdżone obiekty, tablice i wartości prymitywne
  • Automatyczne wykrywanie formatu i optymalna strategia kodowania
  • Czytelny dla człowieka wynik z przejrzystą strukturą tabelaryczną dla jednorodnych danych
  • Konwersja typ‑bezpieczna, prawidłowo obsługująca liczby, wartości logiczne, null i ciągi znaków
  • Obsługa przypadków brzegowych, w tym pustych tablic, struktur zagnieżdżonych i mieszanych typów
  • Konwersja w czasie rzeczywistym z natychmiastowymi rezultatami podczas pisania

Zastosowania

  1. Optymalizacja API LLM – zmniejsz koszty tokenów przy wysyłaniu danych strukturalnych do GPT, Claude lub innych LLM, konwertując ładunki JSON do formatu TOON przed wywołaniami API
  2. Promptowanie analizy danych – przygotuj zestawy danych do analizy przez LLM przy bardziej efektywnym kodowaniu, umożliwiając większe zbiory danych w granicach kontekstu
  3. Generowanie danych strukturalnych – używaj TOON w promptach, aby poprosić LLM o generowanie danych tabelarycznych wydajniej niż w JSON
  4. Przetwarzanie logów – konwertuj logi aplikacji lub dane analityczne do zwartego formatu dla analizy i podsumowań opartych na LLM
  5. Zarządzanie konfiguracją – przekształcaj pliki konfiguracyjne do formatu oszczędzającego tokeny, gdy używasz LLM do zarządzania infrastrukturą lub zadań DevOps

Szczegóły efektywności tokenów

TOON osiąga znaczące oszczędności tokenów dzięki kilku optymalizacjom:

  • Brak powtarzających się nazw pól – pola deklarowane są raz w nagłówku zamiast powtarzania przy każdym obiekcie
  • Minimalna interpunkcja – usuwa zbędne nawiasy, klamry i cudzysłowy tam, gdzie jest to bezpieczne
  • Format tabelaryczny – używa wierszy podobnych do CSV dla jednorodnych tablic obiektów
  • Elastyczność separatora – obsługuje przecinek (domyślnie), tabulator lub pionową kreskę jako delimitery dla optymalnej tokenizacji

Przykład porównania tokenów (przy użyciu tokenizera GPT‑5):

  • JSON (sformatowany): 100 rekordów pracowników ≈ 49 776 tokenów
  • TOON: te same dane ≈ 17 635 tokenów (redukcja 64,6 %)
  • CSV: ≈ 15 583 tokenów (najbardziej zwarty, ale bez struktury)

TOON zapewnia najlepszy kompromis między zwartą formą a integralnością strukturalną dla aplikacji LLM.

Przegląd formatu

Obiekty: proste pary klucz‑wartość z wcięciem dla zagnieżdżenia

id: 123
name: Ada
active: true

Tablice: długość deklarowana w nawiasach, tablice prymitywne w jednej linii

tags[3]: reading,gaming,coding

Tablice tabelaryczne: jednorodne obiekty formatowane jako tabele z nagłówkami pól

items[2]{sku,qty,price}:
  A1,2,9.99
  B2,1,14.5

Zasady cytowania: ciągi znaków są cytowane tylko wtedy, gdy jest to konieczne (zawierają delimitery, dwukropki lub wyglądają jak inne typy)

Uwagi dotyczące konwersji

Podczas konwersji JSON → TOON:

  • Jednorodne tablice obiektów automatycznie używają formatu tabelarycznego
  • Struktury zagnieżdżone zachowują prawidłowe wcięcia
  • Typy nie‑JSON (undefined, funkcje) konwertowane są na null
  • Daty konwertowane są na ciągi ISO
  • Liczby nie używają notacji naukowej

Podczas konwersji TOON → JSON:

  • Zachowuje standardowe formatowanie JSON z wcięciem 2 spacji
  • Waliduje długości tablic i spójność pól
  • Poprawnie escapuje znaki specjalne
  • Zachowuje informacje o typach (liczby, wartości logiczne, null)