Projet

AGI Newsletter personnelle multi-thématique

Une veille automatisée pilotée par l'IA

  • Capable de collecter automatiquement des actualités provenant de sources hétérogènes,
  • De les analyser et les synthétiser grâce à différents modèles de langage
  • Les distribuer au travers d'une newsletter structurée dans Telegram.

L'objectif est de construire un système de veille technologique extensible, capable de s'adapter à plusieurs thématiques. Cloud, Devops, IA, GitHub, Business, Europe etc.

Ceci me faisant gagner un temps considérable de recherche et m'assurant une routine de veille quotidienne.

Mes choix concernant la version de l'agent IA

J'ai pondéré entre deux versions pour à la fois avoir une qualité optimale sans payer de surcoût inutile pour une version surdimensionnée par rapport à ce projet.
Mon choix s'est orienté vers Claude Haiku 4.5.

Critère Claude Sonnet 5 Claude Haiku 4.5
Prix input $2 / MTok $1 / MTok
Prix output $10 / MTok $5 / MTok
Vitesse Correcte Nettement plus rapide
Qualité de synthèse/raisonnement Meilleure lecture stratégique, nuances, ton éditorial plus fin Bonne pour du factuel structuré, moins de nuance sur l'angle "avis perso"
Qualité de traduction EN→FR Plus fiable sur du vocabulaire technique/nuancé Correcte mais peut lisser certaines subtilités
Rapport qualité/prix pour mon usage environ $0.016 à $0.03 par envoi environ $0.008 à $0.015 par envoi

Mes choix d'architecture

J'ai volontairement séparé le projet en plusieurs briques indépendantes :

Un pipeline centralisé

Pour orchestrer la collecte, l'analyse et la diffusion.

Une configuration par thématique

Afin d'ajouter une nouvelle veille principalement par configuration plutôt que par développement.

Une abstraction multi-LLM

Permettant de choisir Anthropic, OpenAI ou OpenRouter selon la thématique et le besoin.

Un système de stockage et de dédoublonnage

Pour éviter de republier plusieurs fois les mêmes informations.

Un système de monitoring

Permettant de vérifier automatiquement l'état des sources.

Un canal Telegram organisé par Topics

Utilisé comme interface de restitution.

Les points clés du projet

Le pipeline de traitement

Le pipeline constitue le cœur du projet.

Pour chaque thématique, il réalise successivement :

  1. CollecteRécupération des nouvelles informations et filtrage des doublons.
  2. Analyse par le LLMConstruction du contexte envoyé au modèle et analyse des différents items.
  3. StructurationLe LLM retourne une structure JSON stricte avec notamment un score, du contexte, des faits et une opinion.
  4. Mise en formeLe pipeline transforme cette structure en digest lisible.
  5. DiffusionLe résultat est envoyé dans le Topic Telegram correspondant puis enregistré dans l'historique.

Rendre les thématiques configurables

Une décision structurante du projet a été de déplacer au maximum la logique spécifique dans la configuration.

Chaque thématique possède notamment :

  • config.yaml → sources, filtres, modèle, horaire, limites
  • prompt.md → angle éditorial, ton et structure attendue

Le résultat : ajouter une nouvelle thématique ne nécessite aucune nouvelle ligne de code. Il suffit de créer sa configuration et son prompt, sauf lorsqu'un nouveau type de source doit être pris en charge par le scraper.

La couche de diffusion Telegram

Telegram sert de couche de restitution.

Chaque thématique possède son propre Topic dans un supergroupe, ce qui permet de séparer les différents flux sans multiplier les bots.

J'ai également géré une contrainte technique importante : Telegram limite la taille des messages. Le système découpe donc automatiquement les messages dépassant 4096 caractères et les route vers le bon Topic.

Ajout d'un système de monitoring

Un système de health check a ensuite été ajouté pour éviter qu'une source défaillante passe inaperçue.

Cela permet de distinguer un problème provenant du pipeline d'un problème provenant directement d'une source externe.