Si tu empresa ya conectó un modelo de IA a algún proceso —un asistente, un clasificador de tickets, un resumidor de reportes— hay una factura que crece sin que nadie la mire: los tokens. Cada palabra que le mandas al modelo cuesta. Y aquí está el detalle incómodo: buena parte de esos tokens no son tus datos. Son puntuación.

Cuando le pasas datos a un LLM en JSON, repites el nombre de cada campo en cada fila. Comillas, llaves, dos puntos, comas. Fila tras fila. El modelo paga por leer “id”, “nombre”, “precio” mil veces aunque ya lo sabía desde la primera.

TOON nació justo para eso. Vamos a ver qué es, cuánto ahorra de verdad y —lo más importante— cuándo tiene sentido usarlo y cuándo es complicarte la vida.


¿Qué es TOON?

TOON son las siglas de Token-Oriented Object Notation: un formato para escribir datos estructurados pensado para que un LLM lo lea gastando la menor cantidad de tokens posible.

No reemplaza a JSON en tu código. La idea es más sencilla: tú sigues trabajando con JSON en tu aplicación, y solo en el momento de enviar los datos al modelo los conviertes a TOON. El LLM lee menos, tú pagas menos, y la respuesta se decodifica de vuelta a JSON.

Piénsalo como un traductor que se sienta entre tu base de datos y el modelo, y le habla al modelo en su idioma más económico.

El problema real: JSON es caro por repetitivo

Mira este ejemplo. Una lista de tres facturas de un negocio, en JSON:

{
  "facturas": [
    { "id": 1, "cliente": "Ferretería El Progreso", "monto": 12500, "pagada": true },
    { "id": 2, "cliente": "Colmado Doña Rosa", "monto": 4800, "pagada": false },
    { "id": 3, "cliente": "Auto Repuestos RD", "monto": 21300, "pagada": true }
  ]
}

Cuenta cuántas veces aparecen las palabras id, cliente, monto y pagada. Tres veces cada una. En una lista de 500 facturas serían 500 veces. El modelo paga por leer esos nombres una y otra vez, cuando con saberlos una sola vez le bastaba.

El mismo dato en TOON se ve así:

facturas[3]{id,cliente,monto,pagada}:
  1,Ferretería El Progreso,12500,true
  2,Colmado Doña Rosa,4800,false
  3,Auto Repuestos RD,21300,true

Los campos se declaran una vez, entre llaves. Después, solo filas de valores, como un CSV pero con la estructura declarada arriba. El [3] le dice al modelo cuántas filas esperar.

En datasets uniformes como este, el ahorro ronda el 40-55% de tokens frente al JSON equivalente. En una integración que hace miles de llamadas al día, eso no es un detalle: es la diferencia entre una factura cómoda y una que asusta.


Cómo se ve TOON por dentro

TOON usa tres estilos, y elige el adecuado según la forma del dato:

Tipo de dato Estilo que usa Ejemplo
Objeto anidado Indentación tipo YAML contexto:
ciudad: Santo Domingo
Lista de valores simples En línea etiquetas[3]: urgente,pago,cliente
Lista de objetos iguales Tabla estilo CSV items[2]{id,nombre}:
1,Ana
2,Luis

Dos detalles que lo hacen bueno para modelos:

  • El marcador [N] (cuántos elementos hay) le da al modelo una forma de detectar si la lista llegó completa o se cortó a medias.
  • Los campos explícitos {...} actúan como un esquema: el modelo sabe qué columna es cuál y no se pierde.

Y algo importante para producción: TOON es ida y vuelta sin pérdidas. Si conviertes un JSON a TOON y lo devuelves a JSON, obtienes exactamente el mismo dato. No se pierde nada por el camino.

Adoptarlo es una línea de código

En la práctica no reescribes nada. Instalas la librería y envuelves el punto donde ya mandas datos al modelo. En TypeScript, por ejemplo, existe el paquete oficial @toon-format/toon, y hay implementaciones estables en Python, Rust, Java, Swift y más, con ports de la comunidad en Go, C#, PHP y Ruby.

El flujo típico de una integración queda así:

  1. Consultas tu base de datos y obtienes JSON, como siempre.
  2. Conviertes ese JSON a TOON antes de armar el prompt.
  3. Le mandas al modelo el prompt con el bloque TOON adentro.
  4. Recibes la respuesta y la validas de vuelta contra tu esquema.

Nada de tu lógica de negocio cambia. Solo el “empaque” con el que le hablas al modelo.


Cuándo SÍ vale la pena

TOON brilla en un caso muy concreto: muchos registros con la misma forma. Si eso describe tu integración, es candidato claro:

  • Listas de decenas a miles de objetos uniformes (facturas, productos, logs, transacciones).
  • El costo por token te importa de verdad (volumen alto o presupuesto ajustado).
  • Estás pegado a un rate limit o a un límite de contexto y necesitas meter más dato en menos espacio.
  • Quieres que el modelo genere datos estructurados siguiendo un esquema claro.

Un caso donde lo vemos rendir: procesar y clasificar logs o tickets de soporte en lote. Llegan como JSON, se comprimen a TOON, se mandan a un modelo como Claude para clasificarlos, y la respuesta se valida. Menos tokens por lote, más lotes por el mismo presupuesto. Ese tipo de eficiencia es parte de lo que cuidamos cuando montamos automatización con IA para empresas.

Cuándo NO usarlo

TOON no es una bala de plata, y usarlo donde no toca te complica sin ganar nada:

  • Datos muy anidados y desiguales, donde cada objeto tiene una forma distinta: ahí la ventaja tabular desaparece.
  • Datos puramente planos, sin anidamiento: un CSV normal es incluso más compacto.
  • Un pipeline que ya funciona y donde el ahorro no justifica el cambio ni las pruebas.
  • Un equipo que no conoce el formato y no tiene tiempo de aprenderlo ahora. La eficiencia no compensa un bug en producción.

Regla honesta: mide primero. Toma una petición real, cuéntale los tokens en JSON y en TOON, y decide con el número delante, no por moda.


Por qué esto le importa a tu negocio (no solo a tus devs)

Es fácil ver esto como un truco técnico. No lo es. Cada integración de IA que hace una empresa tiene un costo variable que escala con el uso: mientras más la usan tus clientes o tu equipo, más pagas. Optimizar el formato de los datos es de las palancas más baratas para bajar ese costo sin tocar la calidad de las respuestas.

En un proyecto de IA bien pensado, esta clase de decisiones se toman desde el diseño, no cuando llega la factura. Es la diferencia entre una integración que escala con tu negocio y una que te penaliza por crecer. Sobre cómo la IA está cambiando la forma de construir software escribimos también en este artículo.

Si estás evaluando conectar un modelo a tu operación —o ya lo hiciste y la factura de tokens se te fue de las manos— eso es exactamente lo que resolvemos con software a medida y dashboards que ponen esos costos a la vista. Y si quieres jugar con el formato tú mismo, TOON tiene documentación y un playground oficial en toonformat.dev donde pegas un JSON y ves el ahorro de tokens en tiempo real.


Preguntas frecuentes sobre TOON

¿TOON reemplaza a JSON?

No. TOON es para el momento de hablar con el modelo, no para tu aplicación. Sigues usando JSON en tu código y bases de datos; solo conviertes a TOON al enviar datos al LLM y decodificas la respuesta de vuelta.

¿Cuánto se ahorra realmente?

En listas de objetos uniformes, entre 40% y 55% de tokens frente al JSON equivalente. En datos planos o muy irregulares el ahorro cae, y a veces no conviene.

¿Se pierde información al convertir?

No. TOON es “lossless”: convertir de JSON a TOON y de vuelta a JSON devuelve el dato exacto. Por eso se puede validar la respuesta del modelo con modo estricto.

¿Sirve con cualquier modelo (Claude, GPT, etc.)?

Sí. TOON es solo una forma de escribir el texto que le mandas al modelo, así que funciona con cualquier LLM que reciba texto. El ahorro de tokens aplica igual.

¿Vale la pena para una integración pequeña?

Si haces pocas llamadas y con poco dato, probablemente no notes la diferencia y no valga el cambio. TOON rinde cuando hay volumen: muchos registros, muchas peticiones, o presupuestos de tokens ajustados.


En resumen

TOON no es magia: es sentido común aplicado al costo de la IA. JSON gasta tokens repitiendo nombres de campos; TOON los declara una vez y manda el resto como filas. En el caso correcto —muchos objetos con la misma forma— recortas casi la mitad de los tokens sin perder un dato.

Úsalo donde encaja, mídelo antes de casarte con él, y trátalo como lo que es: una palanca más para que tu inversión en IA rinda.

¿Quieres que revisemos tu integración con IA y veamos dónde estás quemando tokens de más? Conversemos — lo montamos para que escale sin castigarte por usarlo.