Agentes híbridos: razonar en latente, actuar en texto
Los agentes híbridos pasan el razonamiento al espacio latente y recortan tokens un 35–55%. Ganancia en eficiencia y coste en interpretabilidad.

Aquí tienes una verdad incómoda sobre los agentes basados en LLM: la mayoría de los tokens que producen son relleno caro. Un agente de razonamiento que resuelve un problema de matemáticas escribe alegremente “vamos a releer la pregunta” y “hasta ahora he encontrado que...” a coste completo de inferencia, gastando el mismo cómputo en carraspeos retóricos que en la aritmética real. El razonamiento latente (hacer el pensamiento dentro de los estados ocultos del modelo en lugar de en texto) siempre ha sido la solución obvia, y un nuevo artículo sobre Hybrid Reasoning Agents demuestra que por fin es práctica. Pero la solución obvia tiene un precio que a nadie en este campo le gusta pagar: ya no puedes leer lo que el modelo está pensando.
Llevo años viendo a equipos intentar abaratar la cadena de pensamiento. Todos los enfoques chocan con el mismo muro, y merece la pena entender por qué el enfoque híbrido es distinto y por qué, aun así, no lo desplegaría en ningún sitio donde no me pueda permitir un fallo silencioso.
Por qué la cadena de pensamiento basada en texto desperdicia tokens
La cadena de pensamiento fue un descubrimiento genuinamente genial. Dejas que el modelo escriba los pasos intermedios y la precisión en matemáticas, lógica y preguntas de múltiples saltos se dispara. El problema es que el lenguaje es un pésimo formato de serialización para el cálculo. Las palabras son imprecisas, redundantes y (y esto es crucial para tu factura de inferencia) secuenciales.
Piensa en lo que pasa cuando un modelo “reformula el problema” antes de resolverlo. Son unos cientos de tokens generados uno a uno, cada uno requiriendo una pasada completa hacia delante, y el contenido informativo es prácticamente nulo: el enunciado ya está en el contexto. Los modelos de razonamiento actuales están llenos de esto. Quien haya visto una traza de razonamiento de un modelo de última generación ha visto párrafos de autoafirmación, reformulación y rodeos que un ingeniero humano llamaría ruido. En tareas agénticas con llamadas a herramientas es peor: el modelo narra lo que va a hacer, lo hace y luego narra lo que acaba de hacer.
La economía se agrava a escala de agente. Un agente que hace diez llamadas a herramientas con un preámbulo de razonamiento detallado antes de cada una puede gastar el 80% de su presupuesto de tokens en narración. Si pagas por token (y lo haces), eso es dinero real. También es latencia, lo que importa muchísimo en agentes que las personas están esperando. Es la misma presión que impulsa la búsqueda de niveles de inferencia más baratos y rápidos: el cuello de botella no es la inteligencia, sino el coste de expresarla en palabras.
Intentos fallidos: truncamiento, destilación y razonamiento latente puro
El campo ha atacado esto desde tres direcciones, y cada una falló de una forma instructiva.
Intento 1: simplemente generar menos tokens
Forzado de presupuesto, penalizaciones por longitud, ajustes finos para razonar de forma escueta: el enfoque ingenuo es hacer que el modelo piense menos en texto. Funciona hasta cierto punto y luego la precisión se desploma. La traza verbosa no es desperdicio puro; parte de esa aparente redundancia sostiene carga. Comprimir a ciegas tira el cómputo junto con el relleno, y desde fuera no puedes distinguir uno de otro.
Intento 2: razonamiento latente puro
La idea más elegante: no producir tokens de pensamiento en absoluto. Realimentar los embeddings de salida del modelo como entradas (un “vector de pensamiento” continuo en lugar de palabras discretas) y dejar que razone internamente durante muchos pasos antes de emitir una respuesta. Investigaciones como COCONUT mostraron que esto puede igualar o superar a la cadena de pensamiento textual en algunas tareas, con una fracción de las pasadas hacia delante. Pero el razonamiento latente puro tiene dos problemas fatales para los agentes. Primero, el mundo externo habla texto: las APIs de herramientas reciben argumentos de cadena, los buscadores reciben consultas, los usuarios quieren respuestas en prosa. Un modelo que piensa solo en vectores aún tiene que traducir todo en la frontera, y ahí es donde se esconden los errores. Segundo, y este es el que la gente discute, el pensamiento se vuelve una caja negra. Pierdes la traza de razonamiento por completo, que es actualmente nuestra única ventana medio decente para entender por qué un modelo hizo lo que hizo.
Intento 3: tokens de pausa y cómputo de relleno
Una línea de trabajo más discreta intentó insertar tokens de “pausa” sin significado para dar al modelo cómputo extra sin contenido extra. Los resultados fueron como mucho mixtos y nunca salió del laboratorio. Resulta que el contenido de los tokens intermedios importa para dirigir el cómputo, no solo su existencia.
Lo que sí funciona: agentes de razonamiento híbrido
El artículo HybridAgent adopta la postura pragmática que echo de menos en más investigación: dejar de elegir entre razonamiento latente y textual, y permitir que el modelo cambie entre ambos a mitad de la generación. Piensa en latente cuando haces cómputo interno; cambia a texto cuando necesites llamar a una herramienta, leer su salida o explicarte a una persona.
La arquitectura tiene tres piezas que merecen entenderse. Un módulo ligero llamado HybridLink gestiona las transiciones: convierte el estado oculto final de un segmento latente en algo desde lo que el modo texto puede continuar, y viceversa. Una memoria de trabajo continua mantiene el contexto híbrido completo entre turnos, de modo que los pensamientos latentes del turno uno siguen disponibles en el turno cinco en lugar de colapsar en el resumen textual. Y en el lado del entrenamiento, dos etapas: HybridSFT enseña al modelo base a coordinarse con HybridLink, y luego HybridRL usa aprendizaje por refuerzo para enseñarle cuándo merece la pena cada modo por su coste.
Esa última parte es, en mi opinión, la contribución real. El problema difícil nunca fue “¿puede un modelo razonar en espacio latente?”, porque ya sabíamos que sí. El problema difícil es la política: qué partes de una tarea merecen cómputo opaco y barato y cuáles merecen texto caro e inspeccionable. Aprender esa política con RL, contra recompensas reales de la tarea, es lo que te da algo que funciona en lugar de algo que solo queda bien en una demo.
Las cifras reportadas son sólidas: en 11 benchmarks que abarcan matemáticas, ciencia, medicina, búsqueda y razonamiento agéntico, el agente híbrido afirma una mejora de rendimiento de alrededor del 10% frente a las líneas base textuales y latentes, con una reducción de tokens del 35–55%, una inferencia de 1.8–2.6x más rápida y un ahorro de costes de unas 3x. Hay que tomar con cautela las afirmaciones de benchmarks de un solo artículo (los benchmarks suelen no reflejar cómo son las cargas de trabajo reales), pero la dirección del resultado encaja con la teoría. Si la mayor parte de una traza es relleno, eliminar la mayor parte de la traza debería eliminar sobre todo coste, no capacidad.

Cómo se ve el razonamiento latente en código
Mecánicamente, el truco es más simple de lo que suena. En modo texto, muestreas un token, lo embebes y lo realimentas. En modo latente, omites el muestreo y realimentas el vector de salida del propio modelo (quizá pasado por una pequeña proyección) directamente como siguiente entrada. Un token de control especial o una puerta aprendida decide en qué modo estás. Esquemáticamente:
def hybrid_step(hidden_state, mode_gate, hybrid_link):
mode = mode_gate(hidden_state) # learned: LATENT or TEXT
if mode == LATENT:
# No sampling. Feed the continuous thought back in.
next_input = hybrid_link.latent_in(hidden_state)
return next_input, None # nothing human-readable emitted
# TEXT mode: normal autoregression
logits = lm_head(hidden_state)
token = sample(logits)
next_input = hybrid_link.text_in(embed(token))
return next_input, token # inspectable output
El sistema real añade la memoria de trabajo y la maquinaria de entrenamiento, pero este es el bucle central. Fíjate en lo que implica para tu pila de servicio: los pasos latentes siguen siendo pasadas completas hacia delante. Ahorras en número de tokens (longitud de salida, crecimiento del contexto, presión sobre la caché KV de trazas largas), no en cómputo por paso. La aceleración de más del doble en inferencia viene sobre todo de secuencias más cortas y de menos decodificación autoregresiva de texto, no de pensamiento gratis. Un comentarista del artículo sugirió ir más lejos y ejecutar la ruta latente en paralelo con la generación de texto, ya que de todos modos pagas la pasada hacia delante. Es una idea genuinamente interesante, y dice mucho de lo joven que es este espacio de diseño.
El coste de interpretabilidad que nadie quiere pagar
Ahora la parte que sería negligente omitir. La traza de razonamiento no es solo una comodidad para depurar: es un mecanismo de seguridad. Cuando un agente hace algo raro en producción, lo primero que haces es leer su traza. Cuando los investigadores de alineamiento buscan comportamiento engañoso, buscan razonamiento que contradiga la respuesta final. Si mueves el razonamiento a vectores, ambos flujos de trabajo se quedan a oscuras.
El artículo afirma que la memoria de trabajo continua hace que los pensamientos latentes sean “directamente inspeccionables”. Yo lo catalogaría como técnicamente cierto y prácticamente engañoso. Puedes inspeccionar los vectores como cualquier estado oculto: con clasificadores de sondeo, proyecciones del decodificador, análisis de vecinos más cercanos en el espacio de embeddings. Eso es herramienta de nivel de investigación, no un flujo de guardia. Es la diferencia entre leer un archivo de log y adjuntar un depurador a un volcado de memoria. Algunos llevamos un tiempo escépticos ante las exageraciones sobre interpretabilidad, y un búfer de memoria de trabajo no cambia la asimetría fundamental: el texto es legible para cualquiera, los latentes son legibles para casi nadie.
Hay además un modo de fallo menos comentado: la propagación silenciosa de errores. En una traza de texto, un paso intermedio erróneo es visible y a veces se autocorrige, porque los modelos detectan sus propios errores al releerlos. Un pensamiento latente erróneo se propaga por la memoria de trabajo sin ninguna huella textual. La respuesta final del agente luce igual de fluida tanto si su deliberación latente fue sólida como si fue basura. Para los equipos que ejecutan agentes en producción, esto conecta directamente con el compromiso entre contención y monitorización: los agentes híbridos te empujan hacia la contención, porque la monitorización se ha vuelto mucho más difícil.
En la discusión sobre este artículo se señaló que el razonamiento latente era informalmente tabú en algunos sectores de la comunidad investigadora precisamente por estas razones. Ese tabú claramente ha terminado. No creo que eso sea automáticamente malo, pero quienes celebran las cifras de eficiencia deberían ser honestos sobre que están gastando interpretabilidad para conseguirlas.
La brecha entre el artículo y tu GPU
El código, los pesos y los datos son públicos, lo cual es genuinamente genial. También produjo una comprobación de realidad inmediata. En cuestión de horas, quienes ejecutaban los modelos publicados en local reportaron comportamientos degenerados: una versión cuantizada de 8B se quedó repitiendo para siempre el mismo párrafo de razonamiento textual ante “¿quién es el papa?”, y una versión de 14B estuvo cinco minutos dando vueltas con variaciones del mismo párrafo en una tarea rutinaria de buscar y resumir que los modelos comparables resuelven sin problemas.
Puede que sean artefactos de cuantización o desajustes de plantilla de chat; el soporte de llama.cpp para una arquitectura recién salida siempre es una lotería. Pero sospecho que el fallo de bucle no es casual. El cambio de modo es un comportamiento aprendido, y los comportamientos aprendidos son justo lo que la cuantización y el desplazamiento de distribución rompen primero. Un modelo cuya política latente-texto está ligeramente desajustada no falla de forma ruidosa; falla por nunca decidir dejar de pensar. Eso es un modo de fallo mucho peor para un agente en producción que una respuesta incorrecta, porque consume presupuesto indefinidamente. Si estás construyendo bucles de agentes hoy, esto es un argumento más para poner límites estrictos de turnos y de tokens en cada llamada al modelo (la disciplina que se describe en cómo las CLI agénticas estructuran sus bucles), independientemente del paradigma de razonamiento que adoptes.

¿Te debe importar? Veredicto de un pragmático
Sí, pero como señal de dirección, no como dependencia. Mi lectura honesta:
- El argumento de eficiencia es real y estructural. El texto es un mal medio para el cómputo interno, y a medida que los agentes tengan horizontes más largos, el impuesto en tokens de la narración solo crecerá. Alguna forma de razonamiento latente llegará a los modelos de producción nos guste o no; quizá el enfoque de “resúmenes de razonamiento” opacos de los laboratorios punteros ya sea un paso en este camino.
- El coste de interpretabilidad también es real y actualmente está infravalorado. Si tu caso de uso exige auditar por qué actuó un agente (medicina, finanzas, cualquier ámbito regulado), las trazas de texto son una funcionalidad que renuncias bajo tu propio riesgo.
- Los artefactos actuales son de nivel investigación. Bucles degenerados con prompts sencillos, comportamiento incierto de cuantización y una política de cambio de modo que no puedes inspeccionar fácilmente no son cosas que pongas detrás de una API orientada al cliente.
- El planteamiento híbrido es el correcto. El razonamiento latente puro nunca iba a sobrevivir al contacto con las APIs de herramientas ni con los usuarios; el razonamiento puramente textual no puede sobrevivir al contacto con la factura de inferencia. Una frontera aprendida entre ambos es donde esto acabará.
El punto más profundo es que “pensar con palabras” siempre fue un accidente de cómo entrenamos estos modelos, no una ley de la cognición. No hay ningún teorema que diga que el lenguaje es la granularidad correcta para el pensamiento de una máquina; la sorpresa es que funcionó tan bien como funcionó. Los agentes de razonamiento híbrido son el primer esbozo creíble de lo que viene después: modelos que deliberan en privado y solo hablan cuando hablar es el trabajo. Si podemos construir ese futuro sin perder la capacidad de verificar el trabajo de la máquina es, diría yo, la pregunta abierta más importante del diseño de agentes ahora mismo.


