Weight-space programming: GPT-6 Astra repara un Qwen a mano
Weight-space programming: GPT-6 Astra editó 131.072 pesos de Qwen3.5-0.8B y MATH-500 pasó del 7,9 % al 48,1 %. Qué es, en qué se diferencia y sus límites.

El 2 de noviembre alguien subió a Hacker News un post de blog sobre weight-space programming con un título raro: "Astra can read and write weights to improve Qwen". Ya pasa de 2.900 puntos y casi 900 comentarios.
Un comentario de kingstnap lo resumía así: "Friendship ended with AdamW. Astra take the wheel."
La cifra que lo encendió todo: un modelo pequeño de Alibaba, Qwen3.5-0.8B, pasó del 7,9 % al 48,1 % en MATH-500. Sin entrenar. Sin gradientes. GPT-6 Astra miró sus pesos, encontró el fallo y cambió 131.072 números. Los autores lo llaman weight-space programming.
Suena a magia. Yo me paré en la palabra "pesos". Porque cuando lees el experimento con calma, lo que ves no es magia. Es un bug fix.
En corto: weight-space programming es que un LLM lea y modifique directamente los pesos de otra red neuronal, sin optimizador ni descenso de gradiente. En el experimento de MIT CSAIL, GPT-6 Astra quitó a Qwen3.5-0.8B el hábito de quedarse en bucle editando el 0,016 % de sus pesos, y eso multiplicó por seis su nota en MATH-500. No le enseñó matemáticas nuevas: le quitó el obstáculo que le impedía terminar las respuestas.
¿Qué es weight-space programming?
Weight-space programming es la técnica en la que un modelo de lenguaje de propósito general lee los pesos de una red neuronal y los reescribe directamente para cambiar su comportamiento, sin entrenamiento ni información de gradientes.
El término lo acuñan Rikiya Takehi, Jayden Teoh, Alex Zhang y Omar Khattab, los cuatro de MIT CSAIL, en el post "Sparks of Weight-Space Programming", publicado el 2 de noviembre de 2026. Ojo con un detalle: es un post de blog en la web personal de Takehi, no un paper revisado. Los propios autores lo citan como "Blog post" en su BibTeX.
El trabajo tiene ocho experimentos numerados y uno adicional con Gemma. El de Qwen, el octavo, es el que ha corrido por todas partes, así que vamos a ese.
Cómo editó GPT-6 Astra los pesos de Qwen3.5-0.8B
La respuesta corta: encontró una dirección en el modelo asociada al bucle y la restó en dos capas.
El montaje fue este. Astra tenía un kernel de Python con acceso a los pesos, sin GPU, y un presupuesto de 10, 25 o 50 pasadas forward (lotes de 64 secuencias de media). Podía ejecutar el modelo, pero no entrenarlo: "no training or gradient information is allowed". Para practicar usó problemas de los conjuntos de entrenamiento de GSM8K (7.469) y MATH (7.275). Los benchmarks de evaluación nunca los vio.
El diagnóstico: Qwen3.5-0.8B, con el modo thinking activado, se queda dando vueltas. Repite el mismo texto hasta agotar el límite de 32.768 tokens. En la muestra inicial, 85 de 96 respuestas llegaban a ese tope.
Astra rastreó ese bucle hasta una dirección escrita por las MLP de las capas 15 y 19. La restó de 64 columnas de salida en cada una. Total: 131.072 pesos.
Las cuentas cuadran. El hidden size de Qwen3.5-0.8B es 1.024 según su model card, así que 64 columnas × 1.024 × 2 capas = 131.072. Y 131.072 entre unos 800 millones de parámetros da el 0,016 % que publican.
Estos son los resultados que reportan los autores (fuente: post original, 2 de noviembre de 2026):
| Configuración | MATH-500 | GSM8K | IFEval | Respuestas que agotan tokens |
|---|---|---|---|---|
| Qwen3.5-0.8B base | 7,9 % | 13,8 % | 21,0 % | 93,0 % |
| Astra, 10 pasadas | 12,3 % | 25,7 % | 49,0 % | 87,2 % |
| Astra, 25 pasadas | 14,1 % | 25,1 % | 39,9 % | 86,4 % |
| Astra, 50 pasadas | 48,1 % | 67,1 % | 62,3 % | 33,1 % |
Fíjate en la última columna. Casi toda la mejora en matemáticas sale de ahí. Cuando el modelo deja de dar vueltas, termina la respuesta. Y cuando termina, a veces acierta.
Weight-space programming vs fine-tuning, steering y destilación
Lo que hace distinto al weight-space programming no es la operación matemática. Es quién la decide: un LLM que razona sobre los pesos en vez de un optimizador o un humano.
| Técnica | Qué toca | ¿Gradientes? | Qué puede cambiar | Riesgo o limitación |
|---|---|---|---|---|
| Fine-tuning (LoRA, SFT, RL) | Pesos, vía entrenamiento | Sí | Comportamiento y conocimiento nuevo | Coste de GPU y datos; olvido catastrófico |
| Destilación | Pesos de un modelo alumno | Sí | Copia capacidades de un modelo mayor | Necesitas el maestro y mucho cómputo |
| Steering de activaciones | Activaciones en inferencia | No | Sesga el comportamiento en tiempo real | No persiste en el modelo; hay que inyectarlo en cada llamada |
| Abliteration | Pesos, proyectando fuera una dirección | No | Elimina un comportamiento (p. ej. rechazos) | Lo diseña un humano; puede dañar otras capacidades |
| Interpretabilidad mecanicista | Nada, en principio: analiza | No | Explica circuitos | Es caro y casi siempre manual |
| Weight-space programming | Pesos, editados por un LLM | No | Quita obstáculos de comportamiento | Sin pruebas de que añada capacidades; resultado de un solo equipo |
Si ya conoces la abliteration, el truco de Qwen te va a sonar. Encontrar una dirección asociada a un comportamiento y proyectarla fuera de los pesos es lo que propusieron Arditi y otros en "Refusal in Language Models Is Mediated by a Single Direction" en 2024. Lo nuevo es que esta vez la dirección la encontró un modelo, no una persona.
Lo que dice Hacker News: ¿avance o abliteration con mejor marketing?
El hilo de HN se partió en dos bandos, y el escéptico tiene argumentos serios.
El usuario theptip lo dijo sin anestesia: "This is not a new technique and doesn't shed any mechanistic understanding on how maths works." En el mismo comentario describe la parte de Qwen como una intervención de steering clásica, y varios usuarios más la compararon con la abliteration.
Otro usuario, pama, apunta al punto de partida: "I wonder if their broken baseline run with 7.9% accuracy is a vllm or setup bug". Admite que no lo investigó a fondo, pero la pregunta es buena: un 7,9 % con el 93 % de respuestas cortadas es una línea base muy baja, y mejorar desde ahí es mucho más fácil que mejorar un modelo sano.
Simon Willison repitió la parte de "leer sin herramientas" con Qwen 3.8 27B en local, que acertó tres de cuatro juegos a partir de los pesos de pequeñas redes. Aun así es prudente: separa leer pesos sin herramientas de editarlos con código, se queda solo con lo primero y admite que un humano con experiencia, lápiz y papel podría llegar al mismo sitio.
Mi lectura: el resultado está bien documentado, con los logs en GitHub y el modelo editado en Hugging Face. Lo que no se sostiene es que Astra "entienda" a Qwen. Hizo lo que haría un buen investigador de interpretabilidad: hipótesis, código para medir, prueba y quedarse con lo que funciona. Rápido y sin cansarse. Eso ya es mucho.
Límites de este enfoque
El primero lo marca el propio post. Con Gemma 3 270M, un modelo que casi nunca entra en bucle (solo el 8,5 % de sus respuestas agota el límite), MATH-500 pasó del 6,8 % a un máximo del 7,7 %. Ninguna edición movió la nota más de un punto. Editar puede quitar un obstáculo que escondía una capacidad, pero no añade una capacidad que el modelo no tiene.
El segundo: no hay replicación con otra configuración. Es un post de blog de un solo equipo. La única reproducción, la de Ahsen Khaliq en Hugging Face, rehace la misma edición a partir de los logs y saca un 51,0 % en MATH-500 (puedes probarla en su demo). Hasta que alguien repita el experimento con otra configuración y otra línea base, el 48,1 % es una cifra reportada por los autores, no un hecho establecido.
El tercero: necesita pasadas forward, y bastantes. Con 10 y 25 la mejora en MATH-500 fue modesta (12,3 % y 14,1 %); el salto llegó con 50. No es "mirar los pesos y arreglarlos"; es ejecutar y evaluar, como cualquier ajuste.
El cuarto: el post no da coste. No sabemos cuánto costaron en tokens de Astra esas 50 iteraciones frente a un LoRA corto. Sin esa cifra, decir que esto "sustituye al fine-tuning" es adelantarse.
Y el quinto: necesitas los pesos. Solo aplica a modelos open weights. Con una API cerrada no tocas nada.
Qué cambia el weight-space programming para quien construye con LLMs
Hoy, en tu día a día, casi nada. En tu forma de pensar los modelos pequeños, bastante.
Si un modelo pequeño en local se queda en bucle con el modo thinking, el problema puede no ser falta de capacidad, sino un comportamiento que la tapa. El propio model card de Qwen3.5-0.8B avisa de que, con thinking activado, es más propenso a entrar en bucle que el resto de la familia. Antes de saltar a un modelo mayor o hacer fine-tuning, revisa muestreo, límite de tokens y penalización por repetición. Y si te planteas ajustarlo, la pregunta de siempre sigue en pie: ¿RAG, fine-tuning o contexto?
Lo que sí deja este trabajo es un patrón: diagnóstico concreto, cambio mínimo y evaluación con datos que el agente nunca vio. Es la misma disciplina que necesitas cuando un agente toca tu código: quien hace el cambio no decide si está bien. Es lo que trabajamos en Construye con IA: el agente produce y la verificación queda fuera de él.
Sobre Astra, esto suma a la discusión de si GPT-6 Astra es AGI. Mi respuesta no cambia: es un investigador incansable con buen criterio en problemas acotados, no una mente que entiende las redes mejor que nosotros.
Hoy puedes hacer una cosa: abre el repositorio de logs y lee cómo razonó Astra con Qwen. No por el resultado, sino por el método. Si quieres llevar ese método a tus agentes, en el ebook gratuito El Developer Agéntico tienes la arquitectura completa, de las tools a la evaluación.
Preguntas frecuentes
¿Qué es weight-space programming en una frase?
Es que un LLM de propósito general lea los pesos de otra red neuronal y los modifique directamente, sin entrenamiento ni gradientes. El término viene del post "Sparks of Weight-Space Programming" (MIT CSAIL, 2 de noviembre de 2026).
¿Cuántos pesos cambió GPT-6 Astra en Qwen3.5-0.8B?
131.072, el 0,016 % del modelo: 64 columnas de salida de las MLP de las capas 15 y 19, con un hidden size de 1.024.
¿Weight-space programming sustituye al fine-tuning?
No, con lo publicado hoy. En Gemma 3 270M la edición no añadió capacidades, y los autores no comparan su coste con un LoRA o un ajuste con RL.
¿Es lo mismo que la abliteration?
La operación se parece mucho: proyectar fuera de los pesos una dirección asociada a un comportamiento, como en Arditi et al. (2024). La diferencia es que aquí la encontró un LLM de forma autónoma, no un investigador.
¿Se ha reproducido el resultado de MATH-500?
A 4 de noviembre de 2026 no hay una réplica del método con otra configuración. Lo que sí hay es una reconstrucción: Ahsen Khaliq (Hugging Face) rehízo el modelo editado a partir de los logs publicados y volvió a evaluarlo en el MATH-500 completo, con un 51,0 %. Eso confirma que la edición se puede reproducir, no que la línea base del 7,9 % sea representativa, que es lo que se discute en Hacker News.
Por Bezael Pérez — Developer senior con más de 15 años de experiencia, fundador de Dominicode y autor de cursos y libros sobre desarrollo con IA y agentes.
¿Quieres construir con agentes en serio?
Curso «Construye con IA» con Claude Code, de la idea al producto.
Developer con más de 15 años en frontend y creador de Dominicode. Escribe sobre IA aplicada al desarrollo de software.
¿Te resultó útil este artículo?
Compártelo con tu comunidad y ayuda a otros desarrolladores.