TOON es una codificación compacta y sin pérdidas del modelo de datos de JSON diseñada para prompts de LLM. Usa indentación estilo YAML para objetos anidados y un diseño tabular estilo CSV para arrays uniformes — hasta un 60% menos de tokens que JSON.
La mayor ventaja de TOON: los arrays de objetos uniformes se colapsan en una fila de encabezado [N,]{fields}: seguida de filas de datos separadas por comas — igual que CSV pero con estructura explícita.
Las cadenas solo se entrecomillan cuando es necesario — cuando parecen un número, un booleano o null, contienen el delimitador, tienen espacios al inicio o al final, o están vacías. Todo lo demás se escribe sin comillas.
TOON logra un 76% de precisión con LLM frente al 75% de JSON en benchmarks de recuperación de datos, usando ~40% menos de tokens. Se usa mejor como capa de traducción: mantén JSON para las APIs y envía TOON a los LLM.
Los objetos anidados usan indentación en lugar de llaves. Cada par clave-valor se escribe como key: value, y los objetos anidados añaden un nivel de indentación (2 espacios por defecto).
Cuando todos los objetos de un array comparten los mismos campos de valores primitivos, TOON escribe un encabezado [N,]{f1,f2,f3}: seguido de una fila separada por comas por cada objeto. Esta es la mayor fuente de ahorro de tokens.
Sí. TOON codifica los mismos objetos, arrays y primitivos que JSON. Puedes hacer un ciclo completo JSON → TOON → JSON sin ninguna pérdida de datos. Los tipos se preservan mediante las reglas de entrecomillado de TOON.
Usa TOON al enviar datos estructurados a un LLM como contexto o entrada. El ahorro de tokens reduce directamente el coste de la API y permite que quepan más datos en la ventana de contexto. Mantén JSON para APIs programáticas, bases de datos y cualquier lugar que requiera interoperabilidad estricta.