En defensa de JSON: por qué ganó la caverna
Escribí que JSON es la caverna de Platón. Aquí está el ataque más duro que se me ocurre contra esa tesis: JSON ganó precisamente porque no significa nada, la web semántica ya intentó lo contrario, y el 0,7 de certeza también es una alucinación.
- #json
- #arquitectura
- #epistemologia
- #critica
- #agentes
Regla de la casa
Una tesis que nadie ataca no es una tesis: es un eslogan. Escribí que JSON es la caverna de Platón y que ΛD es la salida. Ahora toca el trabajo incómodo: montar el mejor caso posible contra las dos cosas.
Cinco argumentos. Ninguno es de paja.
1. JSON ganó porque no significa nada
Internet tiene forma de reloj de arena. Arriba, miles de aplicaciones. Abajo, decenas de tecnologías de red. En medio, una cintura estrechísima —IP— que no opina sobre lo que transporta. Esa indiferencia no es un defecto del diseño: es la razón por la que funciona a escala planetaria.
JSON es la cintura de la capa de datos, y por el mismo motivo. Un formato que no carga
semántica es un formato con el que nadie tiene que estar de acuerdo. Y la semántica es
exactamente el sitio donde se muere el consenso: dos empresas que no coinciden en qué es un
Cliente, en si un pedido cancelado sigue siendo un pedido, ni en si el IVA va dentro,
pueden intercambiar JSON esta misma tarde.
La acusación "JSON no transporta significado" describe con precisión el motivo de su victoria. Es como acusar al TCP de no entender de fotos.
2. Esto ya se intentó, y se llamaba web semántica
RDF. OWL. Los tripletes sujeto-predicado-objeto. XML Schema. SOAP con WSDL. Microformatos. Dos décadas, comités enteros, potencia intelectual de sobra y financiación seria. El resultado neto es que la web se comunica con JSON y un README.
ΛD necesita "un grafo de ontología verificado". La palabra que hace todo el trabajo ahí es verificado:
- ¿Quién lo verifica?
- ¿Quién lo versiona, y qué pasa con los datos emitidos contra la versión anterior?
- ¿Qué ocurre cuando la ontología de tu proveedor y la tuya discrepan sobre
Cliente? - ¿Quién paga por mantenerla al día cuando el negocio cambia el martes?
El fracaso de la web semántica no fue técnico. Las especificaciones eran buenas y las implementaciones existían. Fue político y económico: el coste de acordar significados entre organizaciones crece más rápido que el beneficio, y siempre hay alguien a quien le conviene la ambigüedad. ΛD hereda ese problema entero, y el paper no lo menciona ni una vez.
3. El 0,7 también es una alucinación
Este es, para mí, el golpe más duro, y va dirigido al corazón del teorema.
La degradación epistémica c(ψ_out) ≤ min(c) × η es matemáticamente impecable. Pero es una
función, y una función es tan buena como sus entradas. Así que: ¿de dónde sale el 0,7?
- Si lo escribe una persona, es una intuición con dos decimales. La precisión es tipográfica, no epistémica.
- Si lo produce el modelo, estamos pidiéndole al sistema que alucina que puntúe su propia alucinación. Y sabemos que los modelos están mal calibrados justo donde importa: reportan alta confianza sobre cosas que se acaban de inventar, porque la seguridad del tono es un rasgo del estilo, no del conocimiento.
Propagar con rigor un número inventado no produce conocimiento: produce teatro de
precisión. Y es un teatro peligroso, porque un 0.583 con cuatro operaciones detrás
inspira mucha más confianza que un "no sé", que es lo que había realmente al principio de
la cadena.
Un JSON sin campo de certeza al menos es honesto sobre su ignorancia. Un ΛD con una certeza inventada la disfraza de física.
4. Y η es un número que nadie sabe medir
Lo mismo, un piso más abajo. η_Φ es la fidelidad epistémica de una transformación.
Para sumar dos enteros, vale, pongamos 1,0. ¿Y para "el modelo resume cuarenta páginas
de contrato"? ¿0,9? ¿0,6? ¿Según el contrato? ¿Según el modelo? ¿Medido cómo, contra qué
verdad de referencia, con qué muestra?
El teorema es una desigualdad verdadera sobre dos parámetros que, en la práctica, se van a rellenar a ojo en un fichero de configuración y no se van a volver a tocar nunca. La cadena entera de garantías cuelga de ahí.
5. El coste no es neutro, y el alcance es más estrecho de lo que se vende
Cada ψ carga T, V, c, τ, ρ y δ. Eso es un payload varias veces más pesado,
más CPU en cada frontera para validar contra la ontología, y una capa de gente que la
mantenga.
| Sistema | ¿Le compensa? |
|---|---|
| Un formulario que guarda un nombre y un email | No. Es impuesto puro. |
| Un CRUD interno con un equipo y un esquema | No. El README ya funciona. |
| Cadena de agentes de 4+ saltos que decide algo con consecuencias | Probablemente sí. |
| Datos clínicos, financieros o de sensores con caducidad real | Sí, y ya se hace a mano y mal. |
El paper cierra diciendo que ΛD es el "sucesor evolutivo necesario" de JSON. No lo es. Es una herramienta especializada para un nicho concreto y creciente, vendida con retórica de estándar universal. Esa desproporción entre la ambición del marketing y el alcance real es exactamente lo que hundió a la web semántica, y es un patrón que conviene reconocer antes de repetirlo.
Lo que sí queda en pie
Ahora el desmontaje del desmontaje, porque tampoco vale hacer trampas.
Ninguno de los cinco argumentos refuta la observación original. La contextualiza, que no es lo mismo. La vaciedad semántica de JSON fue inofensiva mientras hubo un humano sentado en cada extremo poniendo el significado a mano. Eso no ha dejado de ser cierto; lo que ha cambiado es que quitamos al humano.
Así que la pregunta correcta no es "¿JSON o ΛD?". Es más molesta:
Si el significado ya no lo pone la documentación ni el compañero de al lado, ¿dónde vive ahora?
Hoy la respuesta, en la mayoría de los sistemas, es en la conjetura del modelo. Eso es una decisión de arquitectura, aunque nadie la haya tomado conscientemente ni aparezca en ningún ADR. Y las decisiones que nadie tomó son las que más caras salen.
El punto medio que sí puedes aplicar el lunes
No hace falta elegir entre la caverna y una ontología corporativa. Tres hábitos baratos se llevan la mayor parte del beneficio:
- La unidad en el tipo, no en el nombre del campo. Un
Moneyque no deja sumar monedas distintas cuesta veinte líneas y elimina una clase entera de bugs. - Una procedencia que se propague de verdad. Y que la frontera siguiente esté obligada a leer. Si un servicio puede tirarla y seguir cumpliendo el contrato, no la tienes.
- Una caducidad explícita. Aunque sea un
validUntilque alguien comprueba. Un dato sin fecha de fin es un dato que te va a mentir en algún momento.
Convención más una frontera que la haga cumplir. Sin grafo ontológico, sin comité, sin consenso global. Es menos elegante que ΛD y se puede empezar esta semana.
Para llevarte
- JSON ganó por lo mismo que se le critica: no obliga a nadie a estar de acuerdo.
- La web semántica ya intentó lo contrario y perdió por razones económicas, no técnicas.
- Una certeza inventada, propagada con rigor, sigue siendo inventada —y ahora parece ciencia.
- El alcance real de ΛD es estrecho: cadenas de agentes y datos con caducidad de verdad.
- La tesis de la caverna sobrevive, reducida a su versión honesta: quitamos al humano que ponía el significado y no lo hemos sustituido por nada.