El texto de “Extended Thinking” de Claude Code no es razonamiento real
(patrickmccanna.net)- Claude Code registra las sesiones en disco, pero en el thinking block de los logs locales solo quedaba una
signaturede 600 caracteres en lugar del texto real del razonamiento - El razonamiento de Claude está cifrado en la signature, y Anthropic conserva la clave, que no se entrega al dispositivo del usuario
- Lo que devuelve la API no es el texto original del razonamiento, sino un resumen del razonamiento; para obtener la salida completa de thinking se requiere un enterprise agreement
- La salida de extended-thinking que se ve con
ctrl+otambién es solo un resumen del proceso de pensamiento de Fable/Opus, no el razonamiento en sí que impulsó directamente el comportamiento del modelo en la sesión - Si se quiere usar una sesión de Claude Code como rastro de auditoría, hay que asumir que no es posible reconstruir la lógica real del agente solo con archivos locales, entradas/salidas y logs de actividad
Lo que queda en los logs locales no es el texto original del razonamiento
- Claude Code registra cada sesión en disco, y esos logs incluyen thinking blocks mientras el modelo trabaja
- Al intentar revisar ese razonamiento en local, no aparecía el texto real sino solo una
signaturede 600 caracteres - La documentación de extended thinking de Anthropic describe esta estructura así
- Claude cifra el razonamiento dentro de esa signature
- Anthropic conserva la clave
- El dispositivo del usuario no recibe la clave
- La API devuelve un reasoning summary, no el razonamiento en sí
- Para obtener la salida completa de thinking se necesita un enterprise agreement
- El artículo de Matt Green analiza con más detalle el signature block
Límites de la salida de Extended Thinking
- La salida de extended-thinking que aparece en
ctrl+oen Claude Code es un resumen del thinking de Fable/Opus - Esa salida no es el thinking en sí que realmente impulsó el comportamiento del modelo en la sesión, sino el resultado de comprimir esa lógica de razonamiento
- En el proceso de convertirlo en resumen hay pérdida de datos, y el texto original lo compara con una situación en la que se pierde información al convertir el formato de un archivo
- Puntos a tener en cuenta cuando se necesita un registro de la lógica usada por el agente en una sesión de Claude Code
- Solo con los archivos locales no se puede generar esa lógica
- Los logs de razonamiento que quedan en el sistema no están en una forma accesible para el usuario
- Las entradas, salidas y el comportamiento de Claude Code en ejecución pueden extraerse y registrarse por separado
- Incluso esos logs no son el razonamiento que realmente impulsó el comportamiento del agente
- La frase de la documentación, “extended thinking returns a summary of Claude’s full thinking process”, es lo bastante indirecta como para prestarse a la confusión de que sí devuelve el full thinking real
1 comentarios
Opiniones de Hacker News
No es un problema exclusivo de Anthropic; casi todas las grandes empresas de IA, incluidas OpenAI y Google, ocultan el proceso de razonamiento real del modelo
Si publicaran el razonamiento en bruto, revelarían tal cual cómo la IA procesa la información, y estas empresas gastan enormes sumas en I+D para crear procesos de pensamiento mejores que los de sus competidores
Mostrar ese mecanismo de pensamiento a la competencia destruiría el propósito mismo de ese gasto, así que jamás lo harán; es parecido a decirle tu ubicación exacta a alguien que te viene persiguiendo
Si luego ese contenido se posprocesa, por ejemplo como un resumen, se vuelve menos útil para los competidores
Así que es peor
La analogía de que “no es el pensamiento real, sino un resumen de la lógica del pensamiento; es como guardar un jpeg como .bmp, editar el .bmp y volver a presentarlo como si fuera .jpeg. En la conversión se pierden datos” está al revés
.bmp es un formato sin pérdida, y .jpeg es un formato con pérdida
No pienso usar ni recomendar modelos con razonamiento oculto, y todos los modelos estadounidenses entran en esa categoría
El riesgo es demasiado alto y también hace más difícil la optimización de prompts
Es peligroso porque un atacante puede incrustar un objetivo secreto en la cadena de razonamiento mediante prompt injection, y luego ocultarlo en el resumen y en la salida
Si se mezclan razonamiento y llamadas a funciones, es todavía más peligroso, porque el modelo puede llamar funciones durante una etapa de razonamiento oculta
Entonces, aunque el atacante exfiltre datos, el resumen del razonamiento puede ocultárselo al usuario
Tampoco puedes saber si el modelo cae en un bucle infinito durante el razonamiento y desperdicia tokens; Gemini tiene esa tendencia, y se ha confirmado cuando se filtra razonamiento oculto
Tal vez deje de preocuparme cuando el modelo sea AGI y esté a salvo del prompt injection, pero hasta entonces quiero saber exactamente cómo responde el modelo a los prompts y exactamente qué hace el agente en mi nombre
Lectura adicional: Fooling around with encrypted reasoning blobs
https://blog.cryptographyengineering.com/2026/05/29/fooling-...
Para evaluar llamadas a funciones del lado del cliente, en algún momento habría que descifrar ese flujo de pensamiento en el cliente, y entonces se perdería el propósito de ofuscarlo así
Si lo que se quiere decir es que las llamadas a funciones pueden ocurrir del lado del servidor, entonces mientras uses una API de razonamiento no hay forma de impedir que el servidor haga eso y lo oculte
Por ahora solo funciona en Rust: https://github.com/Kapperchino/agent-joe
Si no, ¿cómo las ejecutaría el cliente?
Esto se sabe desde hace mucho, y las empresas tampoco intentan ocultarlo demasiado
Lo hacen para evitar que la competencia entrene modelos con la cadena de pensamiento (CoT)
Creo que esto ya estaba desde Opus 4.6
Recuerdo claramente que hubo este cambio por enero o febrero, y se decía explícitamente que la razón era evitar la destilación
Sonnet no tiene esta limitación
Lo curioso es que, si vuelves al método de hace 2 años y pones explícitamente un prompt de CoT, vuelve a aparecer todo el prompt de pensamiento
Así que basta con desactivar por completo la función de pensamiento y, en su lugar, incluir el razonamiento dentro del prompt normal, algo así:
“Antes de responder, piensa paso a paso. Por ejemplo:
El usuario me está pidiendo …
Debo pensar blah blah. Primero tengo que foo the bar, y después debo hacer blah blah
Respuesta: ”
Y entonces, tada.wav, el CoT vuelve a funcionar como en la era de GPT-3
Creo que los bloques de razonamiento de cadena de pensamiento no corresponden demasiado al razonamiento en el sentido humano de pensar
Basta con ver las preguntas planteadas por el “razonamiento difícil de leer” en la sección 6.2.2 de la system card de Fable/Mythos y por el paper de Apple “The illusion of thinking”
Pensaba que ocultaban los bloques de razonamiento porque los usuarios se sorprenderían si vieran lo que realmente ocurre por dentro
Si yo viera lo que realmente pasa dentro de la cabeza de mis colegas, probablemente también me sorprendería
A la inversa, a veces había ideas útiles ahí dentro que no aparecían en la respuesta
Hace tiempo dejé una nota breve de que DeepSeek R1 producía rastros de pensamiento de este tipo
“(Dimethyl(oxo)-lambda6-sulfa雰囲idine)methane donate a CH2rola group occurs in reaction, Practisingproduct transition vs adds this.to productmodule. Indeed"come tally said Frederick would have 10 +1 =11 carbons. So answer q Edina is11.”
Y luego concluía con la respuesta ‘correcta’ al problema de química
Entonces, aunque para el lector el rastro de pensamiento puede parecer una cadena de texto bastante sin sentido, todavía no está claro si eso es una rareza de ese modelo o una propiedad general de los LLM
Hablé de esto con el autor hace tiempo, pero como el paper iba a salir en un lugar como NIPS, olvidé hacer seguimiento después; si alguien lo encuentra, estaría bueno que lo comparta
0: https://wiki.roshangeorge.dev/w/Blog/2025-10-12/Word_Magic#I...?
1: Supongo que en el sentido de una creencia verdadera
Sí, varios modelos piensan de una forma parecida a jerga técnica extraña
Aquí hay un ejemplo del pensamiento de Mythos cuando juega solitario: https://www.lesswrong.com/posts/wCSEpT3dTGz4N86Wi/even-illeg...
“7♣-removal-IS-the-prerequisite-for-10♠/9♥!!)-⟹-OVERLAP-(ii)+(iv):-{6♠ J♦ 9♥ 2♣}-=-FOUR--—-UNLESS-7♣'s-seat-8♥-...-and-2♣-drains-only-at-crack-:-⟹-2♣-celled-+-9♥-celled-simultaneously-UNAVOIDABLE-in-t8-dig--—-BREAK:-9♥”
Esto está un poco más cerca del neuralés (neuralese), una etapa en la que el modelo deja de pensar en inglés y pasa a pensar en su espacio vectorial interno
Como se serializa en texto, no es verdadero neuralés, pero va en esa dirección
Cuando escribo código, mi propio proceso interno también tiene muchas etapas intermedias que me cuesta expresar en inglés, así que en cierto grado empatizo con los modelos
¿No será simplemente ruido de tokens producido por una implementación rota o por la cuantización del modelo?
Me pasó que el modelo escupiera ese tipo de tonterías, y cada vez resultó ser un bug de llama.cpp o un
.ggufdañadoEn HN la antropomorfización es tabú, pero vale la pena mencionar que hay quienes creen que los humanos también hacen racionalización a posteriori
https://www.patheos.com/blogs/tippling/2013/11/14/post-hoc-r...
https://www.researchgate.net/publication/316045349_Post_Hoc_...
Primero pensamos de forma no verbal y luego verbalizamos a posteriori una justificación plausible
No sé bien si eso también aplica a la escritura discursiva
Al escribir, básicamente usamos reglas lógicas para decidir la dirección de la narrativa, así que las heurísticas no verbales seguramente siguen operando, pero al estar restringidas no parecería ser algo completamente a posteriori
Es amargo ver que Anthropic oculte así sus propios datos, mientras absorbe todos los de ustedes y mucha gente se los entrega de buena gana
Y luego hace sus productos, invade el mercado y compite
Anthropic oculta sus tokens de razonamiento porque cree que son su foso defensivo y que les dan ventaja frente a otros laboratorios
Si de verdad cree que esa es su ventaja, se va a llevar una sorpresa
Me intriga de qué producto exactamente dices que “absorbieron”
¿De verdad estás diciendo que el contenido de
reasoning_summaryes un resumen?Para referencia, OpenAI hace exactamente lo mismo, así que no es nada sorprendente ni especialmente malvado
Se esfuerzan tanto por ocultar el pensamiento, pero Opus 4.8 empieza a filtrar su propio pensamiento después de 100 mil a 200 mil tokens
Es realmente una comedia
Sobre todo porque normalmente estoy jailbreakéandolo con fines de seguridad, así que todavía más
Te salen páginas y páginas de cosas como “el usuario está pidiendo algo relacionado con ciberseguridad, y esto podría redirigirse fácilmente a usos ofensivos, así que hay que tener cuidado”, y al final igual te da con gusto lo que querías