Ir al contenido

Formato TOON

TOON (Token-Oriented Object Notation) es un formato de datos diseñado para LLMs. Usa ~22.5% menos tokens que JSON (medido con gpt-tokenizer sobre entradas representativas) manteniendo un roundtrip sin pérdida.

Formato Cantidad de tokens Precisión LLM
JSON 100 75%
YAML 95 72%
TOON 60 76.4%
version: 1
entries[3|]{id|category|key|content|file|tags|date|ttl|accessed|links|quality|confidence|lastAccessed|priority|path_scope|origin|status|supersededOn|importance}:
a1b2c3d4|decision|use-zod|Use Zod for validation|src/types.ts|validation;types|2026-07-10||0|patterns/zod-schemas|0.80|1.00||0||agent|||
e5f6g7h8|pattern|pydantic-configs|Project uses Pydantic v2|config.py|python;patterns|2026-07-10||0||0.72|1.00||0|||||high
i9j0k1l2|bug|redis-pool-fix|Added max_connections=20|redis.ts|redis;fix|2026-07-10|7d|3||0.68|0.85||0||agent|obsolete||
summaries:
src/services/redis.ts: Redis connection pool with retry logic
Componente Descripción
version: 1 Versión del formato
entries[N|]{fields}: Encabezado con conteo y nombres de campos
id|category|key|... Valores separados por pipe
ttl Tiempo de vida opcional (vacío = sin expiración)
accessed Conteo de accesos (para ranking de importancia)
links Keys de entradas separados por punto y coma (edges del grafo)
quality Score de calidad 0-1 (calculado automáticamente)
confidence Score de confianza 0-1 (1.0=afirmado, <1.0=inferido)
lastAccessed Marca de tiempo ISO del último acceso (para la clasificación de importancia)
priority Prioridad de pin 1-5 (0 = no anclado)
path_scope Alcance de ruta de archivo opcional (compatible con globMatch)
origin Origen de la entrada: human, agent o vacío (inferido)
status Estado de la entrada: active, obsolete, suppressed o vacío
supersededOn Fecha en que la entrada fue reemplazada (superseded)
importance Importancia explícita: critical, high, medium, low (vacío = automático)
summaries: Resúmenes de archivos opcionales
Campo Requerido Descripción Ejemplo
id ID hex de 8 chars a1b2c3d4
category decision, pattern, bug, knowledge, warning decision
key Título en kebab-case use-zod
content Descripción detallada Usar Zod para validación
file No Ruta de archivo relacionada src/types.ts
tags No Tags separados por punto y coma validation;types
date YYYY-MM-DD 2026-07-10
ttl No Expiración: 7d, 30d, o 2026-12-31 7d
accessed No Conteo de accesos (auto-incrementado en recall) 3
links No Keys de entradas separados por punto y coma (edges del grafo) patterns/zod-schemas
quality No Score de calidad 0-1 (calculado automáticamente) 0.80
confidence No Score de confianza 0-1 (1.0=afirmado) 1.00
lastAccessed No Marca de tiempo ISO del último acceso (auto-actualizado) 2026-07-10T12:00:00Z
priority No Prioridad de pin 1-5 (0 = no anclado) 0
path_scope No Alcance de ruta de archivo para recall con glob-match src/
origin No Origen de la entrada: human, agent, o vacío agent
status No Estado de la entrada: active, obsolete, suppressed, vacío obsolete
supersededOn No Fecha en que la entrada fue reemplazada (superseded) 2026-08-01
importance No Importancia explícita: critical, high, medium, low (vacío = automático, recencia + frecuencia) critical
  1. Menos tokens — Más eficiente para contexto LLM
  2. Mejor precisión — Los LLMs lo entienden mejor que JSON
  3. Sin pérdida — Sin pérdida de datos en la conversión
  4. Legible por humanos — Fácil de leer y editar manualmente