Los LLM filtran razonamiento en la salida estructurada a pesar de instrucciones explícitas

El problema: las pasadas de validación de LLM filtran razonamiento
Un desarrollador que construía una herramienta que realiza llamadas paralelas a la API de Claude y analiza la salida estructurada por llamada encontró un problema intermitente. Cada llamada devuelve contenido dentro de marcadores específicos como [COVER], [SLIDE 1], [CAPTION], etc. Una segunda pasada de LLM valida la salida contra reglas y reescribe cualquier cosa que falle.
El prompt de validación establece explícitamente: "devuelve SOLO el texto corregido en el mismo formato exacto. Sin comentarios. Sin razonamiento. Sin listas de violaciones".
A pesar de esto, el modelo de validación ocasionalmente genera su razonamiento antes del contenido corregido. Los ejemplos incluyen: "Necesito verificar este texto en busca de violaciones... Estas oraciones forman un par dramático apilado usado puramente para efecto. Aquí está la reescritura:" seguido del texto corregido real.
Consecuencias posteriores
Este texto de razonamiento pasa directamente al analizador. El analizador espera contenido que comience en [COVER] pero en su lugar recibe meta-comentarios. Esto causa desalineación de campos posteriormente. En un caso, el texto de razonamiento del validador terminó dentro de un campo de prompt de imagen porque el analizador consumió el razonamiento como contenido del cuerpo, desplazando todo unas pocas líneas hacia abajo.
El ajuste del prompt por sí solo no solucionó el problema. Hacer las instrucciones más explícitas, agregar "tu salida DEBE comenzar con el primer marcador de contenido" y agregar "nunca incluyas razonamiento" redujo la frecuencia pero no lo eliminó. El modelo ocasionalmente ignora instrucciones, especialmente cuando encuentra violaciones que corregir—quiere mostrar su trabajo.
La solución: defensa de dos capas
La solución que funcionó involucró dos capas:
- Capa 1: Ajuste del prompt. Todavía vale la pena hacerlo porque reduce la frecuencia con la que ocurre el problema.
- Capa 2: Una función defensiva de limpieza que se ejecuta en cada salida de validación antes de que ocurra cualquier análisis. Para formatos estructurados, se ancla al primer marcador reconocido y descarta todo lo anterior. Para formatos de texto plano, elimina líneas que coincidan con patrones conocidos de comentarios del validador (cosas como "Déjame verificar este texto" o "Esto viola la restricción").
El orden de limpieza-antes-del-análisis es clave. Cada analizador posterior opera en una salida ya saneada. Esto evita mantener lógica de limpieza por campo o jugar al juego de golpear topos con nuevos formatos de razonamiento.
Consideraciones de implementación
Para patrones de limpieza de texto plano, se necesita un diseño cuidadoso. Una expresión regular que capture "Esta es una violación" también podría capturar "Este es un error común" en contenido legítimo. Los patrones deben ajustarse para que coincidan solo con lenguaje específico del validador, como "Esto viola la/una regla/restricción" en lugar de coincidencias amplias en "Esto es" o "Esto usa". Cada patrón necesita auditoría contra contenido real antes de la implementación.
Si estás analizando salida estructurada de un LLM, trata las instrucciones del prompt como una primera pasada de mejor esfuerzo y siempre ten una defensa a nivel de código antes del analizador. El modelo cumplirá el 95% del tiempo, pero el 5% en que no lo haga romperá la lógica posterior de maneras difíciles de reproducir porque son intermitentes.
📖 Leer la fuente completa: r/ClaudeAI
👀 Ver también

Explorando sandbox-exec de macOS para la ejecución segura de aplicaciones.
sandbox-exec es una herramienta de línea de comandos de macOS que permite a las aplicaciones ejecutarse en un entorno restringido. Aprende cómo utilizarla con perfiles de sandbox personalizados.

DS4 de antirez: Ejecutando DeepSeek V4 Flash con Contexto de 1M en Mac Metal y DGX
El creador de Redis, Salvatore Sanfilippo, lanzó DS4, un proyecto para ejecutar DeepSeek V4 Flash con una ventana de contexto de 1M en hardware Mac Metal y DGX, con endpoints de OpenAI/Anthropic para herramientas de codificación agentivas.

Clawpage: Una Herramienta que Convierte Conversaciones de OpenClaw en Sitios Web Estáticos
Un desarrollador creó Clawpage, una habilidad que transforma el historial de sesiones de OpenClaw en páginas web estáticas para conservar conversaciones valiosas, incluyendo el intercambio de ideas, la investigación y el proceso de depuración. La herramienta está disponible en GitHub.

Kit de Aprendizaje: Un Complemento de Código Claude para la Incorporación y Exploración de Bases de Código
Learning-kit es un complemento gratuito de Claude Code que analiza repositorios para generar planes de aprendizaje estructurados y tutoriales interactivos. Ayuda a los desarrolladores a comprender bases de código desconocidas antes de realizar cambios, con modos de aplicación configurables y seguimiento del progreso.