Experiencia · Contenido automatizado
Un flujo que busca por sí solo los temas del día, escribe el artículo, lo traduce a diecinueve idiomas y lo publica, pero solo después de pasar por una puerta de verificación que, cuando no puede verificar, no publica nada.
El motor está escrito, completo, y está en el propio repositorio de este sitio: ocho etapas, 1.706 líneas, un cronómetro de sistema que arranca diariamente a las 00:30 UTC. La parte que importa no es la generación, sino el gate: cinco verificaciones locales, diez expresiones prohibidas y una verificación adicional que busca nombres de clientes sin acuerdo, cifras inventadas y premios que no tenemos. Si el gate no puede ejecutarse, no se publica.
Ya construido«delivered», porque el trabajo existe como archivos que podéis abrir, no como descripción: `scripts/content-engine/` del repositorio megapromoting.com, 17 archivos, 1.706 líneas de TypeScript, unidad systemd con temporizador, ocho etapas enlazadas entre sí y registros de las ejecuciones. Con una reserva que la decimos nosotros, no la averiguáis vosotros: **la única ejecución completa en los registros no publicó ningún artículo.** La puerta las detuvo a las tres — dos porque la verificación no pudo ejecutarse en absoluto, la tercera por un campo faltante en el encabezado. `publish` quedó vacío, IndexNow recibió cero direcciones. La ejecución fue local, en la estación de trabajo, y duró dos horas y media, es decir, por encima del límite de 60 minutos puesto en la unidad systemd — así que en el servidor habría sido detenida. No podemos confirmar desde fuera que el motor funcione hoy en el servidor, y no lo afirmamos.
La automatización que escribe y publica sola es el lugar donde más fácil se promete lo que no se puede. Un modelo escribe mil palabras convincentes sobre cualquier cosa, incluso sobre cosas que no ocurrieron, y las escribe con la misma fluidez. Si entre el modelo y el botón de publicar no hay nada, has construido una máquina de poner errores en internet, en veinte idiomas, cada noche. Todo el trabajo está en lo que va en medio.
Nuestro flujo tiene ocho etapas. Reúne temas de fuentes abiertas, les da una nota de 0 a 100 por lo adecuadas que son, descarta todo lo que esté por debajo de 50, elige las primeras N con una regla de diversidad para que no salgan diez artículos sobre lo mismo, escribe el artículo en rumano, lo traduce a diecinueve idiomas, lo pasa por la puerta y solo entonces publica. Cada etapa escribe su coste y su resultado en un registro, para que una ejecución pueda reconstruirse después.
La puerta tiene dos capas. La primera es local y no cuesta nada: el encabezado debe existir y tener título, descripción y palabras clave; el texto debe superar 1.200 palabras; debe tener al menos tres subtítulos, al menos tres enlaces internos y una sección de preguntas con un mínimo de tres pares; y no puede contener ninguna de las diez expresiones de marketing que pusimos en la lista negra. La segunda capa es un modelo que busca otra cosa: nombre de cliente sin prueba de consentimiento, estadísticas inventadas, afirmaciones incorrectas sobre lo que podemos hacer nosotros, y premios que no tenemos — la lista de los reales está escrita en la verificación, y todo lo demás se señala.
Existe aprobación humana en cadena, y lo decimos como argumento, no como excusa. Los artículos que fallan las verificaciones duras se descartan, no se publican. Los que pasan duro, pero reciben señales de la segunda verificación, se conservan marcados, para que una persona los revise. Y si la verificación no puede ejecutarse — porque el servicio de modelos no responde, por ejemplo — el artículo se trata como fallido. Fail-closed, no fail-open. Eso fue lo que ocurrió en la única ejecución completa de los registros, y por eso no se publicó nada.