La plupart des agences externalisent leur contenu ou embauchent un rédacteur junior pour produire en masse des articles SEO qui ont l'air d'avoir été générés par un grille-pain. Nous avons essayé. Ça n'a pas marché. Alors nous avons construit quelque chose de différent -- un pipeline IA multi-modèles qui rédige, humanise, évalue et publie des articles à un rythme qu'aucun rédacteur seul ne pourrait égaler, tout en maintenant un standard de qualité qui reflète vraiment notre façon de penser le développement web.

Ceci est l'histoire de comment nous avons publié 91 articles en moins de trois mois, les outils et modèles spécifiques que nous avons assemblés, et chaque leçon désagréable que nous avons apprise en chemin.

Table des matières

Why We Built Our Own Blog Pipeline with Claude, GPT-4o & Winston AI

Le problème avec le contenu des agences

Voici une vérité que personne dans le monde des agences ne veut dire à haute voix : la plupart des boutiques de développement sont terribles en marketing de contenu. Nous ne faisons pas exception -- ou du moins, nous ne l'étions pas.

Nous avions le problème classique. Notre équipe sait comment construire des choses avec Next.js, Astro, et diverses plates-formes headless CMS. Nous livrons de vrais produits pour de vrais clients. Mais en écrire ? De façon cohérente ? À un rythme qui fait vraiment bouger l'aiguille SEO ? C'est un muscle complètement différent.

Nous avons essayé d'embaucher des rédacteurs indépendants. La profondeur technique était faible. Nous avons essayé de faire écrire les développeurs. Ils produiraient un article brillant puis disparaîtraient dans un sprint pendant six semaines. Nous avons essayé la génération IA basique avec ChatGPT -- la sortie ressemblait à un article Wikipedia qui aurait eu un bébé avec une brochure marketing.

Alors nous nous sommes demandé : et si nous traitions la production de contenu comme un problème d'ingénierie logicielle ? Et si nous construisions un pipeline ?

Architecture de notre pipeline de blog

Le pipeline a cinq étapes. Chaque étape a un modèle ou un outil spécifique responsable, et chacun produit une sortie mesurable qui alimente l'étape suivante.

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│  Recherche &  │────▶│  Claude Opus  │────▶│  GPT-4o     │
│  Génération   │     │  Premier      │     │  Humaniseur │
│  de brief     │     │  brouillon    │     │             │
└─────────────┘     └──────────────┘     └─────────────┘
                                                │
                                                ▼
                                         ┌─────────────┐
                                         │  Détection  │
                                         │  Winston AI │
                                         └─────────────┘
                                                │
                                                ▼
                                         ┌─────────────┐
                                         │  Édition    │
                                         │  humaine &  │
                                         │  publication│
                                         └─────────────┘

Étape 1 : Recherche et génération de brief

Nous utilisons une combinaison d'Ahrefs pour la recherche de mots-clés et de l'API de Tavily pour l'analyse concurrentielle en temps réel. Le brief est un document JSON structuré qui inclut :

  • Mot-clé cible et mots-clés secondaires
  • Les 10 meilleurs articles concurrents (titres, nombre de mots, structures H2)
  • Les questions « Les gens demandent aussi » scrappées de Google
  • Un plan proposé avec un nombre de mots cible par section

Ce brief devient le prompt d'entrée pour Claude.

Étape 2 : Premier brouillon Claude Opus

Claude Opus 4 rédige le premier brouillon. Plus de détails ci-dessous.

Étape 3 : Passe d'humanisation GPT-4o

Le brouillon passe par GPT-4o avec un prompt système soigneusement réglé conçu pour que l'écriture ressemble à celle d'une vraie personne.

Étape 4 : Détection Winston AI

Nous évaluons chaque article via Winston AI. S'il n'atteint pas notre seuil, il repasse par l'humaniseur avec des paramètres différents.

Étape 5 : Édition humaine et publication

Une vraie personne lit chaque article. Elle vérifie l'exactitude technique, ajoute des anecdotes personnelles où approprié, et gère le formatage final.

Pourquoi Claude Opus 4 pour les premiers brouillons

Nous avons testé tous les modèles majeurs pour la génération de premiers brouillons. Voici ce que nous avons trouvé :

Modèle Profondeur technique (1-10) Qualité de la structure (1-10) Nombre de mots moyen Score de détection IA (Winston) Coût par article
GPT-4o 7 8 2 400 32% humain 0,18 $
Claude Opus 4 9 9 3 100 28% humain 0,42 $
Claude Sonnet 4 8 8 2 600 35% humain 0,08 $
Gemini 2.5 Pro 7 7 2 800 30% humain 0,14 $
Llama 3.1 405B 6 6 2 200 41% humain 0,03 $

Claude Opus 4 a gagné sur les deux dimensions qui nous importaient le plus : la profondeur technique et la qualité structurelle. Les scores de détection IA étaient en fait pires que la sortie brute de GPT-4o, mais cela n'avait pas d'importance car nous n'allions pas publier la sortie brute d'aucun modèle.

La chose à propos de Claude Opus qui est difficile à quantifier dans un tableau est celle-ci : il suit les instructions complexes plus fidèlement que n'importe quoi d'autre que nous avons testé. Quand nous disons « écris comme un développeur senior partageant des connaissances chèrement acquises », Claude fait vraiment basculer son registre. GPT-4o a tendance à revenir à une voix d'assistant utile peu importe comment vous le poussez. Gemini produit du contenu technique décent mais devient bizarrement formel par endroits.

La différence de coût est réelle -- Opus est environ 2-5 fois plus cher par token que les alternatives. Mais quand vous tenez compte du temps économisé sur les révisions, c'est l'option la moins chère au total.

Le prompt système qui a fait la différence

Nous avons itéré sur notre prompt système Claude pendant environ trois semaines avant de trouver quelque chose qui produisait de façon cohérente de bonnes sorties. Quelques choses que nous avons apprises :

  1. L'interdiction de phrases spécifiques fonctionne mieux que de demander un ton. Au lieu de dire « écris sur un ton décontracté », nous maintenons une liste de mots et de phrases interdits. Des choses comme « exhaustif », « exploiter », « dans le paysage numérique d'aujourd'hui » -- les signes révélateurs du contenu généré par IA.

  2. Forcer les contraintes structurelles produit un meilleur contenu. Nous spécifions les structures de titres exactes, exigeons des blocs de code, demandons des tableaux markdown. Claude Opus suit ces contraintes presque parfaitement.

  3. Fournir un vrai contexte bat les instructions génériques. Nous alimentons la recherche concurrentielle réelle. Nous disons à Claude ce que couvrent les articles les mieux classés et où ils manquent. Cela produit du contenu véritablement différencié.

def generate_first_draft(brief: dict) -> str:
    system_prompt = load_prompt("claude_writer_v14.txt")
    
    messages = [
        {"role": "user", "content": format_brief(brief)}
    ]
    
    response = anthropic_client.messages.create(
        model="claude-opus-4-20250514",
        max_tokens=8192,
        system=system_prompt,
        messages=messages,
        temperature=0.7  # légèrement créatif, pas chaotique
    )
    
    return response.content[0].text

Nous nous sommes arrêtés sur une température de 0,7. Plus bas et l'écriture se sent robotique. Plus haut et Claude commence à inventer des choses -- hallucine des fonctionnalités du framework, invente des points de terminaison API qui n'existent pas.

Why We Built Our Own Blog Pipeline with Claude, GPT-4o & Winston AI - architecture

La passe d'humanisation GPT-4o

C'est là que ça devient intéressant. Et un peu bizarre.

Après que Claude produit un premier brouillon techniquement solide, nous le passons par GPT-4o avec un prompt système complètement différent. Le travail de ce prompt n'est pas d'ajouter des informations -- c'est de rendre l'écriture plus humaine.

Qu'est-ce que cela signifie réellement dans la pratique ? Quelques transformations spécifiques :

  • Variation de la longueur des phrases. Les modèles d'IA ont tendance à écrire des phrases qui sont toutes à peu près de la même longueur. Les humains ne font pas ça. Nous instruisons GPT-4o de mélanger des phrases courtes et percutantes avec des phrases plus longues.
  • Transitions imparfaites. Les vrais articles de blog n'ont pas un flux parfait de paragraphe à paragraphe. Parfois vous sautez juste à la pensée suivante. L'humaniseur ajoute ces pauses naturelles.
  • Insertions à la première personne. « Dans notre expérience », « Nous avons trouvé que », « J'ai passé une semaine à déboguer ceci » -- ces petites touches font une énorme différence dans les scores de détection IA.
  • Contractions. Claude Opus a tendance à écrire « do not » et « it is » même quand on lui demande le contraire. La passe d'humanisation attrape ceux-ci et les convertit.
def humanize_draft(draft: str) -> str:
    system_prompt = load_prompt("gpt4o_humanizer_v8.txt")
    
    response = openai_client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": f"Humanize this article while preserving all technical accuracy and structure:\n\n{draft}"}
        ],
        temperature=0.8
    )
    
    return response.choices[0].message.content

Pourquoi GPT-4o pour cette passe plutôt que Claude ? Honnêtement, c'est parce que GPT-4o est meilleur pour sonner décontracté. La force de Claude est la précision technique et le suivi des instructions. La force de GPT-4o est d'imiter les modèles d'écriture humaine. Nous jouons les forces de chaque modèle.

L'approche double-modèle n'était pas notre première idée

Nous avons d'abord essayé de tout faire avec un seul modèle. Un prompt, une passe, une sortie. Les résultats étaient médiocres partout. Le brouillon était soit techniquement fort mais robotique, soit conversationnel mais superficiel.

Diviser le pipeline en étapes spécialisées était la percée. C'est le même principe que les microservices -- chaque composant fait une chose bien.

Détection Winston AI et le seuil de 85%

Nous avons choisi Winston AI comme outil de détection après avoir testé cinq détecteurs de contenu IA différents. Voici pourquoi :

Détecteur Cohérence (même entrée, même score ?) Taux de faux positifs API disponible ? Prix/mois
Winston AI Élevée Faible (~3%) Oui 18 $/mois
Originality.ai Élevée Moyen (~8%) Oui 15 $/mois
GPTZero Moyen Moyen (~7%) Oui 10 $/mois
Copyleaks Moyen Faible (~4%) Oui 8 $/mois
Sapling Faible Élevé (~12%) Oui Niveau gratuit

Winston AI nous a donné les scores les plus cohérents sur plusieurs exécutions. Si vous lui envoyez le même article deux fois, vous obtenez presque le même score humain. Cela importe quand vous construisez un pipeline automatisé -- vous avez besoin d'un comportement un peu déterministe pour prendre des décisions.

Notre seuil est un score humain de 85%. En dessous, l'article repasse par l'humaniseur avec des paramètres ajustés (température plus élevée, accent d'instruction différent). S'il échoue une deuxième fois, une personne réécrit manuellement les sections signalées.

En pratique, environ 70% des articles passent lors de la première exécution de l'humaniseur. Un autre 20% passent à la deuxième. Les 10% restants ont besoin d'une intervention manuelle.

def check_detection(article: str) -> dict:
    result = winston_client.scan(text=article)
    
    return {
        "human_score": result.score,  # 0-100
        "passed": result.score >= 85,
        "flagged_sentences": result.flagged_sentences
    }

Le champ flagged_sentences est en or. Au lieu de réexécuter tout l'article, nous pouvons cibler uniquement les phrases qui ont déclenché le détecteur. Cela économise des tokens et produit de meilleurs résultats.

Le workflow complet étape par étape

Voici ce qui se passe vraiment quand nous voulons publier un nouvel article :

  1. Sélection des mots-clés -- Nous tirons de notre calendrier de contenu (maintenu dans Notion) et recoupons avec les scores de difficulté des mots-clés d'Ahrefs. Nous ciblons KD < 30 pour les nouveaux sujets.

  2. Recherche concurrentielle -- Notre script frappe l'API de recherche de Tavily et tire les 10 meilleurs résultats. Il extrait les titres, les nombres de mots et les lacunes de contenu.

  3. Génération de brief -- Un appel Claude Sonnet 4 (moins cher que Opus pour cette tâche) génère un brief structuré à partir des données de recherche.

  4. Premier brouillon -- Claude Opus 4 produit l'article. Prend environ 45-90 secondes selon la longueur.

  5. Passe d'humanisation -- GPT-4o réécrit pour la voix et le naturel. Encore 30-60 secondes.

  6. Évaluation de la détection -- Winston AI évalue la sortie. Les résultats reviennent en environ 10 secondes.

  7. Boucle ou continuez -- Si le score < 85%, retour à l'étape 5 avec des paramètres modifiés. Maximum 2 tentatives.

  8. Révision humaine -- Un membre de l'équipe lit l'article, vérifie les faits, ajoute des captures d'écran ou des diagrammes, et formate pour notre CMS.

  9. Publication -- L'article s'en va en direct via notre pipeline de déploiement headless CMS.

Temps total par article : environ 35 minutes d'attention humaine. Les étapes d'IA prennent environ 3 minutes de temps de calcul.

Ce que 91 articles nous ont appris sur le contenu IA

Nous exécutons ce pipeline depuis janvier 2025. Voici les modèles qui ont émergé :

Le contenu technique performe mieux

Nos articles les plus performants sont des pièces profondément techniques sur des frameworks et outils spécifiques. Les articles sur les modèles de développement Next.js ou l'optimisation des performances d'Astro surpassent constamment le contenu générique « qu'est-ce qu'un headless CMS ».

Cela a du sens. Le contenu générique généré par IA est partout maintenant. Les algorithmes de classement de Google favrisent clairement la spécificité et la profondeur. Notre pipeline est conçu pour produire exactement ce type de contenu.

Les 30 premiers articles étaient rugueux

Je ne vais pas prétendre que nous l'avons cloué dès le premier jour. Le premier lot d'articles avait des problèmes :

  • Voix incohérente sur les articles
  • Certaines statistiques hallucées (Claude a cité avec confiance un « rapport Gartner 2024 » qui n'existait pas)
  • Des exemples de code qui ne compilaient pas
  • Des structures de section répétitives

Nous avons résolu cela par itération du prompt et révision humaine plus stricte. Le prompt système est maintenant à la version 14. Chaque version abordait des modes de défaillance spécifiques que nous avons identifiés dans le contenu publié.

La détection IA est une cible mouvante

Winston AI a mis à jour son modèle de détection deux fois pendant notre série de trois mois. À chaque fois, nos scores ont chuté de 5-10 points et nous avons dû ajuster le prompt humaniseur. Ceci est une course aux armements continue, et si vous construisez quelque chose de similaire, prévoyez de la maintenance.

L'examen humain est non-négociable

Nous avons essayé de sauter l'examen humain pour un lot de 5 articles comme expérience. Deux d'entre eux avaient des erreurs factuelles qui nous auraient embarrassés. Un référençait une API qui a été dépréciée en 2023. Un autre affirmait que Next.js 15 supportait une fonctionnalité qui est en réalité toujours en RFC.

Chaque article obtient des yeux humains. Point.

Ventilation des coûts et données de performance

Voici les vrais chiffres de notre série de 91 articles :

Métrique Valeur
Articles totaux publiés 91
Nombre de mots moyen 2 847
Coûts totaux de l'API IA 127,40 $
Coût moyen par article (IA uniquement) 1,40 $
Abonnement Winston AI (3 mois) 54,00 $
Abonnement Ahrefs (3 mois) 297,00 $
Coûts de l'API Tavily 42,00 $
Temps d'examen humain (moyen par article) 35 min
Heures humaines totales ~53 heures
Articles passant Winston à la première tentative 64 (70%)
Articles nécessitant une réécriture manuelle 9 (10%)
Score humain moyen Winston AI (final) 89%
Augmentation du trafic organique (janv.-mars 2025) +340%
Augmentation des pages indexées +86

Les 1,40 $ par article en coûts d'IA est remarquablement bas. La vraie dépense est le temps humain -- 53 heures sur trois mois pour l'examen et l'édition. Mais comparez cela avec ce qu'un rédacteur technique indépendant facturerait. À 0,15 $/mot pour du contenu technique de qualité, un article de 2 847 mots coûterait environ 427 $. Nous produisons du contenu de qualité comparable pour environ 35 $ en temps humain (à un taux de 40 $/heure) plus 1,40 $ en coûts d'IA.

C'est une réduction de coût de 91%. Et la sortie est plus techniquement précise car les modèles d'IA ont des connaissances plus larges que n'importe quel rédacteur indépendant.

Outils que nous avons évalués et rejetés

Pas tout ce que nous avons essayé a fait son chemin dans le pipeline final :

  • Jasper AI -- Trop axé sur la copie marketing. N'a pas pu produire la profondeur technique dont nous avions besoin. Aussi cher à 59 $/mois pour leur niveau commercial.
  • Copy.ai -- Problèmes similaires à Jasper. Génial pour la copie publicitaire, pas pour les articles techniques de 3 000 mots.
  • Undetectable.ai -- Nous avons essayé cela comme humaniseur à la place de GPT-4o. La sortie était maladroite sur le plan grammatical et changeait parfois le sens technique des phrases. Rejet catégorique.
  • Surfer SEO -- Bon outil, mais nous avons préféré construire notre propre analyse SEO avec les données d'Ahrefs. L'éditeur de contenu de Surfer semblait trop restrictif.
  • Perplexity API -- Nous avons testé ceci pour l'étape de recherche. Les résultats étaient bons mais le format de citation ne s'intégrait pas bien à notre structure de brief. Pourrions revisiter.

FAQ

N'est-ce pas juste du spam de contenu ?

Non. Chaque article passe par l'examen humain pour l'exactitude technique et l'utilité réelle. Nous ne tournons pas de contenu ou ne publions pas de pages minces. Chaque pièce cible un mot-clé spécifique avec une vraie profondeur. L'IA gère le travail lourd de la génération du premier brouillon, mais le jugement éditorial est entièrement humain. Consultez notre contenu sur le site -- nous nous maintenons au même standard qu'un blog technique que nous aimerions lire.

Pourquoi ne pas embaucher simplement des rédacteurs ?

Nous utilisons toujours des rédacteurs humains pour certaines pièces -- études de cas, articles d'opinion, et tout ce qui nécessite une expérience client directe. Mais pour les explications techniques et les articles de comparaison, notre pipeline produit de meilleurs premiers brouillons que la plupart des rédacteurs indépendants car les modèles d'IA ont des connaissances techniques plus larges et plus actuelles. L'économie rend aussi possible de publier à un volume qui serait prohibitif avec les indépendants seuls.

Google pénalise-t-il le contenu généré par IA ?

La position officielle de Google depuis leur mise à jour de mars 2024 est qu'ils évaluent la qualité du contenu peu importe comment il est produit. Ils pénalisent le contenu de faible qualité produit en masse -- qu'il soit généré par IA ou écrit par une ferme de contenu dans une langue que le rédacteur ne parle pas nativement. Notre contenu se classe bien parce qu'il est genuinement utile, techniquement précis et bien structuré. Nous avons vu des améliorations cohérentes de l'indexation et du classement sur nos 91 articles.

Que signifie exactement le score humain Winston AI ?

Winston AI analyse les modèles de texte -- perplexité, rafales, variation de la structure des phrases, distribution du vocabulaire -- et produit un score de 0 à 100 représentant la probabilité que le texte ait été écrit par un humain. Un score de 85 signifie que Winston croit qu'il y a 85% de chance qu'un humain l'ait écrit. Aucun détecteur n'est parfait, mais la cohérence de Winston le rend utile comme porte de qualité dans un pipeline automatisé.

Pourriez-vous open-sourcer ce pipeline ?

Nous y avons réfléchi. La logique centrale n'est pas si complexe -- c'est surtout des appels d'API cousus ensemble avec Python. La vraie valeur est dans les prompts, et ceux-ci sont réglés spécifiquement à notre voix et domaine technique. Nous pourrions publier une version générique à un moment donné. Si vous êtes intéressé, contactez-nous.

Comment gérez-vous les exemples de code dans les articles ?

C'est un domaine où l'examen humain est critique. Claude Opus génère du code syntaxiquement correct environ 90% du temps, mais les 10% restants incluent des bogues subtils, des API dépréciées ou des modèles qui feraient grimacer un développeur expérimenté. Chaque bloc de code est vérifié manuellement. Pour le code spécifique au framework, nous l'exécutons souvent localement pour confirmer qu'il fonctionne.

Que se passe-t-il quand les modèles IA sont mis à jour ?

Les mises à jour de modèle peuvent tout casser. Quand Anthropic a lancé Claude Opus 4, nos prompts qui fonctionnaient parfaitement sur Claude 3 Opus avaient besoin d'un travail de rework significatif. Nous maintenons des prompts versionnés et testons par rapport à un ensemble de benchmark de 10 articles chaque fois qu'un modèle se met à jour. Prévoyez du temps pour ceci -- c'est arrivé trois fois dans notre série de trois mois.

Quoi de neuf pour le pipeline ?

Nous travaillons sur l'ajout de génération automatique de captures d'écran avec Playwright, l'intégration avec notre pipeline de déploiement headless CMS pour la publication en un clic, et la construction d'une boucle de rétroaction où les données de Google Search Console influencent les sujets que nous priorisons ensuite. L'objectif est de réduire ce temps d'examen humain de 35 minutes sans sacrifier la qualité. Nous écrirons probablement à ce sujet quand ce sera fait. Consultez notre page de tarification si vous êtes curieux de savoir comment nous appliquons une pensée systématique similaire aux projets des clients.