TOON é uma codificação compacta e sem perdas do modelo de dados JSON, projetada para prompts de LLM. Ele usa indentação no estilo YAML para objetos aninhados e um layout tabular no estilo CSV para arrays uniformes — até 60% menos tokens que o JSON.
A maior vantagem do TOON: arrays de objetos uniformes se compactam em uma linha de cabeçalho [N,]{fields}: seguida de linhas de dados separadas por vírgulas — assim como o CSV, mas com estrutura explícita.
As strings só recebem aspas quando necessário — quando parecem um número, booleano ou nulo, contêm o delimitador, têm espaços em branco no início/fim, ou estão vazias. Todo o resto é escrito sem aspas.
O TOON atinge 76% de precisão em LLMs contra 75% do JSON em benchmarks de recuperação de dados, usando ~40% menos tokens. Melhor usado como uma camada de tradução: mantenha o JSON para APIs, envie TOON para LLMs.
Objetos aninhados usam indentação em vez de chaves. Cada par chave-valor é escrito como key: value, e objetos aninhados adicionam um nível de indentação (2 espaços por padrão).
Quando todos os objetos de um array compartilham os mesmos campos de valor primitivo, o TOON escreve um cabeçalho [N,]{f1,f2,f3}: seguido de uma linha separada por vírgulas por objeto. Essa é a maior fonte de economia de tokens.
Sim. O TOON codifica os mesmos objetos, arrays e primitivos que o JSON. Você pode fazer o ciclo JSON → TOON → JSON sem qualquer perda de dados. Os tipos são preservados pelas regras de aspas do TOON.
Use TOON ao enviar dados estruturados para um LLM como contexto ou entrada. A economia de tokens reduz diretamente o custo da API e permite que mais dados caibam na janela de contexto. Mantenha o JSON para APIs programáticas, bancos de dados e qualquer lugar que exija interoperabilidade rigorosa.