Le spam n’est pas un bug : c’est un business Si tu gères une communauté, un forum, un SaaS avec des commentaires, ou juste un blog avec des formulaires, tu l’as déjà vécu : le spam arrive en vagues. Et quand ça arrive, ça bouffe ton temps, ça flingue la confiance, et ça crame tes modérateurs.
DEV (et l’écosystème Forem) en sait quelque chose. Ils ont pris le sujet à bras-le-corps et ont publié récemment leur approche : une modération hybride qui combine des heuristiques “classiques” et un LLM (Gemini 3) pour dégager le contenu “évidemment junk” avant même qu’un humain ne le voie. Objectif assumé : limiter le burnout des modérateurs et garder l’expérience clean. Source : article DEV Team, Fighting Spam at Scale: How We Use Gemini to Protect the DEV Community (janvier 2026) et documentation Google sur Gemini pour la modération via Vertex AI.
Ce qui est intéressant ici, ce n’est pas “on a mis de l’IA”. C’est comment ils l’ont fait sans tomber dans le piège des faux positifs et sans exploser les coûts.
Ce que DEV a compris (et que beaucoup ratent) ### 1) Tu ne gagneras pas avec un seul modèle DEV ne balance pas tout dans Gemini en mode “dis-moi si c’est du spam”. Ils ont une approche hybride : - Filtrage algorithmique en amont : règles, signaux, patterns, détection de domaines, répétitions, comportements suspects. Ça coûte peu et ça scale. - LLM (Gemini 3) pour les cas qui demandent du jugement : quand le contenu est ambigu, quand il faut comprendre l’intention, le contexte, la qualité.
Pourquoi c’est smart : les spammeurs jouent sur la volumétrie. Si tu payes un LLM pour chaque post, tu te fais taxer. Si tu règles tout en heuristique, tu te fais contourner.
2) La priorité : “pas de faux positifs” DEV le dit clairement : ils préfèrent laisser passer un peu de spam plutôt que de supprimer du contenu légitime. Ça paraît contre-intuitif, mais c’est la seule position viable quand tu veux protéger une communauté.
- un nouveau membre honnête qui se fait shadowban,
- un post utile qui disparaît,
- une perte de confiance (“ici on censure n’importe quoi”).
Et la confiance, c’est ton actif n°1.
3) Le contexte auteur change tout DEV a construit un service interne, `ContentModerationLabeler`, qui prépare le contexte envoyé au modèle : - ancienneté du compte, - historique (articles, commentaires), - badges/activité, - résumé du profil.
Un post borderline provenant d’un contributeur de longue date n’est pas évalué comme celui d’un compte créé il y a 2 heures.
C’est exactement ce que font les bons systèmes anti-fraude : tu scores l’entité, pas juste l’événement.
L’architecture “copiable” : pipeline anti-spam en 4 couches Voici une version pragmatique que tu peux répliquer, même en PME.
Couche 1 — Hygiène basique (gratuite, immédiate) - Rate limiting (par IP, par compte, par endpoint) - Vérification email + friction sur nouveaux comptes - reCAPTCHA/turnstile sur les formulaires sensibles - Blocage de domaines connus (liste noire)
But : réduire 30–60% du bruit sans IA.
Couche 2 — Heuristiques & signaux (low-cost, très efficace) Exemples de signaux utiles : - ratio liens/texte - répétition de phrases (“Earn $$$ fast”, “crypto airdrop”, etc.) - similarité avec d’autres posts (hashing, embeddings) - vitesse de publication (10 posts en 2 minutes) - mismatch langue/communauté
- 0–30 : OK
- 31–70 : à vérifier
- 71–100 : action auto (suppression/quarantaine)
Couche 3 — LLM (Gemini) pour trancher les cas ambigus C’est là que DEV branche Gemini 3. L’idée : tu n’envoies au modèle que ce qui est “suspect mais pas évident”.
- classer (spam / low-quality / legit)
- donner un niveau de confiance
- expliquer en 2–3 bullets pour audit interne (pas pour l’utilisateur)
Gemini est aussi utilisé dans Google Cloud comme outil de filtering & moderation (Vertex AI) pour appliquer des garde-fous d’entrée/sortie, brand safety et politiques de contenu (source : docs Google Cloud Vertex AI, section Gemini for filtering and moderation).
Couche 4 — Humain + boucle d’apprentissage - File de modération priorisée (les cas “gris”) - Bouton “c’est du spam” pour la communauté (avec anti-abus) - Logging complet : prompt, réponse, décision finale - Ré-entraînement / ajustement des règles et prompts
DEV mentionne qu’ils “tweak” en continu : c’est normal. Le spam évolue, ton système doit itérer.
Le cœur du système : un prompt de modération qui ne fait pas n’importe quoi Le piège classique : un prompt flou = un modèle qui hallucine des intentions.
- un label “content moderation”
- des critères explicites : sécurité, qualité, authenticité, pertinence communautaire, signaux de spam promotionnel
- ajout du contexte auteur
Un prompt “copiable” (pseudo) :
Tu es un classificateur de modération. À partir du contenu et du contexte auteur, retourne : > 1) verdict ∈ {legit, low_quality, spam} > 2) confidence ∈ [0,1] > 3) reasons : 3 bullets factuels basés sur le texte (pas d’inférence gratuite) > Règle : minimise les faux positifs. Si doute, choisir “low_quality” plutôt que “spam”, ou “legit” si pas d’indicateur clair.
Ce garde-fou “minimise les faux positifs” est explicitement dans l’approche DEV : “Err on the side of ‘no false positives’…” (source : article DEV Team).
Les chiffres et le contexte : pourquoi maintenant ? DEV indique que le spam a atteint un pic à l’été 2025 avant déploiement complet des nouveaux systèmes (source : article DEV Team, résumé des résultats de recherche). Rien d’étonnant : 2024–2025, explosion des fermes à contenu et des scripts qui génèrent des posts “humains” à grande échelle.
- du contenu généré à la chaîne,
- des faux tutoriels,
- des promotions déguisées,
- des comptes “semi-légit” qui se chauffent puis spamment.
D’où l’intérêt d’un LLM : il comprend la qualité et l’intention mieux qu’un regex.
Ce que tu peux appliquer dans ton business (même sans DEV-level infra) ### Cas 1 — SaaS B2B avec support et tickets - Couche 1 : friction sur le formulaire public - Couche 2 : scoring basé sur liens, répétitions, domaines - Couche 3 : Gemini pour classer “ticket légitime vs spam vs phishing” - Output : auto-close + tag + alerte sécurité si phishing
Cas 2 — Marketplace / annuaire avec annonces - LLM pour détecter annonces “copiées-collées”, incohérences, promesses irréalistes - Quarantaine automatique si confiance > 0,9 - Sinon : publication mais limitation de visibilité
Cas 3 — Communauté (Discord, forum, commentaires) - Embeddings + similarité pour repérer les vagues - LLM uniquement sur les messages qui passent un seuil - Ban progressif : d’abord limitation, puis ban si récidive
Les garde-fous anti-bullshit (sinon tu vas te planter) 1) Ne laisse pas le modèle exécuter l’action finale sans seuil. Le modèle donne un avis, ton système décide. 2) Journalise tout : si un utilisateur conteste, tu dois pouvoir auditer. 3) Prévois une quarantaine plutôt qu’une suppression directe quand c’est borderline. 4) Mesure : taux de faux positifs, temps modérateur économisé, spam résiduel. 5) Coûts : n’appelle Gemini que sur 5–20% des contenus (les cas ambigus). Le reste = heuristiques.
Pourquoi c’est une opportunité (et pas “l’IA va tuer les communautés”) Le discours anxiogène sur l’IA en modération est souvent du FUD. La réalité : bien utilisée, elle protège les communautés et rend du temps aux humains pour ce qui compte : la nuance, la pédagogie, la culture.
DEV a choisi une voie pragmatique : automatiser l’évident, laisser l’humain gérer le subtil. C’est exactement la stratégie que tu veux dans une PME : efficacité d’abord, sans sacrifier la confiance.
Tu veux automatiser tes opérations avec l'IA ? Réserve un call de 15 min pour en discuter.
