Intelligence Artificielle

Claude system prompts : bibliothèque réutilisable pour PME

13 دقائق للقراءة

Ce que vous saurez faire

A la fin de ce tutoriel, vous disposerez d’une bibliothèque réutilisable de system prompts Claude pour votre PME africaine. Vous saurez stocker, versionner et appeler des prompts professionnels pour le service client, la rédaction commerciale, la facturation en FCFA, le support technique et la communication interne. Cette bibliothèque évitera la duplication de code et garantira la cohérence du ton de marque sur tous vos canaux. Vous apprendrez à organiser vos prompts dans un fichier JSON, à les charger dynamiquement depuis Python, à les paramétrer pour des variables comme le nom du client ou la devise FCFA, et à mesurer leur performance. L’approche est conçue pour des équipes de 3 a 15 personnes au Sénégal qui veulent industrialiser leur usage de Claude sans payer une licence d’orchestration.

Etape 1 : Préparer l’environnement Python

Installez Python 3.10 ou supérieur, puis créez un dossier projet nommé claude-prompts-pme. Dans ce dossier, créez un environnement virtuel et installez les dépendances nécessaires.

python -m venv venv
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate     # Windows
pip install anthropic python-dotenv

Etape 2 : Sécuriser la clé API

Créez un fichier .env a la racine du projet. N’incluez jamais cette clé dans Git. Ajoutez .env au fichier .gitignore avant tout commit.

ANTHROPIC_API_KEY=sk-ant-votre-cle-ici

Etape 3 : Concevoir la structure du fichier de prompts

Créez prompts.json. Chaque prompt aura un identifiant, une description, le texte du system prompt, et une liste de variables attendues. Cette structure permet d’éditer un prompt sans toucher au code.

{
  "service_client": {
    "description": "Réponse aux demandes clients",
    "system": "Tu es un agent de service client pour une PME senegalaise. Tu reponds en francais, poliment, en moins de 150 mots. Devise: FCFA.",
    "variables": ["nom_client"]
  }
}

Etape 4 : Ajouter les prompts métier essentiels

Complétez prompts.json avec cinq prompts couvrant les besoins courants : service_client, redaction_commerciale, facturation_fcfa, support_technique, communication_interne. Chacun doit préciser le ton, la longueur maximale et la langue.

Etape 5 : Créer le chargeur de prompts

Créez prompt_loader.py. Cette classe lit le fichier JSON, valide la présence des champs obligatoires et substitue les variables.

import json

class PromptLibrary:
    def __init__(self, path="prompts.json"):
        with open(path, encoding="utf-8") as f:
            self.prompts = json.load(f)

    def get(self, name, **kwargs):
        p = self.prompts[name]
        text = p["system"]
        for var in p.get("variables", []):
            text = text.replace("[" + var + "]", str(kwargs.get(var, "")))
        return text

Etape 6 : Construire le client Claude

Créez claude_client.py. Cette fonction encapsule l’appel API et accepte un nom de prompt plus les variables.

import os
from anthropic import Anthropic
from dotenv import load_dotenv
from prompt_loader import PromptLibrary

load_dotenv()
client = Anthropic()
lib = PromptLibrary()

def ask(prompt_name, user_message, **kwargs):
    system = lib.get(prompt_name, **kwargs)
    msg = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=600,
        system=system,
        messages=[{"role": "user", "content": user_message}]
    )
    return msg.content[0].text

Etape 7 : Tester le prompt service client

Créez test_service.py et lancez un appel réel pour vérifier la qualité de la réponse.

from claude_client import ask
print(ask("service_client",
          "Mon paiement Wave de 25000 FCFA n'apparait pas",
          nom_client="Aminata"))

Etape 8 : Versionner les prompts avec Git

Initialisez un dépôt Git et committez prompts.json. Chaque modification de ton ou de règle métier sera tracée. Utilisez des messages de commit clairs comme prompt service_client v2 ajout politesse wolof.

Etape 9 : Ajouter un système de fallback

Si une clé n’existe pas, votre code doit lever une erreur explicite plutôt que planter. Ajoutez cette protection dans PromptLibrary.

def get(self, name, **kwargs):
    if name not in self.prompts:
        raise KeyError("Prompt " + name + " absent")
    p = self.prompts[name]
    text = p["system"]
    for var in p.get("variables", []):
        text = text.replace("[" + var + "]", str(kwargs.get(var, "")))
    return text

Etape 10 : Logger chaque appel

Créez un fichier logs.csv avec date, prompt utilisé, tokens consommés et coût estimé en FCFA. Cela vous permettra de suivre votre budget mensuel Claude.

import csv
from datetime import datetime

def log_call(prompt_name, tokens_in, tokens_out):
    cout_fcfa = (tokens_in * 0.0018 + tokens_out * 0.009) * 600
    with open("logs.csv", "a", encoding="utf-8") as f:
        w = csv.writer(f)
        w.writerow([datetime.now(), prompt_name, tokens_in, tokens_out, cout_fcfa])

Etape 11 : Créer une interface en ligne de commande

Créez cli.py pour que votre équipe non technique puisse utiliser la bibliothèque sans coder. Le script demande le nom du prompt et le message.

from claude_client import ask

nom = input("Prompt : ")
msg = input("Message : ")
print(ask(nom, msg))

Etape 12 : Documenter chaque prompt

Ajoutez un champ exemples dans prompts.json. Listez 2 ou 3 cas d’usage type. Cela facilite la prise en main par un nouveau collaborateur a Dakar ou Thies.

Etape 13 : Mettre en place une revue mensuelle

Programmez le premier lundi du mois une réunion de 30 minutes pour analyser logs.csv. Identifiez les prompts les plus utilisés, les coûts par département et les améliorations a apporter.

Etape 14 : Déployer la bibliothèque sur un serveur partagé

Hébergez le code sur un VPS ou un dossier réseau. Assurez-vous que le fichier .env reste protégé. Donnez accès en lecture seule a vos collaborateurs et en écriture uniquement au responsable IT.

Erreurs

Erreur fréquente : oublier d’échapper les caractères spéciaux dans les messages clients qui peuvent contenir des accents ou des symboles. Toujours utiliser encoding utf-8 lors de l’ouverture des fichiers. Erreur de coût : ne pas limiter max_tokens, ce qui peut générer des réponses de 4000 tokens et coûter 50 FCFA par appel au lieu de 10. Erreur de sécurité : committer le fichier .env. Erreur métier : utiliser un prompt service client pour de la rédaction commerciale, le ton sera inadapté. Erreur de version : modifier prompts.json en production sans tester localement, ce qui peut casser tous les appels en cours.

Checklist

Vérifiez ces points avant de mettre en production. Python 3.10 installé. Environnement virtuel actif. Fichier .env présent et exclu de Git. prompts.json contient au moins 5 prompts métier validés. PromptLibrary lève une erreur claire si un prompt manque. claude_client.py limite max_tokens a 600 par défaut. logs.csv enregistre chaque appel avec coût en FCFA. cli.py fonctionne pour un utilisateur non technique. Revue mensuelle planifiée dans le calendrier de l’équipe. Documentation de chaque prompt avec au moins 2 exemples. Sauvegarde quotidienne du dossier projet sur un disque externe ou un cloud sécurisé.

Étape 1 — Définir la structure standard d’un system prompt

Pourquoi commencer par un format unique : sans structure partagée, chaque collaborateur invente sa propre forme et la bibliothèque devient ingérable au bout de 20 prompts. Le format ci-dessous tient en cinq blocs et fonctionne pour 80 % des cas métier d’une PME.

## Rôle
[Une phrase : "Tu es un assistant qui ..."]

## Contexte
[Activité, zone géographique, devise, langue de réponse]

## Tâche
[Action principale et sous-actions, en impératif]

## Contraintes
[Ce qu'il faut éviter, format de sortie, longueur]

## Exemples
[1 à 3 exemples entrée → sortie]

Ce que vous devez voir : un fichier Markdown de 30 à 80 lignes par prompt. Au-delà de 120 lignes, c’est le signe que le prompt couvre trop de cas — découpez en deux assistants distincts.

Étape 2 — Créer le premier prompt « Réponse client WhatsApp »

La majorité des PME à Dakar, Abidjan ou Cotonou reçoit ses commandes par WhatsApp Business. Un assistant qui pré-rédige des réponses fait gagner 1 à 2 heures par jour à un commercial.

## Rôle
Tu es un assistant qui rédige des réponses WhatsApp en français pour une PME basée à Dakar.

## Contexte
- Boutique en ligne de vêtements et accessoires
- Devise : FCFA (jamais d'EUR sauf mention explicite client)
- Livraison Dakar : 1 500 FCFA, 24h
- Paiements acceptés : Wave, Mixx by Yas, Orange Money, espèces

## Tâche
Rédige une réponse claire en moins de 60 mots, ton chaleureux, sans emoji excessif (max 1).

## Contraintes
- Pas de "cher client" (formel inadapté à WhatsApp)
- Pas de formules longues type "nous restons à votre disposition"
- Si question prix : donner le prix exact en FCFA
- Si question livraison hors Dakar : demander la ville avant de chiffrer

## Exemples
Entrée : "C combien le sac vert ?"
Sortie : "Bonjour 🙂 Le sac vert est à 18 500 FCFA, livraison Dakar 1 500 FCFA. On vous le réserve ?"

Confirmation pratique : sur 10 messages clients réels, l’assistant produit 8 réponses publiables sans modification. Les 2 cas restants sont généralement des questions hors-périmètre (SAV produit reçu) — à router vers un humain.

Étape 3 — Créer un prompt « Génération de fiche produit »

Pour une boutique de 200 références, écrire les fiches produits prend des semaines. Un prompt dédié transforme une photo + 3 mots-clés en fiche complète prête à coller dans WooCommerce.

## Rôle
Tu es un rédacteur de fiches produits pour une boutique en ligne ouest-africaine.

## Contexte
Catégorie : mode féminine (boubous, ensembles, accessoires)
Public : femmes 25-45 ans, Sénégal, Côte d'Ivoire, Bénin
Tonalité : moderne, sans clichés "exotiques"

## Tâche
À partir d'un nom de produit et 3 mots-clés, génère :
1. Un titre SEO (max 60 caractères)
2. Une description courte (40-50 mots)
3. Une description longue (150-200 mots, 3 paragraphes)
4. 5 bullets points "caractéristiques"
5. Une meta description (130-156 caractères)

## Contraintes
- Pas de superlatifs creux ("le meilleur", "incroyable")
- Donner au moins 1 fait précis (matière, taille, entretien)
- Ne pas inventer un prix
- Devise des éventuelles mentions tarifaires : FCFA

Pourquoi ce découpage : les 5 sorties correspondent exactement aux champs WooCommerce + Yoast. Le commercial copie chaque bloc dans le bon champ, sans réécriture.

Étape 4 — Créer un prompt « Réconciliation Mobile Money »

Cas concret : la PME reçoit 60 paiements Wave + Mixx by Yas + Orange Money par jour. La compta doit pointer chaque transaction avec une commande WooCommerce. Un assistant peut accélérer ce travail si les exports sont fournis en CSV.

## Rôle
Tu es un assistant comptable qui rapproche des paiements mobile money avec des commandes.

## Contexte
- Sources : export Wave Business, export Mixx by Yas, export Orange Money Business, export WooCommerce
- Devise unique : FCFA
- Période : 1 mois glissant

## Tâche
Pour chaque ligne paiement :
1. Trouver la commande WooCommerce du même montant ± 10 FCFA
2. Vérifier la concordance numéro client / téléphone client
3. Marquer "OK", "DOUTE", ou "ABSENT"
4. Sortir un tableau Markdown trié par statut

## Contraintes
- Ne pas inventer de référence si non trouvée
- Pour DOUTE : préciser la raison en 5 mots
- Ne pas accepter une concordance "à 100 FCFA près"

Ce que vous devez voir : un tableau de 60 lignes avec, en moyenne, 50 OK, 7 DOUTE, 3 ABSENT. Le comptable ne traite manuellement que les 10 dernières lignes — gain de temps de 80 % environ.

Étape 5 — Stocker la bibliothèque dans un dépôt versionné

Pourquoi un dépôt Git : les prompts évoluent (nouveaux produits, changement de tarif Wave, ajout d’une langue). Sans historique, on perd la version qui marchait avant la dernière retouche.

mkdir prompts-pme && cd prompts-pme
git init
mkdir -p ventes/whatsapp ventes/fiches compta marketing
echo "# Bibliothèque de prompts PME" > README.md
git add . && git commit -m "init bibliothèque prompts"

Test concluant : git log --oneline retourne au moins le commit initial. Chaque nouveau prompt fait l’objet d’un commit séparé avec message explicite (« ajout prompt fiche produit boubou femme »). Hébergez sur un GitLab self-hosted (Hetzner CX22 à 4,51 EUR par mois ≈ 2 960 FCFA) ou un GitHub privé gratuit.

Étape 6 — Tester chaque prompt sur un jeu de 10 cas réels

Un prompt qui marche sur 1 exemple ne tient pas la production. Le test à 10 cas révèle systématiquement 1 ou 2 angles morts (cas du client qui demande en wolof, cas du produit en rupture).

Pour chaque prompt :
1. Préparer 10 entrées variées (faciles, moyennes, edge cases)
2. Lancer chaque entrée dans un nouveau chat (pas de pollution contexte)
3. Noter chaque sortie : OK / À retoucher / Échec
4. Si > 2 "Échec" → réécrire la section Contraintes
5. Re-tester jusqu'à ≥ 8 OK / 10

Pourquoi 8/10 et pas 10/10 : viser la perfection paralyse. À 8/10, l’humain garde la main sur les cas difficiles, ce qui est sain pour la qualité finale. Au-dessous de 6/10, le prompt n’est pas mûr.

Étape 7 — Documenter l’usage et former l’équipe

Un prompt non documenté ne sera utilisé que par son auteur. La documentation tient en une fiche par prompt, format A4 imprimable.

FICHE PROMPT — Réponse client WhatsApp
Pour qui : commerciaux, hotline
Quand : tout message client < 200 caractères
Outil : Claude.ai (compte équipe) ou app WhatsApp interne
Entrée à fournir : message client copié tel quel
Sortie : 1 réponse à valider avant envoi
Cas à éviter : SAV produit défectueux (route humain)
Auteur / version : N. Diallo / v1.2 / 2026-04-15

Sortie attendue : un classeur partagé (Drive ou Notion) avec une fiche par prompt et un sommaire alphabétique. Au bout de 6 mois, comptez 15 à 25 prompts pour une PME de 5 à 20 personnes.

Étape 8 — Réviser la bibliothèque tous les trimestres

Les prix changent (Mixx by Yas a remplacé Free Money), les produits évoluent, les modèles sont mis à jour. Une revue trimestrielle évite la dérive.

Checklist trimestrielle :
[ ] Tarifs cités dans les prompts toujours valides ?
[ ] Noms d'opérateurs / outils à jour ?
[ ] Les 2 prompts les plus utilisés ont-ils été retestés sur 10 cas ?
[ ] Les prompts non utilisés depuis 6 mois sont-ils archivés ?
[ ] La structure (5 blocs) est-elle respectée partout ?

Validation visuelle : à l'issue de la revue, au moins 1 prompt est mis à jour, 0 à 1 est archivé. Si rien ne change pendant 2 trimestres consécutifs, c'est que la bibliothèque est sous-utilisée — relancez la formation.

Étape 9 — Mesurer le retour sur temps investi

Sans mesure, une bibliothèque finit par être perçue comme "un gadget IT". Trois indicateurs simples suffisent.

Indicateur 1 : nombre de prompts actifs (cible : 10-25)
Indicateur 2 : utilisateurs actifs / mois (cible : ≥ 60% des concernés)
Indicateur 3 : temps gagné estimé par catégorie de tâche (auto-déclaré)

Suivi : tableur partagé, mise à jour mensuelle, 5 minutes par responsable

Sur le même thème sur l'organisation des assistants IA en PME, voyez le guide IA pour PME principal et le tutoriel bibliothèque de prompts Claude qui détaille les patterns avancés (chaînage, fonctions, sorties JSON).

Articles connexes Claude

مشاركة