Resumen del algortimo de X publicado por xAI
xAI ha publicado el algoritmo de X: qué revela sobre alcance, shadowbans y cómo funciona realmente el feed.
xAI ha publicado parte del algoritmo de X en GitHub y, aunque no se ha liberado todo el sistema completo, el código permite entender mucho mejor cómo se decide qué publicaciones se amplifican, cuáles mueren rápido y por qué algunas cuentas parecen entrar en una mala racha de alcance durante semanas.

La conclusión principal es clara: el algoritmo de X no funciona solo en base a likes, reposts o seguidores. Funciona sobre una combinación de señales de calidad, comportamiento del usuario, historial de la cuenta, tiempo de permanencia, riesgo de contenido, frescura del post y experimentos activos en el feed.
Y algunas de las implicaciones son bastante importantes para cualquiera que use X como canal de distribución.
Temas a tener en cuenta a la hora de usar X/Twitter
Cada cuenta tiene un “embedding” que condiciona su alcance
Uno de los puntos más relevantes es que cada cuenta tiene asociado un embedding: una representación interna en forma de vector numérico que resume cómo se comporta esa cuenta dentro de la plataforma.
Ese embedding funciona como una especie de huella digital algorítmica. No describe quién eres de forma humana, sino cómo te interpreta el modelo: qué temas publicas, qué tipo de engagement generas, con quién interactúas, qué señales positivas acumulas y también qué señales negativas provocas.
Esto importa porque el modelo puede utilizar esa representación para decidir si tus publicaciones merecen ser distribuidas a más usuarios.
Si tu historial es bueno, el sistema tiende a empujarte. Si acumulas señales negativas como bloqueos, silencios, reportes o usuarios marcando “no me interesa”, tu cuenta puede empezar a quedar penalizada de forma indirecta.
Lo más delicado es que ese embedding no se resetea de forma inmediata. Las señales pasadas siguen influyendo durante semanas. Por eso salir de una etapa de bajo alcance puede sentirse como intentar mover una rueda oxidada: no basta con publicar algo bueno una vez. Hay que reconstruir progresivamente la percepción algorítmica de la cuenta.
Además, el deterioro o la mejora del embedding no parece depender simplemente del paso del tiempo. Depende de que entren nuevas señales al sistema. Si dejas de publicar, las señales negativas anteriores no desaparecen solas: se quedan ahí, sin ser sobrescritas. Para mejorar, necesitas generar nuevo engagement positivo de forma sostenida.
Una mejora perceptible podría empezar a notarse tras seis u ocho semanas de buen comportamiento, y una recuperación más sólida podría requerir entre doce y dieciséis semanas, siempre que no sigas acumulando señales negativas durante el proceso.
Los primeros 30 minutos son críticos
El algoritmo da una importancia enorme al arranque de una publicación.
Si un post no consigue interacciones rápido, puede que ni siquiera llegue a ser evaluado en profundidad. Sin esa evaluación inicial, no obtiene una puntuación de calidad relevante y sus opciones de llegar a usuarios que no te siguen se reducen drásticamente.
Esto refuerza una idea muy clara: en X, el momentum inicial importa muchísimo.
Los primeros 10 o 30 minutos pueden decidir si una publicación entra en una fase de distribución más amplia o si queda enterrada antes de tener una oportunidad real.
La vida útil de un post es corta
El código apunta a una ventana máxima de edad del post de unas 80 horas:
POST_AGE_MAX_MINUTES = 4800
A partir de ahí, el contenido entra en una categoría de overflow, lo que en la práctica significa que se considera antiguo y pierde prioridad.
La mejor ventana de rendimiento está en las primeras 0 a 12 horas. Después de las 24 horas, el post ya compite desde una posición peor.
Esto confirma que X prioriza contenido reciente y conversación viva. A diferencia de plataformas como YouTube, donde el contenido evergreen puede seguir generando tráfico durante meses o años, X está diseñado para favorecer actualidad, reacción rápida y consumo continuo de novedades.
La ubicación del autor no parece penalizar directamente
Una preocupación habitual para creadores europeos que publican en inglés para audiencia estadounidense es si el sistema penaliza por ubicación.
Según el análisis del código, no parece haber una penalización directa por país del autor, IP o localización. El struct PostCandidate no incluiría campos de país del autor ni localización. El sistema de identidad de X devolvería información básica como número de seguidores y nombre de usuario, mientras que el transformer Phoenix vería principalmente un hash del author_id.
La conclusión práctica es importante: usar una VPN para “publicar desde Estados Unidos” no debería cambiar nada de forma directa.
Lo que sí puede perjudicarte indirectamente es el horario. Si publicas cuando tu audiencia objetivo está dormida, tu post envejece antes de recibir las señales iniciales que necesita. También importa el idioma del post, porque condiciona a qué audiencia puede interesarle y cómo lo interpreta el sistema.
Para una audiencia estadounidense, tendría sentido publicar entre las 8:00 y las 11:00 ET, que equivalen aproximadamente a las 14:00-17:00 en hora peninsular española.
Las señales negativas que matan el alcance
El modelo predice múltiples acciones posibles por publicación. Entre ellas hay señales positivas, pero también señales negativas que restan puntuación al contenido.
Las más relevantes son:
not_interestedblock_authormute_authorreportnot_dwelled
La última es especialmente importante. not_dwelled significa que el usuario pasa de largo sin detenerse en la publicación.
Esto cambia la forma de entender el alcance. No solo penaliza que alguien te bloquee o te reporte. También puede penalizar que mucha gente vea tu post y lo ignore.
Un contenido que aparece en el feed y no consigue detener al usuario puede ser peor para el sistema que un contenido que nunca llegó a mostrarse.
Los shadowbans existen, pero no son todos iguales
El código permite distinguir varios mecanismos que pueden limitar la visibilidad de una cuenta o publicación.
El primero es el hard drop: X elimina directamente el post del feed en casos graves, como contenido ilegal, abuso infantil o cuentas suspendidas.
El segundo es la etiqueta DO_NOT_AMPLIFY, literalmente una marca que indica que ese contenido no debe amplificarse. Si un post no puede ser monetizado o no debe aparecer junto a anuncios, el sistema tiene menos incentivos para distribuirlo.
El tercero son las reglas de BotMaker, una herramienta interna desde la que se pueden aplicar limitaciones a cuentas o contenidos. El código muestra categorías como Content, ContentLimited, Safety o Grok, aunque no revela a quién se aplican ni bajo qué criterios concretos.
El cuarto es el embedding deteriorado de la cuenta. Este es quizá el más difícil de detectar porque no depende necesariamente de una decisión manual. Si el modelo aprende que una cuenta genera malas señales de engagement, puede empezar a penalizar sus publicaciones futuras incluso cuando algunas de ellas sean buenas.
Ese tipo de penalización silenciosa explicaría por qué algunas cuentas sienten que están “marcadas” durante semanas.
Los posts originales son los que pasan por el filtro de calidad
Otra conclusión relevante: solo los posts originales pasan por el llamado “Banger Screen”, el clasificador de calidad de Grok.
Las respuestas y los retweets no entran en ese mismo proceso. Eso significa que si pasas el día respondiendo a cuentas virales, estás optimizando para otro sistema: el ranking de respuestas, no la amplificación de publicaciones originales.
Si tu objetivo es ser descubierto fuera de tu red, necesitas publicar contenido original. Responder puede servir para visibilidad táctica o networking, pero no sustituye una estrategia de publicaciones propias.
Las respuestas también se evalúan, pero de forma distinta
Las respuestas no son irrelevantes, pero se procesan de manera diferente.
Las respuestas a cuentas pequeñas pasan por un clasificador anti-spam específico. Las respuestas a cuentas grandes pueden ser evaluadas por Grok mediante el ReplyRanker, que puntúa la calidad de la respuesta.
Esto implica que respuestas vacías como “primero”, emojis sueltos o comentarios genéricos tienen poco valor e incluso pueden perjudicar. Si vas a responder, conviene aportar contexto, criterio, información o una perspectiva clara.
Responder por responder es una mala estrategia.
La mitad del tráfico puede estar en experimentos
Otro hallazgo relevante es que una parte significativa de las peticiones al feed pueden estar marcadas como tráfico “shadow” o experimental.
Esto significa que no todos los usuarios están viendo exactamente la misma versión del algoritmo. Algunas features contextuales, como inferencias demográficas, preferencias de temas o señales derivadas de Grok, pueden activarse solo en determinados contextos o bajo feature flags.
La consecuencia es que nunca puedes saber con precisión qué versión del sistema está evaluando tu contenido para cada usuario.
Esto explica por qué a veces el comportamiento del alcance parece errático: no solo compites contra otros posts, también estás dentro de una plataforma en experimentación constante.
El dwell time puede valer más que los likes
Una de las ideas más importantes para creadores: el tiempo que alguien se queda mirando tu post puede pesar mucho más que un like.
El sistema contempla varias señales relacionadas con dwell time: tiempo de permanencia, tiempo tras clic, tiempo de lectura continuada, entre otras. En cambio, el favorito o like es solo una señal más.
Esto significa que un post con muchos likes pero leído en un segundo puede tener peor rendimiento que uno con menos likes pero que consigue que la gente se detenga durante ocho o diez segundos.
La conclusión estratégica es clara: no optimices solo para likes. Optimiza para atención.
Eso cambia el tipo de contenido que conviene publicar. Funcionan mejor los posts que hacen que el usuario pare, lea, piense, abra el hilo mentalmente o interactúe con el contenido, aunque no siempre pulse “me gusta”.
Qué parece funcionar mejor en X
A partir del código, se pueden extraer algunas buenas prácticas bastante concretas.
- La primera es conseguir engagement en los primeros minutos. Comunidades, grupos privados, newsletters, compañeros o audiencias recurrentes pueden ayudar a generar las primeras señales que el sistema necesita.
- La segunda es publicar según la zona horaria de tu audiencia, no la tuya. Si tu público está en Estados Unidos, debes pensar en horario estadounidense.
- La tercera es evitar publicar muchas cosas seguidas. El sistema aplica diversidad de autores, por lo que varios posts consecutivos del mismo autor pueden verse penalizados progresivamente.
- La cuarta es usar vídeo con duración suficiente. Los vídeos demasiado cortos pueden no beneficiarse de ciertas señales específicas de calidad. Además, los vídeos con audio aportan más información porque Grok puede aplicar transcripción automática.
- La quinta es citar contenido viral de tu nicho con valor añadido real. Si el sistema ya sabe que el contenido original genera interés, una buena cita puede aprovechar parte de esa tracción, siempre que aporte algo nuevo.
Qué puede destruir tu alcance
También hay prácticas especialmente peligrosas.
- Los hilos demasiado largos, por ejemplo, parecen menos eficientes de lo que muchos creen. Si el sistema solo deja pasar una publicación por conversación en determinados contextos del feed, los megahilos pueden ser un desperdicio algorítmico.
- Repostear el mismo contenido tampoco ayuda, porque los filtros de deduplicación pueden detectarlo.
- El contenido genérico generado por IA también queda bajo sospecha. El hecho de que exista un campo como
slop_scoreindica que el sistema intenta detectar explícitamente contenido de baja calidad, repetitivo o artificial. - El contenido NSFW, violento o de odio sin etiquetar puede activar riesgo medio automáticamente. Y si un contenido no es apto para anuncios, su distribución puede verse afectada.
- Por último, spamear respuestas a cuentas pequeñas es especialmente mala idea, porque existe un clasificador específico para detectar ese comportamiento.
Lo que xAI no ha publicado
Aunque la publicación del algoritmo es importante, no significa que sepamos todo.
Se ha liberado parte del esqueleto, pero no necesariamente los elementos más sensibles del sistema.
- Faltan los valores numéricos exactos de muchos pesos, como
FavoriteWeight,ReplyWeight,OonWeightFactoroAuthorDiversityDecay. Esos valores pueden vivir en configuraciones externas. - Tampoco están los prompts reales de Grok, que podrían cambiar por completo la interpretación del contenido.
- No se conocen las reglas concretas de BotMaker ni cómo se aplican las etiquetas como
DO_NOT_AMPLIFY. - También faltan componentes relevantes, crates internos y los pesos de producción del modelo Phoenix. Lo publicado parece más una versión parcial que el sistema completo que opera en producción.
Dicho de otra forma: tenemos el mapa general, pero no todos los diales, pesos ni reglas internas.
X premia atención rápida, contenido original y señales limpias
La lectura general del algoritmo es bastante clara.
X no premia simplemente publicar mucho. Premia publicar contenido original que consiga atención rápida, que retenga al usuario, que genere señales positivas y que no acumule respuestas negativas.
También confirma algo que muchos creadores intuían: una mala racha de alcance puede tener explicación algorítmica. Si una cuenta acumula malas señales, puede tardar semanas en recuperar una posición favorable.
La estrategia ganadora en X no consiste en perseguir likes de forma aislada, sino en diseñar contenido que consiga tres cosas:
- Detener el scroll.
- Generar interacción temprana.
- Construir un historial positivo de cuenta.
La gran lección es que cada publicación no compite sola. Compite con el historial completo de tu cuenta, con el contexto del usuario, con la frescura del contenido y con un sistema que está experimentando constantemente.
Información basada en las publicaciones Github x-algorithm y su perfecto (y extenso) resumen en X/Twitter por Javi López (fundador de Magnific.ai ahora Magnific y antes Freepik).
