Local d'abord · Rust · LLM locaux

Un briefing matinal qui
s'améliore chaque jour.

ibrief compose pendant la nuit un briefing organisé, taillé pour une personne précise — puis mesure ce qui a vraiment été utile pour s'adapter. Cinq minutes de signal au lieu d'heures de bruit. Entièrement local sur une machine Apple Silicon.

  • progresser
  • rester à jour
  • bien décider
  • conversations riches

Philosophie de conception

La mémoire est le produit — pas le modèle.

ibrief adopte une posture « LLM-OS » : le LLM est un cœur de calcul interchangeable, la valeur réside dans l'état persistant et versionné. L'auto-amélioration reste tenue en laisse — proposer, vérifier face aux retours réels, sécuriser, adopter, revenir en arrière.

// interchangeable

Modèle ≠ verrouillage

On n'apprend que des artefacts de données — pondérations, prompts, sources. Jamais le code applicatif. La config survit à tout changement de modèle.

// curseur d'autonomie

Tenue en laisse

Chaque changement proposé passe une barrière de sécurité avant de devenir le défaut. Vérifier coûte moins cher que générer — proposer beaucoup, adopter peu (seulement le vérifié).

// anti-bulle

L'engagement n'est pas le but

Un optimiseur d'engagement naïf vous rend plus à l'aise mais plus bête. ibrief sacrifie volontairement le score à court terme pour préserver diversité et invariants anti-bulle.

// autoresearch encadré

La profondeur, maîtrisée

La recherche en plusieurs étapes (façon Karpathy) est puissante mais coûteuse et sujette aux hallucinations — d'où un module budgété, à citations obligatoires, pas un agent en roue libre.

Le cercle d'auto-amélioration

Livrer → Retour → Évaluer → Apprendre → Sécuriser.

La même boucle tourne chaque nuit. Ce qui a été utile se renforce ; le reste s'estompe — dans des limites de sécurité strictes.

01

Livrer

composer & envoyer le briefing

02

Retour

👍/👎 via boutons Telegram

03

Éval

comportement + juge + structure

04

Apprendre

pondérations · prompts · sources

05

Barrière

vérifier · adopter · annuler

↺ Le score comportemental fait foi ; le juge LLM sert surtout au démarrage à froid et se calibre sur les retours réels.

Trois axes, chacun sécurisé

L'auto-amélioration n'est pas une fonction — il y en a trois.

AxeLevierGarde-fou
Pondérations
sources & thèmes
Bandit manchot (Thompson / échantillonnage Beta) avec un plancher d'exploration [0.2, 2.0]
Barrière de sécurité : bornes + diversité des sources (max 50 %), versionné, retour arrière
Prompts
ex. synthèse TL;DR
Un LLM optimiseur génère des variantes ; un test fantôme note les deux sur la même entrée
Adopté seulement sur une marge nette du juge ; versionnage des prompts + journal d'expériences
Sources
registre de flux
Scoring de qualité depuis retours + fréquence de sélection ; les faibles sont retirées
Vigie de dérive (HHI) : en cas de rétrécissement, l'élagage est suspendu — l'ampleur prime sur le score

Le pipeline nocturne

Du flux brut au briefing organisé.

IngestionDédup.EnrichirScore (pondérations)CurationTL;DR (prompt appris)RenduPersistanceEnvoi

Le palier de masse (résumés, étiquetage) tourne sur un petit modèle rapide, le palier de synthèse (curation, juge) sur un modèle de classe 70B — les deux en local. Tout le cycle d'apprentissage tourne la nuit quasiment gratuitement ; un modèle de pointe n'est sollicité qu'en option pour calibrer le juge via un abonnement existant (claude -p).

Anatomie d'un briefing

Trois sections à l'intention claire.

Les deux dernières ne peuvent pas être éliminées par la personnalisation. La boucle d'apprentissage ne peut pas vous optimiser vers une bulle confortable.

Temps forts

Les nouvelles les plus importantes du jour — personnalisées via les pondérations apprises. Plus « Les 3 choses du jour » en résumé exécutif.

Contrepoint fixe

Un contre-argument sérieux et présenté avec honnêteté (steelman) face à votre propre position — pour connaître l'autre camp en conversation au lieu d'argumenter dans la bulle.

Joker fixe

Un article réel délibérément surprenant, hors de vos intérêts habituels — de préférence d'une source qui n'a pas atteint la sélection principale.

Feuille de route — entièrement implémentée

Six jalons, chacun utile en soi.

M1

Briefing statique

Ingestion → Enrichir → Curation → Rendu face à Ollama local.

M2

Persistance & retours

SQLite (sqlx), dédup., enregistrements de briefing ; envoi Telegram avec boutons 👍/👎.

M3

Moteur d'évaluation

Score comportemental + juge LLM face à une grille versionnée + contrôles structurels déterministes.

M4

Apprentissage : pondérations

Bandit de Thompson sur sources/thèmes, barrière de sécurité, versionnage de config & retour arrière.

M5

Apprentissage : prompts

LLM optimiseur + test fantôme ; primitive de décision A/B temporelle.

M6

Évolution des sources + AutoResearch

Scoring, élagage, vigie de dérive ; boucle de recherche approfondie encadrée avec vérification des citations.

Démarrage rapide

En local en deux minutes.

Prérequis : Ollama avec un modèle de masse et un modèle de synthèse. Sur du matériel plus modeste, indiquez simplement des modèles plus petits dans config/profile.toml.

# récupérer les modèles
ollama pull qwen2.5:14b      # palier de masse (enrichir)
ollama pull llama3.3:70b     # palier de synthèse (TL;DR, juge)

# composer un briefing
cargo run -p ibrief-app                 # = brief

# apprendre & optimiser
cargo run -p ibrief-app -- eval       # noter le briefing du jour
cargo run -p ibrief-app -- learn      # apprendre les pondérations (Thompson + barrière)
cargo run -p ibrief-app -- optimize   # améliorer le prompt TL;DR via test fantôme
cargo run -p ibrief-app -- sources evolve   # noter les sources + vigie de dérive
cargo run -p ibrief-app -- research "Quoi de neuf sur les LLM locaux ?"

Pile technique

Rust 1.95 · Edition 2024Tokio asyncOllama LLM locauxsqlx + SQLitefeed-rs ingestionreqwest API Telegramrand_distr Thompson12 crates · CI au vert

FAQ

Questions fréquentes.

Qu'est-ce qu'ibrief ?

Un briefing matinal personnalisé et auto-améliorant. Il compose un briefing organisé pendant la nuit et s'adapte chaque jour aux retours mesurés — entièrement local en Rust, avec des LLM locaux via Ollama.

Comment ibrief s'améliore-t-il tout seul ?

Sur trois axes sécurisés : pondérations (bandit de Thompson), prompts (test fantôme) et sources (scoring plus une vigie de dérive). Chaque changement passe une barrière de sécurité, est versionné et réversible.

Comment ibrief évite-t-il la bulle de filtre ?

L'engagement n'est pas l'objectif d'optimisation. Deux sections — Contrepoint et Joker — ne peuvent pas être désactivées, et une vigie de dérive impose la diversité des sources, même au prix du score à court terme.

Faut-il une API cloud ?

Non. ibrief tourne entièrement en local avec Ollama. Un modèle de pointe cloud est optionnel et sert uniquement à la calibration périodique du juge via un abonnement existant (claude -p).