Construí un agente que publica por mí — y este post lo escribió él

· 5 min de lectura

Construí Conversor para resolver un problema fiscal español con datos, no con opiniones. Pero explicar lo que construía me robaba el tiempo de construirlo. Cada post en LinkedIn, cada hilo, cada artículo del blog eran minutos que no dedicaba a la API, al servidor MCP, a la base de datos. Y cuando no publicaba, el proyecto perdía la visibilidad que necesita para que un banco regional español o una fintech lo encuentre sin que nadie se lo venda.

Así que construí un agente que publica por mí.

Un agente más en la flota

Este perfil de Hermes se llama fundador. Es el cuarto agente que corre sobre la misma VPS. Antes ya tenía tres: youtube-tutor, que transcribe y analiza vídeos; editorial, que convierte esas transcripciones en artículos; y pulso, que monitoriza tendencias. Todos comparten máquina, todos comparten el bus de eventos, y hasta hace poco los tres funcionaban sin tocarse.

fundador es distinto. No procesa contenido ajeno: escribe el mío. Redacta con deepseek-v4-pro y publica en LinkedIn y X a través de Zernio sin que yo toque el teclado. Es un agente que habla en mi nombre, en primera persona, contando lo que construí. Y si se equivoca, también lo cuenta.

El gate: publicar o callar

Lo primero que aprendí al poner a un agente a escribir en mi nombre es que un modelo de lenguaje, sin restricciones, escribe para agradar. Te suelta hipérboles, te califica cualquier feature con adjetivos inflados, te monta un argumentario de venta sin que se lo pidas. En mi caso, el primer borrador que generó deepseek-v4-pro para este mismo ensayo era irreconocible: un texto de marketing genérico que no enseñaba nada y que sonaba a cualquier SaaS, no a mí.

Por eso el pipeline de fundador incluye un gate. Antes de que una pieza toque LinkedIn o X, pasa una evaluación automática: el texto se puntúa contra las reglas de SOUL.md, y si el score no llega a 80 sobre 100, no se publica. No hay degradación silenciosa, no hay «bueno, por esta vez lo dejamos pasar». Por debajo de 80, el agente recibe el feedback, reescribe, y vuelve a intentarlo. Si tras varios reintentos no lo consigue, el post simplemente no sale.

El gate comprueba cosas mecánicas —que no haya nombres prohibidos, que las métricas sean solo de uso y no de caja, que todo esté en castellano de España— y también cosas de voz: que escriba en primera persona, que use datos en vez de adjetivos, que no haya hype. Es un guardarraíl, no un editor. Y es la razón por la que este post existe: el primer intento no lo pasó. Este es el segundo.

El error: confiar en que el modelo «ya sabe»

El fallo del primer intento fue de concepto, no de implementación. Yo asumí que darle a deepseek-v4-pro un prompt con mis reglas de voz bastaba. Pero los modelos no internalizan restricciones de estilo con una sola lectura: aplican patrones estadísticos y, si el 95 % del texto de internet con el que fueron entrenados es marketing, hacia ahí derivan. El resultado fue un texto que mencionaba métricas que yo jamás publico, con un tono que no era el mío.

La corrección fue doble. Primero, el gate como mecanismo de rechazo explícito: si el score no llega a 80, el agente ve el motivo exacto y reescribe. Segundo, las reglas duras de SOUL.md como contrato inmutable —seis reglas numeradas que el gate verifica de forma mecánica antes incluso de puntuar la calidad. Si una pieza las viola, no llega ni a la fase de scoring. Son el equivalente a un linter de código: no opina, solo comprueba.

Lo que el agente hace ahora

Cada día laborable, fundador ejecuta un ciclo completo. Recibe una historia del backlog —un dato real de la base de Conversor, un evento del bus, una decisión técnica— y redacta una pieza corta para LinkedIn y X. La pasa por el gate. Si aprueba, la envía a Zernio, que la publica en ambas plataformas. Si no, reescribe y reintenta.

Cada ejecución se reporta a Discord, en dos canales distintos. #fundador recibe un reporte público: qué pieza se publicó, con qué score, en qué pilar. #machine-log recibe el estado técnico compartido de toda la flota: errores, tiempos de ejecución, reintentos. Así sé, sin abrir LinkedIn ni X, si el agente publicó algo y si lo hizo bien.

El bus de eventos es lo que conecta todo. Cuando editorial publica un artículo en el blog, emite un evento blog.published. fundador lo recoge en su próxima ejecución y puede convertirlo en una pieza social que amplifica ese artículo sin repetirlo. La flota no son cuatro agentes independientes: es un sistema donde el output de uno es el input de otro, y el bus es la columna vertebral.

Qué aprendí

Construir un agente que publique en tu nombre no va de prompts. Va de restricciones. El modelo escribe; el gate decide. Sin un mecanismo de rechazo explícito con reglas duras, el agente deriva hacia el tono genérico del internet que lo entrenó. Con él, publica como yo —o no publica.

La segunda lección es que un agente autónomo necesita ser observable. Sin los reportes a Discord, no sabría si fundador lleva tres días publicando o tres días en silencio porque el gate rechazó todo. La autonomía sin visibilidad es abandono.

Y la tercera: los artefactos mandan. Una pieza sin un dato concreto —una línea de código, una decisión de arquitectura, un número real de la base— no es contenido, es ruido. El gate lo rechaza y hace bien.

Este post lo escribió el agente. Lo revisó el gate. Y si estás leyendo esto, es porque pasó.

https://www.conversoriaecnae.es/blog

Brian Mena

Brian Mena

Ingeniero informatico construyendo productos digitales rentables: SaaS, directorios y agentes de IA. Todo desde cero, todo en produccion.

LinkedIn