18 pontos por xguru 2025-11-19 | 3 comentários | Compartilhar no WhatsApp
  • Token-Oriented Object Notation
  • Formato de serialização projetado para reduzir o uso de tokens ao fornecer entrada para LLMs
    • Representa dados JSON sem perdas, ao mesmo tempo em que garante eficiência de tokens e legibilidade
  • Estrutura otimizada para arrays homogêneos de objetos, removendo chaves repetidas para oferecer redução de 30% a 60% nos tokens
    • Formato híbrido que combina a estrutura baseada em indentação do YAML com o formato tabular do CSV
    • Para dados com estrutura profundamente aninhada ou não homogênea, o JSON é mais eficiente
  • Inclui informações estruturais explícitas, permitindo que LLMs façam parsing e validação de forma estável
    • Melhora o reconhecimento da estrutura ao explicitar o tamanho do array ([N]) e a definição dos campos ({id,name,role})
  • Sintaxe concisa com um design mínimo de gramática que remove parênteses, aspas e pontuação desnecessários
    • Representação hierárquica baseada em indentação, com suporte a fluxo de dados por linhas semelhante ao CSV
  • Suporte a conversão bidirecional entre JSON ↔ TOON por meio de uma ferramenta CLI
    • Oferece opções como detecção automática de formato, definição de delimitador (,, \t, |) e exibição de estatísticas de redução de tokens
  • Composição da API
    • encode() realiza a serialização de JSON, e decode() faz a desserialização
    • É possível definir como opção indentação, delimitador e marcador de comprimento (#)
  • Nos resultados de benchmark, apresentou redução média de 21% a 60% nos tokens em comparação com JSON e 73,9% de acurácia em consultas com LLMs
    • É ligeiramente maior que CSV, mas melhora a confiabilidade para LLMs com recursos de validação estrutural
  • Regras do formato
    • Strings são colocadas entre aspas apenas quando necessário, com aspas automáticas quando contêm delimitadores
    • Números, booleanos, datas etc. são convertidos para formas amigáveis a LLMs
  • Implementações em várias linguagens disponíveis
    • Oficiais: Python, Rust (em desenvolvimento)
    • Comunidade: Go, Java, Swift, C++, .NET, Ruby etc.

3 comentários

 
wedding 2025-11-20

Estou usando function calling, acho que vou precisar testar uma vez.

 
princox 2025-11-19

Em alguns exemplos, dizem que, ao remover os espaços em branco, o formato JSON reduz muito mais a quantidade de tokens.. ainda não entendi bem. Se é realmente um formato que vale a pena usar direito.

 
laeyoung 2025-11-19

Comparação de precisão por modelo

  • 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%

Se formos confiar só nos resultados de benchmark, parece que não há motivo para não usar, já que o uso de tokens diminui sem perda de precisão.