Reparar JSON generado por LLM

Las respuestas de IA a menudo parecen JSON pero incluyen markdown fences, comentarios, literales tipo Python o sintaxis de objeto JavaScript.

Problemas habituales del JSON de un LLM

Markdown fences, comentarios, comillas simples, claves sin comillas, comas finales y los valores True, False o None de Python pueden hacer que una respuesta de IA por lo demás útil falle el parsing JSON estricto.

Flujo de reparación

Pega la respuesta en JSON Fix, ejecuta Repair & Format y luego Validate para confirmar que la salida es JSON estricto antes de usarla en código o en una petición a una API.

Nota de privacidad

La reparación ocurre localmente en el navegador, lo que es útil al depurar prompts que incluyen ejemplos internos o payloads de APIs privadas.

Herramientas y recetas

Para limpieza en el navegador, pega la salida del LLM en JSON Fix y pulsa Repair & Format — quita en una pasada los markdown fences (```json ... ```), las comas finales y los literales de Python (True/False/None). En Node, el paquete npm jsonrepair hace lo mismo de forma programática y sin dependencias.

Prompts que reducen el trabajo de reparación

Restringe la salida: «Responde con un único objeto JSON y nada más, sin markdown fence ni comentarios». Si el modelo lo admite, usa modo JSON o response_format json_object — eso elimina fences y prosa por diseño. Un schema en el prompt (o vía function calling) reduce aún más las claves inventadas.

JSON en streaming desde un LLM

Mientras los tokens llegan, el JSON es inválido por definición — todavía no hay llave de cierre. O bien acumulas hasta que la respuesta termine y haces un solo parse, o usas un parser tolerante a streaming (jsonrepair, partial-json) que devuelve el mejor prefijo válido para poder renderizar de forma incremental.

Cuándo fallar en vez de reparar

Si el JSON activa una transacción financiera, un cambio de permisos o una acción destructiva, no repares en silencio — rechaza la respuesta y reintenta, o saca la salida cruda para revisión. La reparación encaja para visualización, depuración y recuperación; nunca para entradas que cambian estado sin revisión humana.