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 :
- CollecteRécupération des nouvelles informations et filtrage des doublons.
- Analyse par le LLMConstruction du contexte envoyé au modèle et analyse des différents items.
- StructurationLe LLM retourne une structure JSON stricte avec notamment un score, du contexte, des faits et une opinion.
- Mise en formeLe pipeline transforme cette structure en digest lisible.
- 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, limitesprompt.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.