Paper Illustration : Génération de Figures Supervisée par Claude en Multi-Étapes
Générez des illustrations de qualité publication en utilisant un flux de travail multi-étapes avec Claude comme superviseur/examinateur STRICT.
Philosophie de Conception Fondamentale
┌──────────────────────────────────────────────────────────────────────────┐
│ FLUX DE TRAVAIL ITÉRATIF MULTI-ÉTAPES │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ Demande Utilisateur │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── Étape 1 : Analyser la demande, créer l'invite initiale │
│ │ (Planificateur) │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Gemini │ ◄─── Étape 2 : Optimiser la description de la disposition │
│ │ (gemini-3-pro)│ - Affiner le positionnement des composants │
│ │ Disposition │ - Optimiser l'espacement et le regroupement │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Gemini │ ◄─── Étape 3 : Vérification du style CVPR/NeurIPS │
│ │ (gemini-3-pro)│ - Vérifier la conformité de la palette de couleurs │
│ │ Style │ - Vérifier les normes des flèches et des polices │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Paperbanana │ ◄─── Étape 4 : Rendu de l'image finale │
│ │(gemini-3- │ - Génération d'image haute qualité │
│ │pro-image) │ - Nom de code interne : Nano Banana Pro │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ Claude │ ◄─── Étape 5 : Examen visuel STRICT + SCORE (1-10) │
│ │ (Examinateur) │ - Vérifier CHAQUE direction de flèche │
│ │ STRICT! │ - Vérifier CHAQUE contenu de bloc │
│ └──────┬──────┘ - Vérifier l'esthétique et l'attrait visuel │
│ │ │
│ ▼ │
│ Score ≥ 9 ? ──OUI──► Accepter et Sortir │
│ │ │
│ NON │
│ │ │
│ ▼ │
│ Générer un retour d'amélioration SPÉCIFIQUE ──► Boucler à l'Étape 2 │
│ │
└──────────────────────────────────────────────────────────────────────────┘
Constantes
- IMAGE_MODEL =
gemini-3-pro-image-preview— Paperbanana (Nano Banana Pro) pour le rendu d'image - REASONING_MODEL =
gemini-3-pro-preview— Gemini pour l'optimisation de la disposition et la vérification du style - MAX_ITERATIONS = 5 — Nombre maximum de cycles de raffinement
- TARGET_SCORE = 9 — Score minimum acceptable (1-10) — AUGMENTÉ POUR LA QUALITÉ
- OUTPUT_DIR =
figures/ai_generated/— Répertoire de sortie - API_KEY_ENV =
GEMINI_API_KEY— Variable d'environnement
Référence de style facultative (-- style-ref: <source>, option activable)
Permet à l'utilisateur d'orienter les conventions structurelles des figures (longueur des légendes, distribution du nombre de panneaux, ratio figure/tableau dans l'article parent) vers un article de référence. DÉSACTIVÉ par défaut — lorsque l'utilisateur ne passe pas -- style-ref, ne rien faire de différent par rapport à avant.
Uniquement lorsque -- style-ref: <source> apparaît dans $ARGUMENTS, exécuter l'assistant D'ABORD, avant de générer les invites :
# Résoudre $STYLE_HELPER via la chaîne canonique strict-sûre (voir
# shared-references/integration-contract.md §2). Politique A — barrière :
# un assistant non résolu signifie que --style-ref ne peut pas être satisfait, donc abandonner.
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
STYLE_HELPER=".aris/tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
[ -f "$STYLE_HELPER" ] || {
echo "ERREUR : extract_paper_style.py non résolu dans .aris/tools/, tools/, \$ARIS_REPO/tools/, ou via ~/.aris/repo." >&2
echo " Correction : réexécutez bash tools/install_aris.sh ou smart_update.sh (rafraîchit ~/.aris/repo), exportez ARIS_REPO, ou copiez l'assistant dans tools/." >&2
echo " --style-ref ne peut pas être satisfait ; abandon." >&2
exit 1
}
STYLE_STATUS=0
CACHE=$(python3 "$STYLE_HELPER" --source "<source>") || STYLE_STATUS=$?
case "$STYLE_STATUS" in
0) ;; # utiliser $CACHE/style_profile.md comme guide structurel
2) echo "attention : style-ref ignoré (dépendance facultative manquante)" >&2 ;;
3) echo "erreur : source --style-ref a échoué ; abandon de l'illustration" >&2 ; exit 1 ;;
*) echo "erreur : l'assistant a échoué de manière inattendue ; abandon de l'illustration" >&2 ; exit 1 ;;
esac
Sources acceptées : répertoire / fichier TeX local, PDF local, id arXiv, URL http(s). Les URL / ID Overleaf sont rejetés — cloner d'abord via /overleaf-sync setup <id> et passer le chemin du clone local.
Règles strictes (contrat complet dans la docstring de tools/extract_paper_style.py) :
- Utiliser
style_profile.mdpour aligner la longueur des légendes et la densité des figures sur l'article de référence. Les normes visuelles CVPR/ICLR/NeurIPS ci-dessus prévalent toujours —--style-refne fait qu'affiner les tendances de longueur et de densité, jamais le contenu de l'image. - Ne jamais copier le contenu des figures, les palettes de couleurs ou les éléments de conception spécifiques de quoi que ce soit accessible via le cache. La conception visuelle provient de l'invite de l'utilisateur, pas de la référence.
- Ne jamais passer
-- style-ref(ou le contenu du cache) aux sous-agents du vérificateur visuel Claude / vérificateur de raisonnement Gemini lorsqu'ils notent l'image générée — l'image doit être jugée sur ses propres mérites.
Guide de Style des Conférences de Haut Niveau CVPR/ICLR/NeurIPS
Ce que "Style CVPR" signifie vraiment :
Normes Visuelles
- Fond blanc propre — Pas de motifs décoratifs ou de dégradés (sauf subtils)
- Polices sans empattement — Arial, Helvetica, ou Computer Modern ; minimum 14pt
- Palette de couleurs subtile — Pas de couleurs arc-en-ciel ; utiliser 3 à 5 couleurs coordonnées
- Adapté à l'impression — Doit être lisible en niveaux de gris (de nombreux relecteurs impriment les articles)
- Bordures professionnelles — Fines (2-3px), couleurs unies, pas flashy
Normes de Disposition
- Flux horizontal — De gauche à droite est la norme pour les pipelines
- Regroupement clair — Utiliser des boîtes de fond subtiles pour regrouper les modules connexes
- Taille cohérente — Les composants similaires doivent avoir des tailles similaires
- Espace blanc équilibré — Pas trop serré, pas trop clairsemé
Normes pour les Flèches (LES PLUS CRITIQUES)
- Traits épais — 4-6px minimum (les flèches fines disparaissent à l'impression)
- Pointes de flèche claires — Grandes têtes triangulaires remplies
- Couleurs sombres — Noir ou gris foncé (#333333) ; éviter les flèches colorées
- Étiquetées — Chaque flèche doit indiquer quelles données la traversent
- Pas de croisements — Réorganiser la disposition pour éviter les croisements de flèches
- BONNE DIRECTION — Les flèches doivent pointer vers la BONNE cible !
Attrait Visuel (科研风格 - Style Académique Professionnel)
Objectif : ni conservateur ni tape-à-l'œil, trouver l'équilibre
✅ Éléments visuels à avoir :
- Remplissages dégradés subtils — Dégradés doux (de la même couleur du clair au foncé), pas multicolores
- Coins arrondis — Rectangles arrondis (rayon 6-10px), aspect moderne mais pas exagéré
- Hiérarchie visuelle claire — Distinguer les niveaux par la taille, la profondeur de couleur
- Code couleur cohérent — Schéma de couleurs unifié (3-4 couleurs principales)
- Structure interne — Grands modules affichant les sous-composants (ex. structure de couches à l'intérieur de l'Encodeur)
- Typographie professionnelle — Étiquettes claires, hiérarchie de tailles de police appropriée
✅ Suggestions de couleurs (académique professionnel) :
- Entrées : Tons verts doux (#10B981 / #34D399)
- Encodeurs : Tons bleus professionnels (#2563EB / #3B82F6)
- Fusion : Tons violets élégants (#7C3AED / #8B5CF6)
- Sorties : Tons oranges chauds (#EA580C / #F97316)
- Flèches : Noir ou gris foncé (#333333 / #1F2937)
- Arrière-plan : Blanc pur (#FFFFFF), pas de motifs
❌ Décorations excessives à éviter :
- ❌ Schémas de couleurs arc-en-ciel
- ❌ Ombres portées lourdes
- ❌ Effets 3D / perspective
- ❌ Dégradés excessifs (multicolores exagérés)
- ❌ Clip art / icônes de dessins animés
- ❌ Motifs décoratifs en arrière-plan
- ❌ Effets lumineux
- ❌ Trop de petites icônes
✓ Résultat visuel idéal :
- Professionnel et clair au premier coup d'œil
- Attrait visuel modéré, mais pas ostentatoire
- Conforme aux normes esthétiques des articles CVPR/NeurIPS
- Adapté à l'impression (clair même en mode niveaux de gris)
- Comme un graphique académique soigneusement conçu, pas un modèle PowerPoint
Ce qu'il faut ÉVITER (CRITIQUE)
- ❌ Schémas de couleurs arc-en-ciel (trop de couleurs)
- ❌ Flèches fines, filiformes (les flèches doivent ÊTRE ÉPAISSES)
- ❌ Connexions non étiquetées
- ❌ Rectangles ennuyeux et plats (ajouter un intérêt visuel)
- ❌ Sur-décoré avec des ombres/lueurs/icônes (trop tape-à-l'œil)
- ❌ Petit texte illisible une fois imprimé
- ❌ MAUVAISES directions de flèches — C'est INACCEPTABLE !
Portée
| Type de Figure | Qualité | Exemples |
|---|---|---|
| Diagrammes d'architecture | Excellente | Architecture de modèle, pipeline, encodeur-décodeur |
| Illustrations de méthode | Excellente | Diagrammes conceptuels, organigrammes d'algorithmes |
| Figures conceptuelles | Bonne | Diagrammes de comparaison, arbres de taxonomie |
Pas pour : Graphiques statistiques (utiliser /paper-figure), images photoréalistes
Flux de Travail : DOIT EXÉCUTER TOUTES LES ÉTAPES
Étape 0 : Vérification Pré-vol
# Vérifier la clé API
if [ -z "$GEMINI_API_KEY" ]; then
echo "ERREUR : GEMINI_API_KEY non définie"
echo "Obtenez votre clé sur : https://aistudio.google.com/app/apikey"
echo "Définissez-la : export GEMINI_API_KEY='votre-clé'"
exit 1
fi
# Créer le répertoire de sortie
mkdir -p figures/ai_generated
Étape 1 : Claude Planifie la Figure (VOUS ÊTES ICI)
CRITIQUE : Claude doit d'abord analyser la demande de l'utilisateur et créer une invite détaillée.
Analyser l'entrée : $ARGUMENTS
Tâche de Claude :
- Comprendre quelle figure l'utilisateur souhaite
- Identifier tous les composants, connexions, flux de données
- Créer une invite détaillée et structurée pour Gemini
- Inclure les exigences de style ET les exigences d'attrait visuel
Modèle d'invite pour Claude à générer :
Créez un diagramme académique PROFESSIONNEL, VISUELLEMENT ATTRACTIF, de qualité publication, suivant les normes CVPR/ICLR/NeurIPS.
## Style Visuel : 科研风格 (Style Académique Professionnel)
### Objectif : équilibre — ni conservateur ni tape-à-l'œil
#### À FAIRE (devrait avoir) :
- **Dégradés subtils** — Dégradés doux de la même couleur (ex. #2563EB → #3B82F6), pas multicolores
- **Coins arrondis** — Rectangles arrondis (6-10px), aspect moderne
- **Hiérarchie visuelle claire** — Distinguer les niveaux par la taille, la profondeur
- **Structure interne** — Grands modules affichant la structure des sous-composants
- **Code couleur cohérent** — Schéma de 3-4 couleurs unifié
- **Finition professionnelle** — Raffiné mais pas exagéré
#### À NE PAS FAIRE (ne doit pas avoir) :
- ❌ Dégradés arc-en-ciel/multicolores
- ❌ Ombres portées lourdes
- ❌ Effets 3D / perspective
- ❌ Effets lumineux
- ❌ Icônes décoratives excessives
- ❌ Rectangles ennuyeux et plats
#### Résultat idéal :
Comme un diagramme d'architecture soigneusement conçu dans un article de conférence de premier plan — professionnel, clair, avec un attrait visuel modéré
## Type de Figure
[Diagramme d'Architecture / Pipeline / Comparaison / etc.]
## Composants à Inclure (SOYEZ SPÉCIFIQUE SUR LE CONTENU)
1. [Composant 1] :
- Étiquette : "[texte exact]"
- Sous-étiquette : "[texte plus petit en dessous]"
- Position : [gauche/centre/droite, haut/milieu/bas]
- Style : [couleur de bordure, remplissage, structure interne]
2. [Composant 2] : ...
## Disposition
- Direction : [gauche à droite / haut en bas]
- Espacement : [serré / normal / lâche]
- Regroupement : [comment les composants doivent être regroupés]
## Connexions (SOYEZ EXPLICITE SUR LA DIRECTION)
Spécifications EXACTES des flèches :
1. [Composant A] → [Composant B] : La flèche va DE A VERS B, étiquetez-la "[type de données]"
2. [Composant C] → [Composant D] : La flèche va DE C VERS D, étiquetez-la "[type de données]"
...
VÉRIFIER : Chaque flèche doit pointer vers la BONNE cible !
## Exigences de Style (Norme CVPR/ICLR/NeurIPS)
### Style Visuel
- Palette de couleurs : Couleurs académiques professionnelles
- Entrées : Vert (#10B981)
- Encodeurs : Bleu (#2563EB)
- Modules de fusion : Violet (#7C3AED)
- Sorties : Orange (#EA580C)
- Police : Sans empattement (Arial/Helvetica), minimum 14pt, gras pour les étiquettes
- Arrière-plan : Blanc propre, pas de motifs
- Blocs : Rectangles arrondis (rayon 8-12px), remplissage dégradé subtil, bordure colorée (2-3px)
- Ombres subtiles pour effet de profondeur
- Adapté à l'impression (doit fonctionner en niveaux de gris)
### EXIGENCES CRITIQUES : Flèches et Flux de Données
1. **TOUTES les flèches doivent ÊTRE TRÈS ÉPAISSES** - largeur de trait minimum 5-6px
2. **TOUTES les flèches doivent avoir des POINTES CLAIRES** - grandes têtes triangulaires visibles
3. **TOUTES les flèches doivent être NOIRES ou GRIS FONCÉ** - pas colorées
4. **Étiquetez CHAQUE flèche** avec les données qui la traversent
5. **VÉRIFIEZ la direction des flèches** - chaque flèche DOIT pointer vers la bonne cible
6. **Pas de connexions ambiguës** - chaque flèche doit avoir une source et une destination claires
### Exigences de Clarté Logique
1. **Le flux de données doit être immédiatement évident** - le spectateur doit comprendre le pipeline
...
[écourté pour la traduction]