Construire un agent IA pour une entreprise nord-africaine ne se limite pas à ajouter une langue à une liste. Il s'agit de comprendre que vos clients ne restent pas dans une seule langue — ils naviguent entre elles en pleine phrase, en pleine conversation, parfois en plein mot. Un agent multilingue qui traite chaque langue comme un mode séparé frustrera ces utilisateurs. Un agent conçu avec le code-switching en tête leur paraîtra naturel.
Voici comment construire un agent qui fonctionne pour les marchés FR/AR/EN, basé sur les réalités de la communication marocaine.
Comprendre la réalité linguistique
Au Maroc, l'usage des langues suit des patterns approximatifs :
- Darija (arabe marocain) — la langue de la vie quotidienne, de la famille et du commerce informel. Écrite en script arabe ou romanisé (franco-arabe), souvent mélangée avec le français.
- Français — la langue des affaires, de l'éducation formelle et du commerce urbain. La plupart des Marocains éduqués passent au français pour les sujets techniques ou professionnels.
- Arabe standard (Fusha) — utilisé dans les contextes écrits formels et certains médias. Moins courant dans les messages WhatsApp conversationnels.
- Anglais — en croissance chez les jeunes et les utilisateurs orientés tech.
Un message WhatsApp d'un vrai client marocain pourrait ressembler à : "Salam, 3afak wach kayn delivery pour Casablanca ? Et c'est combien les frais ?"
Un agent qui ne gère que le français complet ratera le "salam" et le "wach kayn" et pourrait mal classifier l'intention. Un agent entraîné uniquement sur l'arabe littéraire échouera complètement sur le Darija.
Détection plutôt que déclaration
La première décision : demandez-vous aux clients quelle langue ils préfèrent, ou la détectez-vous ?
Demander est tentant mais ajoute de la friction. La plupart des clients ne veulent pas faire une sélection de menu avant d'obtenir de l'aide. La détection fonctionne mieux en pratique.
Une stratégie de détection pratique :
- Détection du script en premier : Si le message contient des caractères en script arabe, supposez que le client est à l'aise avec l'arabe/Darija. Répondez en Darija.
- Détection de mots-clés français : Les mots-outils français courants ("je", "vous", "est-ce que", "combien", "merci") suggèrent le français comme registre préféré.
- Repli sur l'anglais : Si ni le script arabe ni les mots-clés français ne sont détectés, par défaut en anglais ou en français selon votre marché principal.
- Persistance de la conversation : Une fois une langue détectée, la conserver pour toute la conversation sauf si le client change explicitement.
Ce n'est pas parfait, mais c'est suffisant pour 80 % des cas et ne nécessite pas de NLP sophistiqué.
Structurer votre prompt pour un comportement multilingue
Si vous construisez sur un modèle de langage (Claude, GPT, Gemini), le prompt système est l'endroit où le comportement multilingue est établi. Un prompt système pour un agent commercial marocain devrait inclure :
Vous êtes un agent de support client pour [Nom de l'entreprise], une entreprise marocaine qui vend [produits/services]. Comportement linguistique : - Détectez la langue du message du client et répondez dans la même langue. - Si le client écrit en Darija marocain (y compris romanisé/franco-arabe), répondez en Darija simple et naturel. Utilisez le script arabe, pas le romanisé. - Si le client écrit en français, répondez en français. - Si le client écrit en anglais, répondez en anglais. - Si le message mélange les langues, répondez dans la langue dominante. - Ne demandez jamais au client de choisir une langue. Ton : Amical, chaleureux, direct. Utilisez "3afak" (s'il vous plaît) et "shukran" (merci) dans les réponses en Darija. Utilisez "s'il vous plaît" et "merci" en français.
Les instructions linguistiques explicites empêchent le modèle de se replier sur la langue la plus représentée dans ses données d'entraînement.
Gérer les défis spécifiques au Darija
Plusieurs défis surgissent spécifiquement avec le Darija :
Darija romanisé ("franco-arabe") : Des messages comme "wach kayn delivery ?" doivent être reconnus comme du Darija même s'ils sont en script latin. Incluez des exemples dans votre prompt système : "Des exemples de Darija romanisé incluent : wach, kayn, kifach, bghit, 3afak, shhal, fin."
Substitutions numériques : Le texte arabe marocain utilise souvent des chiffres pour des sons absents de l'alphabet latin : "3" pour ع, "7" pour ح, "9" pour ق. Votre agent devrait reconnaître "3afak" comme "عفاك" (s'il vous plaît) et "9rib" comme "قريب" (bientôt/près).
Lacunes de vocabulaire : Certaines catégories de produits n'ont pas de terme standard en Darija et sont toujours désignées en français ("livraison" et non "تسليم", "commande" et non "طلبية"). Entraînez votre agent à gérer ces termes français même dans des conversations par ailleurs en Darija.
Architecture pratique pour un agent WhatsApp
Un agent WhatsApp multilingue en production nécessite :
- Gestionnaire de webhook — reçoit les messages entrants de l'API Cloud WhatsApp
- Détecteur de langue — détection simple script/mot-clé pour définir la langue de la conversation
- Stockage de contexte — mémorise l'historique de la conversation et la préférence linguistique par client
- Appel LLM — envoie le prompt système + l'historique de la conversation au modèle de langage
- Formateur de réponse — formate la sortie du LLM en format de message WhatsApp
- Gestionnaire de repli — transfère à un agent humain quand la confiance est faible
Le composant le plus important est le stockage de contexte. Sans lui, chaque message est traité indépendamment et l'agent ne peut pas maintenir des conversations cohérentes ni une cohérence linguistique.
Ce qu'il faut automatiser vs ce qu'il faut transférer
Les agents multilingues fonctionnent mieux sur des tâches bien délimitées :
- Questions de disponibilité des produits et de tarification
- Consultations du statut de commande
- Horaires d'ouverture et localisation
- Estimation des délais et coûts de livraison
- FAQ basiques (politique de retour, moyens de paiement)
Ils peinent avec :
- Les réclamations nécessitant de l'empathie et de la négociation
- Les commandes personnalisées complexes
- Le support technique pour les produits physiques
- Tout ce qui nécessite un jugement sur des situations spécifiques
Créez des chemins d'escalade clairs. Quand l'agent ne peut pas aider, il doit le dire immédiatement et connecter à un humain — pas continuer à générer des réponses génériques. Les clients pardonnent bien mieux à un IA qui dit "laissez-moi vous transférer à quelqu'un" qu'à un qui répond avec confiance de façon incorrecte.
AidGens construit ces flux d'agents multilingues pour les entreprises marocaines. Si vous êtes curieux de savoir à quoi ressemble une configuration pour votre cas d'usage spécifique, contactez-nous sur WhatsApp ou par email.
