Local primero · Rust · LLM locales

Un resumen matutino que
se mejora cada día.

ibrief compone durante la noche un resumen curado, hecho a medida de una persona concreta — y luego mide qué fue realmente útil para adaptarse. Cinco minutos de señal en vez de horas de ruido. Totalmente local en una máquina Apple Silicon.

  • crecer
  • estar al día
  • decidir bien
  • mejores conversaciones

Filosofía de diseño

La memoria es el producto — no el modelo.

ibrief adopta una postura «LLM-OS»: el LLM es un núcleo de cómputo intercambiable, el valor reside en el estado persistente y versionado. La automejora va con correa — proponer, verificar contra retroalimentación real, asegurar, adoptar, revertir.

// intercambiable

Modelo ≠ dependencia

Solo se aprenden artefactos de datos — pesos, prompts, fuentes. Nunca el código de la aplicación. La configuración sobrevive a cualquier cambio de modelo.

// control de autonomía

Con correa

Cada cambio propuesto pasa una barrera de seguridad antes de ser el valor por defecto. Verificar es más barato que generar — proponer mucho, adoptar poco (solo lo comprobado).

// anti-burbuja

El engagement no es la meta

Un optimizador de engagement ingenuo te hace más cómodo pero más tonto. ibrief sacrifica deliberadamente la puntuación a corto plazo para preservar diversidad e invariantes anti-burbuja.

// autoresearch acotado

Profundidad, controlada

La investigación en varios pasos (estilo Karpathy) es potente pero cara y propensa a alucinaciones — por eso es un módulo con presupuesto y citas obligatorias, no un agente suelto.

El círculo de automejora

Entregar → Feedback → Evaluar → Aprender → Asegurar.

El mismo bucle corre cada noche. Lo útil se refuerza; lo demás se desvanece — dentro de límites de seguridad estrictos.

01

Entregar

componer y enviar el resumen

02

Feedback

👍/👎 con botones de Telegram

03

Eval

conducta + juez + estructura

04

Aprender

pesos · prompts · fuentes

05

Barrera

comprobar · adoptar · revertir

↺ La puntuación de conducta es la verdad de referencia; el juez LLM ayuda sobre todo en el arranque en frío y se calibra contra el feedback real.

Tres ejes, cada uno protegido

La automejora no es una función — son tres.

EjePalancaSalvaguarda
Pesos
fuentes y temas
Bandido multibrazo (Thompson / muestreo Beta) con un suelo de exploración [0.2, 2.0]
Barrera de seguridad: límites + diversidad de fuentes (máx. 50 %), versionado, reversión
Prompts
p. ej. síntesis del TL;DR
Un LLM optimizador genera variantes; una prueba en sombra puntúa ambas con la misma entrada
Se adopta solo con un margen claro del juez; versionado de prompts + registro de experimentos
Fuentes
registro de feeds
Puntuación de calidad desde feedback + frecuencia de selección; se retiran las débiles
Vigía de deriva (HHI): si se estrecha, se suspende la poda — amplitud antes que puntuación

El pipeline nocturno

Del feed bruto al resumen curado.

IngestaDedup.EnriquecerScore (pesos)CurarTL;DR (prompt aprendido)RenderPersistirEnviar

El nivel masivo (resumir, etiquetar) corre en un modelo pequeño y rápido, el nivel de síntesis (curación, juez) en un modelo de clase 70B — ambos locales. Todo el ciclo de aprendizaje corre de noche prácticamente gratis; un modelo de frontera solo se usa de forma opcional para calibrar el juez mediante una suscripción existente (claude -p).

Anatomía de un resumen

Tres secciones con intención clara.

Las dos últimas no pueden eliminarse mediante personalización. El bucle de aprendizaje no puede optimizarte hacia una burbuja cómoda.

Destacados

Las noticias más importantes del día — personalizadas mediante los pesos aprendidos. Más «Las 3 cosas de hoy» como resumen ejecutivo.

Contrapunto fijo

Un contraargumento serio y presentado con honestidad (steelman) frente a tu propia posición — para conocer el otro bando en la conversación en lugar de argumentar dentro de la burbuja.

Comodín fijo

Un artículo real deliberadamente sorprendente, fuera de tus intereses habituales — preferiblemente de una fuente que no entró en la selección principal.

Hoja de ruta — totalmente implementada

Seis hitos, cada uno útil por sí mismo.

M1

Resumen estático

Ingesta → Enriquecer → Curar → Render contra Ollama local.

M2

Persistencia y feedback

SQLite (sqlx), dedup., registros de resumen; envío a Telegram con botones 👍/👎.

M3

Motor de evaluación

Puntuación de conducta + juez LLM frente a una rúbrica versionada + comprobaciones estructurales deterministas.

M4

Aprendizaje: pesos

Bandido de Thompson sobre fuentes/temas, barrera de seguridad, versionado de config y reversión.

M5

Aprendizaje: prompts

LLM optimizador + prueba en sombra; primitiva de decisión A/B temporal.

M6

Evolución de fuentes + AutoResearch

Puntuación, poda, vigía de deriva; bucle de investigación profunda acotado con verificación de citas.

Inicio rápido

Local en dos minutos.

Requisito: Ollama con un modelo masivo y uno de síntesis. En hardware más modesto, basta con poner modelos más pequeños en config/profile.toml.

# descargar modelos
ollama pull qwen2.5:14b      # nivel masivo (enriquecer)
ollama pull llama3.3:70b     # nivel de síntesis (TL;DR, juez)

# componer un resumen
cargo run -p ibrief-app                 # = brief

# aprender y optimizar
cargo run -p ibrief-app -- eval       # puntuar el resumen de hoy
cargo run -p ibrief-app -- learn      # aprender pesos (Thompson + barrera)
cargo run -p ibrief-app -- optimize   # mejorar el prompt del TL;DR con prueba en sombra
cargo run -p ibrief-app -- sources evolve   # puntuar fuentes + vigía de deriva
cargo run -p ibrief-app -- research "¿Qué hay de nuevo en LLM locales?"

Pila técnica

Rust 1.95 · Edition 2024Tokio asyncOllama LLM localessqlx + SQLitefeed-rs ingestareqwest API de Telegramrand_distr Thompson12 crates · CI en verde

FAQ

Preguntas frecuentes.

¿Qué es ibrief?

Un resumen matutino personalizado que se mejora solo. Compone un resumen curado durante la noche y se adapta a diario a la retroalimentación medida — totalmente local en Rust, con LLM locales vía Ollama.

¿Cómo se mejora ibrief a sí mismo?

En tres ejes protegidos: pesos (bandido de Thompson), prompts (prueba en sombra) y fuentes (puntuación más un vigía de deriva). Cada cambio pasa una barrera de seguridad y queda versionado y reversible.

¿Cómo evita ibrief la burbuja de filtro?

El engagement no es el objetivo de optimización. Dos secciones — Contrapunto y Comodín — no se pueden desactivar, y un vigía de deriva impone la diversidad de fuentes, incluso a costa de la puntuación a corto plazo.

¿Necesito una API en la nube?

No. ibrief corre totalmente local con Ollama. Un modelo de frontera en la nube es opcional y solo se usa para la calibración periódica del juez mediante una suscripción existente (claude -p).