IA / LLMs

Cómo uso la IA para resumir boletines oficiales

Enrique Lopez · 24 marzo 2026

Un día normal, el BOE publica entre 50 y 100 entradas. El BDNS añade entre 100 y 300 convocatorias de subvenciones. Los boletines autonómicos contribuyen varias decenas más. En total, entre 200 y 500 entradas diarias de texto legal-administrativo que ningún ser humano tiene tiempo ni ganas de leer.

En Boletín Claro, uso LLMs para convertir ese volumen de información en resúmenes concisos que un autónomo o una pyme puede leer en 3 minutos con su café de la mañana. El reto no es "resumir texto con IA" (eso es trivial). El reto es hacerlo a escala, con coste controlado y con la calidad suficiente para que un usuario confíe en el resumen sin necesitar leer el original.

El problema de la escala

Resumir 300 entradas con un LLM es caro si lo haces de forma ingenua. Supongamos que cada entrada tiene una media de 2.000 tokens. Son 600.000 tokens de entrada al día. Con GPT-4o a $2.50 por millón de tokens de input, serían $1.50/día solo en input. Parece poco, pero hay que sumar los tokens de output, el hecho de que algunos textos son mucho más largos, y que esto se multiplica por cada alerta de cada usuario.

Si tengo 100 usuarios con 3 alertas cada uno y proceso las 300 entradas para cada alerta, estamos hablando de 90.000 llamadas al LLM al día. Obviamente, eso no escala.

Filtrar antes de resumir

La solución es un pipeline de dos fases: filtrado y resumen. El filtrado descarta el 85-95% de las entradas antes de que toquen el LLM.

Fase 1: Filtrado por relevancia

Cada usuario tiene alertas configuradas con una descripción en lenguaje natural, como "subvenciones para empresas tecnológicas en Madrid" o "licitaciones de servicios de limpieza en edificios públicos". El filtrado funciona en tres capas:

  1. Filtro por fuente: si la alerta solo monitoriza BOE y BDNS, descartamos directamente los boletines autonómicos. Esto es trivial pero elimina mucho volumen.
  2. Filtro por sección: las entradas del BOE están clasificadas en secciones (I. Disposiciones generales, II. Autoridades y personal, III. Otras disposiciones, etc.). Si una alerta busca subvenciones, solo nos interesan las secciones III y V.
  3. Filtro semántico: usamos embeddings para calcular la similaridad entre la descripción de la alerta y cada entrada. Solo pasan al LLM las entradas con una similaridad por encima de un umbral. Este umbral lo calibré empíricamente: 0.35 para recall alto (pocas entradas perdidas) pero suficiente para descartar lo claramente irrelevante.

El resultado: de 300 entradas diarias, una alerta típica pasa 10-30 al LLM. El coste se reduce un orden de magnitud.

Fase 2: Resumen con LLM

Las entradas que pasan el filtro se envían al LLM para generar un resumen. Aquí es donde el prompt engineering marca la diferencia.

Prompt engineering para texto legal

El texto administrativo español tiene características específicas que hacen que un prompt genérico funcione mal:

El prompt que uso sigue esta estructura:

Eres un analista de boletines oficiales españoles.
Genera un resumen conciso de la siguiente entrada.

REGLAS:
- Máximo 3 frases
- Incluye SIEMPRE: quién convoca, qué se ofrece, a quién va dirigido
- Si hay presupuesto, inclúyelo con cifras
- Si hay plazo, calcula la fecha límite a partir de la fecha de publicación
- Simplifica nombres de organismos (ej: "Consejería de Economía" en vez del nombre completo)
- NO uses lenguaje jurídico: escribe para un empresario, no para un abogado
- Idioma: español

FECHA DE PUBLICACIÓN: {date}
FUENTE: {source}
ENTRADA:
{content}

He iterado este prompt docenas de veces. Los ajustes más impactantes fueron: pedir explícitamente que calcule la fecha límite (antes daba el plazo en días hábiles, que es inútil para el usuario) y pedir que simplifique los nombres de organismos.

Coste real

Con el sistema de filtrado, los costes reales son mucho más razonables de lo que parece:

Concepto Volumen diario Coste estimado
Embeddings (filtrado) ~300 entradas $0.01
Resúmenes LLM (por alerta) ~15 entradas $0.02
Total por alerta/día - ~$0.03

Con 100 alertas activas, el coste de IA es de unos $3/día o $90/mes. Viable como coste de un SaaS con suscripción mensual.

Entrega por email

Una vez generados los resúmenes, se agrupan por alerta y se envían por email. El email es HTML con un diseño minimalista: cada resumen es un bloque con título, resumen de 2-3 líneas y un enlace a la fuente original.

La decisión de enviar por email (y no push notifications ni un feed in-app) fue deliberada. El público objetivo son pymes y autónomos que ya tienen el email como herramienta de trabajo. No necesitan instalar otra app ni acordarse de visitar otro dashboard. El email llega, se lee, se archiva o se actúa. Sin fricción.

El envío se hace con Amazon SES. Cada email se personaliza por alerta: si un usuario tiene una alerta de "subvenciones de digitalización" y otra de "licitaciones de consultoría", recibe dos emails separados. Probé agrupar todo en uno y los usuarios preferían la separación por tema.

Calidad y alucinaciones

La gran pregunta con cualquier sistema de IA generativa: ¿se inventa cosas? En el contexto de boletines oficiales, una alucinación no es solo molesta, es potencialmente dañina. Si el resumen dice que el plazo acaba el 15 de abril y en realidad acaba el 5, el usuario puede perder una subvención.

Mi estrategia para mitigar esto:

Lo que he aprendido

Después de meses procesando boletines con IA, mis conclusiones principales son:

Primero, el LLM es la parte fácil. El 80% del trabajo está en el pipeline anterior: extraer el texto limpio, filtrar lo relevante, estructurar el contexto. Si le das basura al LLM, te devuelve basura resumida.

Segundo, los costes de IA son gestionables si filtras bien. La mayoría de artículos sobre "costes prohibitivos de la IA" asumen que se procesan todos los datos con el modelo más caro. En la práctica, con un buen pipeline de filtrado, los costes son una fracción del hosting.

Tercero, los usuarios valoran más la cobertura que la perfección. Preferirían recibir un resumen "suficientemente bueno" de todo lo relevante antes que un resumen perfecto de solo el 50% de las publicaciones.

Si quieres probar cómo funciona el producto, puedes visitar la página de alertas con IA para ver ejemplos reales de resúmenes generados. Y si estás construyendo algo similar con LLMs sobre datos públicos, me encantaría intercambiar notas: me encuentras en LinkedIn.