{"id":15468,"date":"2025-11-13T22:08:30","date_gmt":"2025-11-13T21:08:30","guid":{"rendered":"https:\/\/www.palentino.es\/blog\/?p=15468"},"modified":"2025-11-13T22:22:16","modified_gmt":"2025-11-13T21:22:16","slug":"toon-el-nuevo-formato-optimizado-para-modelos-de-lenguaje","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/toon-el-nuevo-formato-optimizado-para-modelos-de-lenguaje\/","title":{"rendered":"TOON: el nuevo formato optimizado para modelos de lenguaje"},"content":{"rendered":"<p data-start=\"223\" data-end=\"666\"><strong data-start=\"223\" data-end=\"264\">TOON (Token-Oriented Object Notation)<\/strong> es un formato de serializaci\u00f3n dise\u00f1ado espec\u00edficamente para trabajar con <strong data-start=\"339\" data-end=\"377\">modelos de lenguaje grandes (LLMs)<\/strong>, ofreciendo una representaci\u00f3n de datos estructurados mucho m\u00e1s compacta que JSON, YAML o CSV. Su objetivo principal es <strong data-start=\"498\" data-end=\"529\">reducir el n\u00famero de tokens<\/strong> necesarios para representar informaci\u00f3n, lo que permite encajar m\u00e1s datos en el contexto de un modelo y reducir costes de procesamiento.<\/p>\n<p data-start=\"223\" data-end=\"666\"><!--more--><\/p>\n<hr data-start=\"668\" data-end=\"671\" \/>\n<h2 data-start=\"673\" data-end=\"702\"><strong data-start=\"676\" data-end=\"702\">\u00bfPor qu\u00e9 aparece TOON?<\/strong><\/h2>\n<p data-start=\"704\" data-end=\"941\">Los LLMs procesan la informaci\u00f3n en <em data-start=\"740\" data-end=\"748\">tokens<\/em>, no en caracteres.<br data-start=\"767\" data-end=\"770\" \/>Formatos como JSON repiten claves, comillas y s\u00edmbolos que consumen muchos tokens.<br data-start=\"852\" data-end=\"855\" \/>TOON elimina esa redundancia y usa una sintaxis m\u00e1s eficiente, sin perder legibilidad.<\/p>\n<p data-start=\"943\" data-end=\"959\">Su filosof\u00eda es:<\/p>\n<ul>\n<li data-start=\"963\" data-end=\"993\"><strong data-start=\"963\" data-end=\"991\">Menos s\u00edmbolos repetidos<\/strong><\/li>\n<li data-start=\"996\" data-end=\"1030\"><strong data-start=\"996\" data-end=\"1028\">M\u00e1s compactaci\u00f3n estructural<\/strong><\/li>\n<li data-start=\"1033\" data-end=\"1072\"><strong data-start=\"1033\" data-end=\"1072\">M\u00e1s claridad para humanos y para IA<\/strong><\/li>\n<\/ul>\n<hr data-start=\"1074\" data-end=\"1077\" \/>\n<h2 data-start=\"1079\" data-end=\"1104\"><strong data-start=\"1082\" data-end=\"1104\">C\u00f3mo funciona TOON<\/strong><\/h2>\n<p data-start=\"1106\" data-end=\"1132\">TOON usa tres ideas clave:<\/p>\n<h3 data-start=\"1134\" data-end=\"1172\"><strong data-start=\"1138\" data-end=\"1172\">1. Arrays con tama\u00f1o expl\u00edcito<\/strong><\/h3>\n<p>En lugar de<strong> [ ],<\/strong> usa <strong>[ N ]<\/strong> para indicar cu\u00e1ntos elementos hay:<\/p>\n<p>users[2]:<\/p>\n<p data-start=\"1257\" data-end=\"1329\">Esto ayuda a los LLMs a generar salidas coherentes y f\u00e1ciles de validar.<\/p>\n<h3 data-start=\"1331\" data-end=\"1381\"><strong data-start=\"1335\" data-end=\"1381\">2. Tablas para listas de objetos uniformes<\/strong><\/h3>\n<p data-start=\"1382\" data-end=\"1468\">En JSON, cada objeto repite las claves.<br data-start=\"1421\" data-end=\"1424\" \/>En TOON, las claves se definen una sola vez:<\/p>\n<p data-start=\"1382\" data-end=\"1468\">users[2]{id,name,role}:<br \/>\n1,Alice,admin<br \/>\n2,Bob,user<\/p>\n<p data-start=\"1532\" data-end=\"1569\">Esto reduce dr\u00e1sticamente los tokens.<\/p>\n<h3 data-start=\"1571\" data-end=\"1612\"><strong data-start=\"1575\" data-end=\"1612\">3. Indentaci\u00f3n en lugar de llaves<\/strong><\/h3>\n<p data-start=\"1613\" data-end=\"1678\">Para objetos simples y anidados, TOON usa identaci\u00f3n estilo YAML:<\/p>\n<p data-start=\"1613\" data-end=\"1678\">config:<br \/>\ndebug: true<br \/>\nport: 8080<\/p>\n<p data-start=\"1613\" data-end=\"1678\">\n<p data-start=\"1613\" data-end=\"1678\">\n<p data-start=\"1613\" data-end=\"1678\">\n<h2 data-start=\"1729\" data-end=\"1756\"><strong data-start=\"1732\" data-end=\"1756\">Comparaci\u00f3n con JSON<\/strong><\/h2>\n<h3 data-start=\"1758\" data-end=\"1770\"><strong data-start=\"1762\" data-end=\"1770\">JSON<\/strong><\/h3>\n<p>{<br \/>\n&#8220;users&#8221;: [<br \/>\n{&#8220;id&#8221;: 1, &#8220;name&#8221;: &#8220;Alice&#8221;, &#8220;role&#8221;: &#8220;admin&#8221;},<br \/>\n{&#8220;id&#8221;: 2, &#8220;name&#8221;: &#8220;Bob&#8221;, &#8220;role&#8221;: &#8220;user&#8221;}<br \/>\n]<br \/>\n}<\/p>\n<h3 data-start=\"1758\" data-end=\"1770\"><strong data-start=\"1762\" data-end=\"1770\">TOON<\/strong><\/h3>\n<p>users[2]{id,name,role}:<br \/>\n1,Alice,admin<br \/>\n2,Bob,user<\/p>\n<p data-start=\"1974\" data-end=\"1989\">El resultado:<\/p>\n<ul>\n<li data-start=\"1992\" data-end=\"2006\">Menos tokens<\/li>\n<li data-start=\"2009\" data-end=\"2040\">Mayor densidad de informaci\u00f3n<\/li>\n<li data-start=\"2043\" data-end=\"2076\">M\u00e1s capacidad para prompts largos<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/11\/toon.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-15471\" src=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/11\/toon.jpg\" alt=\"\" width=\"997\" height=\"583\" srcset=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/11\/toon.jpg 997w, https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/11\/toon-300x175.jpg 300w\" sizes=\"auto, (max-width: 997px) 100vw, 997px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<hr data-start=\"2078\" data-end=\"2081\" \/>\n<h2 data-start=\"2083\" data-end=\"2106\"><strong data-start=\"2086\" data-end=\"2106\">Ventajas de TOON<\/strong><\/h2>\n<ul>\n<li data-start=\"2110\" data-end=\"2162\"><strong data-start=\"2110\" data-end=\"2160\">Reducci\u00f3n de tokens del 30% al 60% en promedio<\/strong><\/li>\n<li data-start=\"2165\" data-end=\"2191\"><strong data-start=\"2165\" data-end=\"2189\">Legible para humanos<\/strong><\/li>\n<li data-start=\"2194\" data-end=\"2262\"><strong data-start=\"2194\" data-end=\"2260\">Estructura expl\u00edcita que ayuda a los LLMs a no cometer errores<\/strong><\/li>\n<li data-start=\"2265\" data-end=\"2331\"><strong data-start=\"2265\" data-end=\"2329\">Ideal para datasets grandes, cat\u00e1logos, logs, informes, etc.<\/strong><\/li>\n<li data-start=\"2334\" data-end=\"2389\"><strong data-start=\"2334\" data-end=\"2389\">Compatible con implementaciones en varios lenguajes<\/strong><\/li>\n<\/ul>\n<hr data-start=\"2391\" data-end=\"2394\" \/>\n<h2 data-start=\"2396\" data-end=\"2419\"><strong data-start=\"2399\" data-end=\"2419\">Cu\u00e1ndo usar TOON<\/strong><\/h2>\n<h3 data-start=\"2421\" data-end=\"2438\"><strong data-start=\"2425\" data-end=\"2438\">\u00dasalo si:<\/strong><\/h3>\n<ul>\n<li data-start=\"2441\" data-end=\"2473\">Env\u00edas listas grandes a un LLM<\/li>\n<li data-start=\"2476\" data-end=\"2528\">Necesitas optimizar coste y espacio en el contexto<\/li>\n<li data-start=\"2531\" data-end=\"2593\">Quieres que el modelo responda con datos estructurados fiables<\/li>\n<\/ul>\n<h3 data-start=\"2595\" data-end=\"2614\"><strong data-start=\"2599\" data-end=\"2614\">Ev\u00edtalo si:<\/strong><\/h3>\n<ul>\n<li data-start=\"2617\" data-end=\"2673\">Tus datos son muy irregulares o profundamente anidados<\/li>\n<li data-start=\"2676\" data-end=\"2738\">Necesitas interoperabilidad total con sistemas basados en JSON<\/li>\n<\/ul>\n<hr data-start=\"2740\" data-end=\"2743\" \/>\n<h2 data-start=\"2745\" data-end=\"2777\"><strong data-start=\"2748\" data-end=\"2777\">Estado actual del formato<\/strong><\/h2>\n<p data-start=\"2779\" data-end=\"2820\">TOON es un est\u00e1ndar emergente (2025) con:<\/p>\n<ul>\n<li data-start=\"2824\" data-end=\"2854\">Especificaci\u00f3n abierta (MIT)<\/li>\n<li data-start=\"2857\" data-end=\"2908\">Librer\u00edas en Python, TypeScript y otros lenguajes<\/li>\n<li data-start=\"2911\" data-end=\"2981\">Creciente uso en prompting avanzado, extracci\u00f3n estructurada y agentes<\/li>\n<\/ul>\n<hr data-start=\"2983\" data-end=\"2986\" \/>\n<h2 data-start=\"2988\" data-end=\"3005\"><strong data-start=\"2991\" data-end=\"3005\">Conclusi\u00f3n<\/strong><\/h2>\n<p data-start=\"3007\" data-end=\"3335\">TOON no pretende reemplazar JSON en la web, pero s\u00ed convertirse en el <strong data-start=\"3077\" data-end=\"3115\">formato ideal para hablar con LLMs<\/strong>.<br data-start=\"3116\" data-end=\"3119\" \/>Su combinaci\u00f3n de compacidad, claridad y estructura lo convierte en una herramienta poderosa para quienes trabajan con datos en IA, especialmente cuando los l\u00edmites de tokens o los costes de API son una preocupaci\u00f3n.<\/p>\n<p data-start=\"3007\" data-end=\"3335\"><a href=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/05\/Contacto-oscar.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-14716\" src=\"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2025\/05\/Contacto-oscar.gif\" alt=\"\" width=\"556\" height=\"160\" \/><\/a><\/p>\n<p data-start=\"3007\" data-end=\"3335\">\n","protected":false},"excerpt":{"rendered":"<p>TOON (Token-Oriented Object Notation) es un formato de serializaci\u00f3n dise\u00f1ado espec\u00edficamente para trabajar con modelos de lenguaje grandes (LLMs), ofreciendo una representaci\u00f3n de datos estructurados mucho m\u00e1s compacta que JSON, YAML o CSV. Su objetivo principal es reducir el n\u00famero de tokens necesarios para representar informaci\u00f3n, lo que permite encajar m\u00e1s datos en el contexto de un modelo y reducir costes de procesamiento.<\/p>\n","protected":false},"author":1,"featured_media":6154,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1415],"tags":[],"class_list":["post-15468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categoria-es"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/15468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=15468"}],"version-history":[{"count":3,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/15468\/revisions"}],"predecessor-version":[{"id":15472,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/15468\/revisions\/15472"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/6154"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=15468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=15468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=15468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}