Caso · En producción
Un bot de Telegram que publica en el blog
Una consultora dicta lo que ha hecho y manda las fotos por Telegram, y el agente le monta la entrada del blog con la voz de su empresa. Ella solo aprueba.
Qué problema resuelve
El blog de una consultora de comercio exterior llevaba casi dos años parado, no por falta de material sino porque publicar exigía sentarse delante de un ordenador, y su responsable viaja. Lo que ya contaba por mensajería acaba ahora en su web.
Cómo funciona
- 01
Del mensaje al borrador
La persona dicta lo que ha hecho y manda las fotos. El agente redacta la entrada y sube las imágenes a la mediateca de la web.
- 02
Escribe como la empresa
Redacta a partir de las 72 entradas anteriores, no con una instrucción genérica: la entrada típica de esta empresa tiene unas 55 palabras, no las 800 que escribe un modelo por defecto. La voz de marca vive en un fichero de texto, no en el código.
- 03
Siempre como borrador
La entrada nace como borrador y solo se publica cuando la persona la aprueba. Es la web de un cliente en producción y equivocarse no cuesta lo mismo en un sentido que en otro.
- 04
Conversaciones que duran días
El estado de cada borrador se guarda: la conversación puede empezar un martes y aprobarse un domingo, y sobrevive a reinicios.
Qué se ve desde el móvil
La persona abre el chat del bot en Telegram y escribe «nuevo». Después manda lo que quiera contar, en los mensajes que quiera y a lo largo de los días que haga falta, y las fotos que tenga. Cuando lo tiene todo dice «listo» y el bot le devuelve el texto redactado, con el número de fotos, la foto destacada y las palabras que tiene. Si algo no le gusta, lo corrige con sus propias palabras («quítale la última frase») en lugar de usar un formulario. Cuando está bien, el bot lo deja en la web como borrador y ella decide cuándo publicarlo.
El stack, explicado
El «stack» es el conjunto de herramientas con las que está hecho. Aquí es deliberadamente austero:
- Python sin framework. La superficie que hacía falta eran cinco llamadas a Telegram, y un programa pequeño es más fácil de mantener y de revisar.
- Servicio del sistema en un servidor propio, con arranque automático y reinicio si se cae, para que funcione las 24 horas.
- SQLite, una base de datos de un solo fichero, para guardar el estado de cada borrador. Por eso una conversación puede empezar un martes, aprobarse un domingo y sobrevivir a un reinicio.
- API de WordPress con un usuario dedicado de permisos mínimos: puede subir fotos y crear borradores, y nada más.
- Un modelo de IA para redactar, alimentado con las 72 entradas anteriores del blog y con la voz de marca guardada en un fichero de texto. Afinar el tono no obliga a tocar el código ni a volver a desplegar.
Qué medimos y qué aprendimos
El dato de partida fue visible desde fuera: el blog llevaba casi dos años sin una entrada nueva, pese a que la empresa tenía material de sobra. El texto típico de esa empresa es corto, de unas 55 palabras, y por eso se alimentó al modelo con sus entradas anteriores en lugar de pedirle un artículo genérico de cientos de palabras.
Lo más útil lo enseñó el uso real, no las pruebas. Los cinco fallos encontrados fueron un «vale» que se interpretaba como una corrección y estropeaba el borrador, las fotos «como archivo» que se ignoraban, los mensajes que se perdían al reiniciar porque se confirmaba el mensaje a Telegram antes de procesarlo, el pie de foto que se perdía si iba en el mismo mensaje, y el más instructivo: el bot descartaba una respuesta correcta del modelo por no venir en el formato esperado y le decía a la persona que no había podido aplicar el cambio.
La segunda lección es de método: una corrección se probó contra el servicio real de IA y resultó estar mal, aunque las 57 pruebas automáticas seguían en verde. Una prueba que simula la respuesta del modelo no reproduce su criterio. Con un modelo de lenguaje en medio, hay que probar con el servicio real antes de entregar.
Límites honestos
- Está hecho a medida de un cliente y de su estilo; para otra empresa habría que recoger su voz de marca de nuevo.
- Depende de un servicio de IA externo y de la web del cliente: si alguno cae, el borrador queda guardado, pero la entrada no se crea hasta que vuelvan.
- Redactar es la parte fácil; lo difícil es que suene a la empresa, y eso se afina con sus propias entradas, no con instrucciones genéricas.
Con qué está hecho
- Python
- Telegram
- SQLite
- WordPress API
- Modelo de IA para redactar
Qué hicimos
- En producción en un servidor propio, las 24 horas.
- Las fotos pasan del móvil a la mediateca de la web con un usuario de permisos mínimos.
- 57 pruebas automáticas en verde.
- Se maneja con pocas órdenes: empezar un post, mandar texto y fotos cuando se quiera y a lo largo de varios días, pedir que se redacte, elegir la foto destacada, dejarlo como borrador en la web y publicarlo después.
- Antes de entregarlo se probó con el móvil en la mano y salieron cinco fallos que ninguna prueba automática había visto, entre ellos las fotos enviadas «como archivo» desde iPhone, que se ignoraban en silencio.
Qué no entraba
- No publica nada sin que la persona lo diga: la entrada nace siempre como borrador.
- No inventa contenido: redacta a partir de lo que se le dicta y se le manda.
¿Tienes un proyecto parecido?
Cuéntanos qué necesitas y te decimos cómo lo haríamos y si te sale a cuenta.
Hablemos