Use case 04

Agent
Veille

Un agent Python interroge 18 sources chaque lundi à 10h, structure une veille classée par pertinence et la publie automatiquement dans Notion. Zéro production manuelle. Conçu et mis en production en une journée de travail avec Claude Code et l’Agent Coach (UC2).

18
Sources scannées
chaque lundi
6
Sections
par veille
0 min
Production
manuelle
6 sections · Ranking profil · Filtrage offres
< 10 min
de lecture. Contrainte non négociable dès le départ : un outil qui demande du temps pour fonctionner ne sert à rien.
02
Structure · Classement · Filtrage offres

Une veille, pas
un agrégateur

Chaque section est classée 🥇🥈🥉 par pertinence décroissante pour le profil : impact concret sur la recherche d’emploi et la montée en compétences IA d’abord, signal faible en dernier. Trois items maximum par section ; jamais de remplissage. Si la semaine est pauvre, la veille le dit.

01
Actus IA & Produit
Impact direct sur le métier PM cette semaine. Pas d’IA générale ni théorique.
02
Outil du moment
Nouveauté avec cas d’usage PM concret. Score de pertinence inclus.
03
Cas d’usage IA × PM
Workflows applicables cette semaine, avec temps de setup et résultats attendus.
04
Offres d’emploi
Filtrées sur critères stricts : Senior PM, Nantes ou remote, zéro ESN ni Paris sur site. Fit score /10 inclus.
05
Framework *(si nouveauté)*
Un seul framework, uniquement s’il y a une vraie nouveauté cette semaine.
06
Glossaire IA *(si émergent)*
1 à 3 termes, uniquement si un concept IA important émerge cette semaine.
Ce que ça révèle
Le filtrage des offres est encodé dans le prompt comme un vrai cahier des charges métier : intitulés acceptés, exclusions explicites, géographie, type de structure. La veille est un acte de design avant d’être un acte technique.
Notion →
Agent Coach · Claude Code · Anthropic API · Notion API
2 IA
pour construire la 3e : l’Agent Coach cadre la stratégie, Claude Code assemble le code
03
Construire avec l’IA · Python + APIs brutes · Workflow automatisé

Construire
avec l’IA

Cet agent de veille a été construit avec deux outils complémentaires. L’Agent Coach (UC2) pour définir la stratégie, le contenu et les arbitrages produit. Claude Code pour assembler et corriger le code Python. Une répartition claire des rôles entre deux outils IA, comme on diviserait le travail dans une équipe.

Agent Coach
Définir le problème et la stratégie
Quoi surveiller, comment structurer la veille, quels critères de filtrage, quelle logique de ranking. La réflexion produit en premier.
Agent Coach
Rédiger le system prompt v1 jusqu’à v4
4 itérations dans la journée pour passer d’un prompt générique à un cahier des charges de 270 lignes avec règles absolues, format de sortie et profil utilisateur encodé.
Claude Code
Assembler le code Python
Deux modules : veille_pm.py (orchestration + API Anthropic) et notion_publisher.py (conversion Markdown → blocs Notion natifs). Chacun avec un rôle précis.
Claude Code
Premier run autonome réussi
18 sources scannées, veille complète publiée dans Notion sans intervention manuelle. De zéro à un agent fonctionnel en une journée de travail.
01 Cron macOS déclenche le script à 10h
02 Chargement de l’historique des 50 dernières URLs pour éviter les doublons
03 API Anthropic avec web search : 18 sources scannées, veille structurée générée
04 Sauvegarde locale en markdown comme filet de sécurité
05 Publication Notion : ancien contenu archivé, nouvelle veille publiée
Ce que ça révèle
Savoir quel outil pour quelle tâche, c’est ce que les équipes produit cherchent en 2026. Pas « je connais Claude », mais « je sais orchestrer plusieurs IA selon leurs forces respectives ».
270 lignes · Cahier des charges · 4 versions itérées
4
versions itérées dans la journée, de générique à opérationnel
01
Prompt engineering · Itération · Règles absolues

Le prompt comme
spec produit

Le system prompt n’est pas un simple message envoyé à l’API. C’est un document produit à part entière : il définit le profil utilisateur, les règles métier, les critères de qualité et le format de sortie attendu. Il est maintenu dans un fichier séparé, modifiable sans toucher au code Python. Quelqu’un qui ne connaît pas l’IA peut le lire et le comprendre.

Version
v1
Prompt générique, format libre. Résultats inconsistants d’un run à l’autre.
Version
v2–v3
Sections définies, critères d’offres explicites, règles éditoriales. Format Notion spécifié.
Version actuelle
v4
6 sections avec ranking 🥇🥈🥉, profil utilisateur encodé, règles absolues. 270 lignes.
Ce que ça révèle
Définir des règles absolues dans le system prompt (ne jamais inventer, zéro doublon, sources obligatoires) est indispensable : sans elles, les LLMs remplissent. Anticiper les comportements par défaut et les corriger dans le prompt, c’est exactement comme rédiger des critères d’acceptance sur une user story.
Arbitrages · Trade-offs · Conséquences documentées
3
décisions structurantes, chacune avec son rejet et sa conséquence explicités
04
Python vs Make · 1 format vs 2 · Mémoire inter-runs

Ce qui a été
arbitré

01
Python + APIs brutes vs Make / n8n
Make aurait été plus rapide à mettre en place. Mais travailler directement avec les APIs donne un contrôle total sur la déduplication, le parsing Notion et la gestion d’état entre les runs, avec zéro coût d’hébergement en prime. Et la compréhension des fondations API est une compétence à démontrer, pas à déléguer.
Sans ce choix : dès que la logique de dédup ou le format Notion change, il faut modifier un workflow dans une interface tierce plutôt que quelques lignes de code.
02
1 veille hebdo profonde vs Flash + Mensuel
La version initiale prévoyait deux formats : un Flash hebdo de 150 mots et un Mensuel complet. Après test, le Flash était trop superficiel pour être actionnable. Un seul format, 6 sections, 1600 à 1800 mots : la régularité seule ne compense pas le manque de profondeur.
Sans ce choix : deux formats à maintenir, une redondance inévitable entre les deux, et une veille Flash qui n’apporte pas grand-chose de plus qu’un simple tweet.
03
Mémoire inter-runs vs Pas de déduplication
Un fichier stocke les 200 dernières URLs indexées et les injecte dans chaque prompt. La règle est stricte : une section vide signalée vaut mieux qu’un contenu répété ou inventé. « Semaine pauvre sur ce sujet » est une réponse valide.
Sans ce choix : l’agent répète les mêmes signaux d’une semaine à l’autre. C’est exactement le problème qu’on cherchait à résoudre au départ.
Ce que ça révèle
Savoir ce qu’on n’a pas fait et pourquoi est aussi important que ce qu’on a construit. Chaque décision a un rejet explicité et une conséquence concrète. C’est la différence entre un choix et une préférence.