Article bilingue | basculez FR / EN avec le bouton en haut à droite.

Chaque semaine, des dizaines de papiers pertinents sortent sur ArXiv. Le vrai défi n'est pas le volume, c'est la curation : identifier rapidement les travaux qui font avancer votre domaine, ceux qui sont directement applicables, et ceux qui méritent une lecture approfondie. La solution : un assistant de recherche autonome qui exécute 10 requêtes permanentes chaque dimanche soir, complétées par 2 requêtes dynamiques d'un radar saisonnier qui s'adapte au calendrier des grandes conférences (ICLR, ACL, Interspeech, NeurIPS) pendant la fenêtre camera-ready. L'agent sélectionne ensuite les 5 à 8 papiers les plus pertinents selon un barème d'impact défini, détecte la sortie modèle notable de la semaine, et génère l'article complet : bilingue, structuré, vérifié contre la source, et indexé, sans intervention humaine.

Le résultat : 52 articles de veille par an, chacun avec liens ArXiv vérifiés et focus langues africaines. Votre rôle dans le pipeline : 5 minutes le lundi matin pour valider, enrichir si nécessaire, et pousser.

52 articles/an générés automatiquement
0 API key · Python · serveur requis
5 min de review lundi matin → git push

Le pipeline de la semaine

Trois tâches Cowork s'enchaînent automatiquement du samedi soir au lundi matin :

Pipeline automatique — Sam → Dim → Lun Sam 19h00 HuggingFace Report docs/hf-weekly-*.md Dim 20h00 SOTA ArXiv Digest blog/sota-*.html Lun 07h30 Calendar Briefing docs/calendar-*.md Lun matin PSW review → push git push ✓

Ce que fait l'agent le dimanche soir

La tâche planifiée Cowork exécute 5 étapes principales en autonomie complète, de la recherche ArXiv à la mise à jour du sitemap, avec une étape supplémentaire de cross-validation factuelle (5.5) qui vérifie chaque papier contre sa source ArXiv avant publication :

Anatomie du task sota-arxiv-weekly-digest 0 Lire CLAUDE_BLOG_CONTEXT.md + Registre d'IDs ArXiv conventions, markup, bilingue + mémoire inter-runs anti-doublon 1 10× WebSearch permanent + 2× radar saisonnier NLP, Speech, langues africaines, MoE + ICLR/ACL/Interspeech/NeurIPS 2 Écrire blog/sota-YYYY-MM-DD.html article complet : .paper-block par papier, badges, callouts, bilingue 3 Insérer la carte dans blog.html nouvelle carte featured en tête de grille (.blog-grid) 4 Ajouter l'entrée dans sitemap.xml URL, lastmod, hreflang FR/EN, priority 0.85 5.5 Cross-validation : fetch direct sur arxiv.org/abs/* vérifie auteurs, titres, métriques (WER, BLEU) contre la source 5 Vérification : parité bilingue + liens ArXiv grep data-fr == grep data-en, auto-correction si besoin

Chaque papier est rendu avec la structure .paper-block enrichie : méthode mathématique, lien HuggingFace, score Wolof et snippet Python sont injectés automatiquement par l'agent.

<div class="paper-block">
    <div class="paper-block__header">
        <!-- badge--green=direct impact, badge--amber=transferable, badge--gold=general -->
        <span class="badge badge--green" data-fr="🟢 DIRECT" data-en="🟢 DIRECT">🟢 DIRECT</span>
        <span class="badge badge--blue">SPEECH</span>
    </div>
    <h3 class="paper-block__title">
        <a href="https://arxiv.org/abs/2401.12345" target="_blank" rel="noopener">
            Full Paper Title
        </a>
    </h3>
    <!-- Authors: always use real names from WebSearch, never "Anonyme et al." -->
    <p class="paper-block__authors">Firstname Lastname et al. (Institution) · 2025 ·
        <a href="https://arxiv.org/abs/2401.12345" target="_blank" rel="noopener">arXiv:2401.12345</a>
    </p>
    <p class="paper-block__summary"
       data-fr="Résumé sans tiret em dans les phrases : utiliser ':', ';', 'de'."
       data-en="Summary without em dashes in prose: use ':', ';', 'of'.">Résumé...</p>

    <!-- Mathematical method block — 3 lines of intuition -->
    <div class="paper-block__method">
        <span class="method-label" data-fr="Méthode clé" data-en="Key method">Méthode clé</span>
        <p data-fr="(1) nom de la méthode, (2) formule centrale, (3) apport concret."
           data-en="(1) method name, (2) core formula, (3) concrete contribution.">...</p>
    </div>

    <!-- Python snippet — only for papers with direct code applicability -->
    <pre><code class="language-python"># Short runnable snippet, English comments only
</code></pre>

    <!-- HuggingFace links — only if a public HF model/dataset exists -->
    <div class="paper-block__resources">
        <a href="https://huggingface.co/ORG/MODEL" target="_blank" rel="noopener"
           class="hf-link">🤗 model-name</a>
    </div>

    <!-- Wolof applicability score: ★★★★★ direct → ★☆☆☆☆ peu applicable -->
    <div class="paper-block__wolof-score">
        <span class="score-label" data-fr="Pertinence Wolof" data-en="Wolof relevance">Pertinence Wolof</span>
        <span class="score-stars">★★★☆☆</span>
        <span data-fr="(justification)" data-en="(justification)">(justification)</span>
    </div>

    <div class="paper-block__footer">
        <a href="https://arxiv.org/abs/2401.12345" target="_blank" rel="noopener"
           class="paper-block__link">arxiv.org/abs/2401.12345 →</a>
    </div>
</div>

La clé : un fichier de contexte à la racine du repo

L'agent ne peut pas explorer votre codebase à chaque run, trop de tokens, trop de risques d'incohérence. La solution : un fichier CLAUDE_BLOG_CONTEXT.md que l'agent lit en premier à chaque exécution.

CLAUDE_BLOG_CONTEXT.md conventions · CSS · markup · bilingue → lu à chaque run PSW-Agent sota-*.html nouvel article blog.html carte en tête sitemap.xml URL + hreflang Lundi matin — 5 min open → review → git push seule action humaine requise
Règle d'or

À chaque changement structurel du blog (nouvelle classe CSS, nouveau fichier, nouvelle convention), mettez à jour CLAUDE_BLOG_CONTEXT.md. C'est la mémoire de l'agent, sans elle, il improvise.

Mise en place en 4 étapes

① Créez CLAUDE_BLOG_CONTEXT.md à la racine de votre repo, documentez votre architecture CSS, la structure de vos cartes, votre système bilingue.

② Dans Cowork → Scheduled, créez le task sota-arxiv-weekly-digest avec le cron 0 20 * * 0 (dimanche 20h00) et le prompt complet décrit dans le tutoriel GitHub.

③ Cliquez Run now une seule fois pour pré-approuver les permissions WebSearch et écriture de fichiers. Sans cette étape, le premier run automatique se bloque sur une demande de permission.

④ Le lundi matin suivant : git status → ouvrir l'article → git push si satisfait.

cd ~/Desktop/your-blog-repo

# 1. Voir ce qui a été généré automatiquement
git status
git diff --stat

# 2. Ouvrir l'article dans le navigateur
open blog/sota/sota-2026-04-06.html

# 3. Vérifier : résumés des papiers, liens ArXiv, rendu de la carte dans blog.html
#    - Les liens arxiv.org sont-ils valides ?
#    - Les résumés sont-ils précis et bilingues ?
#    - La carte s'affiche-t-elle correctement sur blog.html ?

# 4. Si satisfait — pousser
git add blog/sota/sota-2026-04-06.html blog.html sitemap.xml
git commit -m "feat: SOTA ArXiv digest week 15 2026-04-06"
git push
Pré-requis

Claude Cowork (app desktop) avec votre dossier repo monté comme workspace. Aucune clé API, aucun script Python, aucun serveur.

Vue d'ensemble du pipeline

Deux tâches s'enchaînent automatiquement en fin de semaine. Le samedi soir alimente la veille HuggingFace ; le dimanche soir produit l'article SOTA publié.

SAT 19:00 → huggingface-weekly-report
             └─ docs/hf-weekly-YYYY-MM-DD.md  (privé, non versionné)
                Nouveaux modèles & datasets HuggingFace dans vos domaines

SUN 20:00 → sota-arxiv-weekly-digest
             ├─ blog/sota/sota-YYYY-MM-DD.html   ← nouvel article bilingue
             ├─ blog.html                   ← carte insérée en tête de grille
             └─ sitemap.xml                 ← nouvelle URL indexée

MON ~09:00 → VOUS
             └─ open blog/sota-*.html
                review 5 minutes
                git push ✅
52 articles de veille / an
0 clé API requise
5 min de review lundi → git push

Update : Fiabilisation du pipeline après 3 semaines

Après trois semaines de runs en production, trois failles silencieuses sont apparues. Aucune ne cassait le pipeline, mais toutes érodaient la qualité du digest. Trois correctifs majeurs ont été ajoutés au prompt et au fichier CLAUDE_BLOG_CONTEXT.md pour transformer un script qui marche en un pipeline auquel on peut faire confiance.

1. Mémoire anti-doublon : un registre persistant d'IDs ArXiv

Sans mémoire entre runs, l'agent redécouvrait les mêmes papiers d'une semaine à l'autre. Les bons papiers récents restent en tête des résultats de recherche pendant des mois. La parade : une section dédiée dans CLAUDE_BLOG_CONTEXT.md qui liste tous les IDs ArXiv déjà publiés, lue par l'agent au STEP 0 et utilisée comme filtre d'exclusion dur lors de la sélection finale. La liste s'enrichit automatiquement à chaque run.

2. Validation anti-hallucination : fetch direct de la source

Les snippets de résultats de recherche tronquent les listes d'auteurs, déforment les chiffres clés (WER, BLEU, taille de corpus) et confondent parfois deux papiers de titre voisin. Le STEP 5.5 récupère désormais la page officielle arxiv.org/abs/* de chaque papier sélectionné, croise les cinq points sensibles (titre exact, auteurs réels, métriques, institutions, cohérence d'année), corrige le HTML si besoin et trace chaque correction par un commentaire d'audit invisible au lecteur.

3. Ciblage saisonnier des preprints : le radar conférences

Les papiers acceptés en conférence apparaissent souvent en preprint pendant les fenêtres camera-ready, et disparaissent rapidement des résultats généralistes. Le radar saisonnier ajoute deux requêtes ciblées par fenêtre active (ICLR, ACL, Interspeech, NeurIPS) au-dessus des 10 recherches permanentes. Il est purement additif : il ne remplace jamais les requêtes de fond, il les complète quand le calendrier le justifie.

Une quatrième amélioration découle directement du STEP 5.5 : une règle de fraîcheur YYMM rejette désormais tout papier dont l'identifiant ArXiv précède le mois courant de plus de six mois, sauf marqueur d'exception explicite (modèle fondationnel, papier requalifié SOTA, benchmark de référence). Ce garde-fou élimine les vieux papiers qui restent visibles parce qu'ils sont bien cités, sans pour autant fermer la porte aux références durables.

Tutoriel complet sur GitHub

Cet article présente les concepts essentiels. Le tutoriel complet avec le prompt intégral, les conventions HTML, les exemples de paper-block et la configuration des tâches complémentaires est disponible sur GitHub :

📖 Tutoriel complet

github.com/papasega/papasega.github.io → docs/SOTA-ARXIV-AUTOMATION.md

Contient : prompt complet en 8 étapes, structure enrichie des paper-blocks (méthode mathématique, score Wolof, liens HuggingFace), section Modèle de la semaine, règles de parité bilingue, leçons apprises.