PI-Radar: un servicio de ingestión de sumarios de noticias de la industria
En Principia Informática nos propusimos construir un software que nos ayude a darle seguimiento al alud de noticias de nuestra industria. Para eso, nuestro Laboratorio construyó un servicio web que monitorea, clasifica y resume automáticamente las fuentes que nos importan, y las presenta en una página web disponible en cualquier momento. Adicionalmente, nos permite descargar el contenido de esa página web a modo de revista en formato Markdown, apropiado para procesarlo con Sonnet y generar notas sobre los temas de actualidad que nos interesa comentar.
Introducción
PI-Radar es un pipeline de ingestión que corre como servicio desatendido en una máquina virtual Ubuntu Server, levantada en segundo plano junto con la sesión de trabajo habitual en el host Windows. El servicio monitorea una lista curada de cuentas de X.com y una lista curada de canales RSS, procesa cada publicación nueva con Gemini 2.5 Flash en Vertex AI y la almacena en una base de datos local con su categoría, su resumen en español y su contexto de ecosistema.
El pipeline tiene cuatro etapas. La ingestión recorre las fuentes configuradas y extrae los ítems nuevos. La deduplicación descarta lo que ya fue procesado. La summarización invoca a Gemini con un prompt fijo y recibe un JSON estructurado con categoría, resumen y contexto. Esa información se persiste en una base de datos SQL local. La capa de presentación sirve el material más reciente en formato de página web escrolable, o como archivo Markdown descargable.
De ingestador de links a servicio unificado
El punto de partida no fue un diseño. Fue una práctica insostenible: guardar links mientras consumíamos noticias en X y en consolidadores como Slashdot o Wired, con la intención de procesarlos después. El procesamiento raramente ocurría. Los links se acumulaban sin ser leídos.
La intuición de fondo era que ese proceso podía automatizarse: si un modelo de lenguaje puede resumir un artículo técnico con criterio, también puede clasificarlo, extraer su relevancia y presentarlo en un formato consultable. El sistema se construyó en pocos días. La iteración posterior tomó más tiempo: ajustar el prompt de summarización, refinar la presentación de los ítems, incorporar la ingestión de X, agregar la descarga en Markdown.
El flujo de dos modelos
PI-Radar usa dos modelos con roles que no se solapan.
Gemini 2.5 Flash opera en background. Recibe el título y el contenido de cada publicación nueva y devuelve un JSON con cuatro campos: categoría, resumen en español, contexto de ecosistema e indicador de acción requerida. No genera texto para lectura humana directa; produce datos estructurados que el sistema almacena y sirve. Su trabajo ocurre sin intervención, cada vez que el ingester se dispara por el timer de systemd.
Sonnet opera bajo demanda. Recibe el Markdown descargado de PI-Radar — una selección de sumarios del período que nos interesa — y colabora en la redacción de notas sobre los temas que elegimos comentar. No ingesta, no clasifica, no corre en background. Es la herramienta de escritura en la segunda etapa del flujo.
La separación no es una decisión de arquitectura menor. Un solo modelo que hiciera ambas cosas no haría bien ninguna de las dos. Gemini resume rápido y a escala; Sonnet escribe con el contexto y la dirección editorial que le damos. Cada uno en su lugar.
Apuntes generales
PI-Radar es un experimento de laboratorio con un propósito concreto y acotado: resolver un problema de consumo de información que teníamos nosotros. No está pensado para terceros, no tiene pretensiones de producto, y corre en infraestructura local precisamente porque la información que procesa es nuestra y no tiene por qué salir de nuestra red.
Lo que el experimento confirma es algo que en otra columna argumentamos en abstracto: los LLMs ya son suficientemente capaces para trabajar de fondo, de forma desatendida, sobre tareas de clasificación y síntesis bien definidas. El prompt de summarización de PI-Radar tiene menos de treinta líneas. Con eso alcanza para producir sumarios que son útiles, que tienen criterio y que están en el idioma en que los queremos leer.
La presión del mercado empuja a adoptar herramientas de terceros para este tipo de necesidades. Nuestra preferencia, cuando el problema es abordable y el control importa, es construir. PI-Radar tardó pocos días en estar operativo. Lo que aprendimos en el camino vale más que lo que hubiera costado suscribirse a algo equivalente.
Stack base
PI-Radar corre sobre una máquina virtual Ubuntu Server administrada con VirtualBox, levantada en segundo plano en el host Windows 11 Pro. El pipeline está escrito en Python, sin frameworks web: el servidor HTTP está implementado directamente sobre la biblioteca estándar. La base de datos es SQLite en modo WAL. La deduplicación usa CRC32 sobre la URL canónica de cada ítem. El modelo de summarización es Gemini 2.5 Flash sobre Vertex AI, región us-central1, autenticado con service account. Las fuentes se configuran en archivos YAML: uno para los feeds RSS, otro para las cuentas de X. Los servicios corren como unidades systemd: un timer dispara la ingestión periódica, un servicio persistente atiende las consultas HTTP.