Ça fait une semaine que je lutte avec deux problèmes liés dans mon architecture IA.
Le premier : maintenir un RAG qui pilote Claude Code sur mes projets. 176 fichiers agents, 1 117 skills indexés, un système de routage vectoriel. Solide sur le papier — mais les agents éphémères générés à la volée reçoivent les mauvais skills au mauvais moment. Quand je diagnostique le problème, le débogage prend des heures. L'architecture tient, mais elle demande une attention constante.
Le deuxième problème découlait du premier : j'avais du mal à prouver que mon mécanisme d'injection de skills dans le contexte des agents éphémères fonctionnait réellement. Les skills sont indexés, les embeddings sont corrects, mais est-ce que le modèle les utilise vraiment pour structurer son raisonnement ?
C'est en cherchant à répondre à cette question via ma commande /deliberate — un orchestrateur multi-agents qui enregistre les nœuds de raisonnement en base de données — que j'ai découvert quelque chose que je ne cherchais pas.
La langue dans laquelle je rédigeais mes prompts modifiait structurellement le raisonnement. Pas à la marge. Fondamentalement.
Avant de continuer de lire la suite de l'article, je vous invite à vous inscrire à ma newsletter, pour connaître en avant première les futurs sujets traités chaque semaine.
Ce que fait /deliberate
Avant d'aller plus loin, un mot sur l'outil que j'utilisais pour diagnostiquer. /deliberate est une commande qui lance plusieurs agents en parallèle sur un même problème, avec des traits différents (Sceptique, Rêveur, Archéologue, etc.), enregistre leurs nœuds de raisonnement en base de données, et identifie les convergences entre les différents chemins.
L'idée : si trois agents avec des traits différents convergent vers le même nœud, ce nœud est probablement central au problème.
J'avais testé cette commande en français depuis des semaines. Un soir, presque par hasard, j'ai lancé la même session en turc sur le même problème.
Les nœuds générés étaient lexicalement incomparables. Pas une traduction — une structure différente.
Preuve 1 — Le turc force la rigueur épistémique
La première session turque (ID : b14f95d9) portait sur la méthodologie de mes sessions deliberate : pourquoi convergence lexicale nulle mais convergence sémantique riche entre agents de traits différents ?
Les agents turcs ont généré des nœuds comme :
leksikal_başarısızlık
semantik_yakınlaşmanın_başarısı
anlam_vektör_ayrışması
epistemik_durum_sorunu
Le premier nœud — leksikal_başarısızlık — se décompose morphémiquement : leksikal (lexical) + başarı (succès) + -sız (sans) + -lık (nominalisation). « L'état d'absence de succès lexical. » En français, j'aurais écrit absence_convergence_lexicale. Le turc, lui, révèle la structure interne du concept par sa composition de morphèmes visibles.
Mais la découverte la plus frappante est venue de la session 3bff11ae, qui portait sur l'auto-connaissance d'une IA. Le turc possède un système appelé évidentiel : le suffixe -di marque une expérience directe, -miş marque une inférence ou un ouï-dire. Cette distinction est grammaticalement obligatoire.
Quand l'agent turc raisonnait sur « est-ce que Claude sait directement comment il raisonne ? », il ne pouvait pas éviter la question. La grammaire l'y forçait :
« Sistem kendi output-dizisini analiz ederek "böyle akıl yürütmüş olmalıyım" diyebilir ama bu durumda -miş kullanır »
Traduction : « Le système peut dire "j'aurais dû raisonner ainsi" mais dans ce cas il utilise -miş [inférentiel]. »
Le nœud central généré par la session turque sur l'auto-connaissance IA : di_miş_ayrimi — la distinction entre connaissance directe et inférence. Ce nœud n'a pas émergé de mes sessions françaises sur le même problème. Pas parce que le modèle ne connaît pas le concept — mais parce que le français ne force pas son articulation.
Résultat pratique : si vous voulez diagnostiquer la rigueur épistémique de votre raisonnement IA — distinguer ce que le modèle « sait » vraiment de ce qu'il infère — rédigez votre prompt en turc. La grammaire fera le travail à votre place.
Preuve 2 — Le japonais impose une ontologie hiérarchique
La session 3e5db936 portait sur une question qui semblait technique en surface : comment un modèle devrait-il représenter une collection hétérogène (3 chercheurs, 2 microscopes, 47 jeux de données) ?
En japonais, toute collection d'objets doit être accompagnée d'un classificateur nominal (助数詞). Ces classificateurs ne sont pas arbitraires — ils encodent l'ontologie de l'objet :
- 人 (nin) pour les humains → encode l'agentivité
- 台 (dai) pour les machines → encode l'instrumentalité
- 件 (ken) pour les données → encode la discrétion
- 個 (ko) pour les abstractions → encode la conceptualité
L'agent japonais, le 存在論的エンジニア (ingénieur ontologique), a produit le nœud :
助数詞_存在的_分節
« La segmentation ontologique par classificateurs. » Ce que cela signifie en pratique : les 3 chercheurs et les 47 jeux de données ne peuvent pas être traités comme des entités équivalentes dans un graphe de connaissance. La grammaire l'interdit.
「助数詞による強制的カテゴリ化は、従来の『フラットなグラフ』モデルを問い直す」
« La catégorisation obligatoire par classificateurs remet en question le modèle de graphe plat traditionnel. »
Et le nœud de fermeture : 言語的_決定_と_認識_の_閉包. « La décision linguistique ferme la clôture épistémique. » Une fois le classificateur assigné, l'ontologie est verrouillée.
Pour mon problème de RAG : mes graphes de connaissance traitent agents, skills, tables et concepts comme des nœuds équivalents. La session japonaise m'a montré que cette équivalence est peut-être le problème.
Preuve 3 — Le hindi révèle la causalité temporelle
La session ec91694c portait sur l'ergativité scindée du hindi et son impact sur le raisonnement causal.
Le hindi a une propriété typologique rare : le même acteur prend le cas ergatif (-ने) au passé perfectif, et le nominatif au présent ou au futur. Concrètement, la responsabilité causale d'un acteur change grammaticalement selon le temps verbal. Au passé, c'est l'objet qui contrôle le verbe, pas le sujet.
Le trait कारण-विश्लेषक (analyste de causalité) a généré :
दायित्व_असंगत_तर्कशास्त्र
« Logique de responsabilité incohérente. » Ce nœud documente quelque chose que le français ne peut pas exprimer directement : comment la responsabilité causale d'un acteur se déplace selon le moment où on l'observe.
Pour le design de systèmes IA : si votre agent a commis une erreur hier, est-ce que c'est « lui » qui l'a commise, ou est-ce l'état du système au moment de l'action ? La question semble philosophique. En hindi, elle est grammaticalement obligatoire à poser.
Ce que dit la recherche
Ces observations ne sont pas isolées. En 2025, plusieurs travaux ont exploré la question.
« Do Multilingual LLMs Think in English ? » (arXiv 2502.15603) confirme que les LLM traitent majoritairement leurs représentations internes dans un espace proche de l'anglais, quelle que soit la langue d'entrée. Mais cette étude mesure les représentations internes — pas les structures conceptuelles produites en sortie. L'effet que j'observe se passe à un autre niveau : pas dans le traitement interne, mais dans quels nœuds conceptuels émergent du raisonnement.
Cross-lingual Prompting (EMNLP 2023) montre que l'anglais comme langue pivot améliore le raisonnement pour le japonais (+37 %) mais n'apporte aucun bénéfice pour le français — les représentations françaises et anglaises sont déjà proches dans l'espace vectoriel.
LingGym (arXiv 2511.00343) démontre que raisonner explicitement sur des phénomènes morphosyntactiques (ergatif, évidentiel, classificateurs) améliore les performances du modèle sur ces dimensions.
La question centrale reste ouverte : l'effet que j'observe est-il dû à la structure grammaticale (l'évidentiel turc force le marquage, les classificateurs japonais imposent une ontologie) ou à la distribution du pré-entraînement (certains concepts mieux représentés dans certaines langues) ?
Mes sessions /deliberate documentent l'effet empirique. Elles ne tranchent pas sur la cause.
Ce que ça change pour le design de prompts
La conclusion pratique n'est pas « écrire ses prompts en japonais ». C'est une question de design :
La langue est un paramètre, pas une option de traduction.
Choisir la langue dans laquelle vous rédigez un prompt, c'est choisir quels types d'insights sont structurellement probables — pas quels insights sont possibles en théorie.
| Objectif | Langue recommandée | Mécanisme grammatical activé |
|---|---|---|
| Détecter des failles épistémiques | Turc | Marquage obligatoire -di/-miş (direct vs inféré) |
| Analyser des relations entre composants | Français | Nominalisation abstraite, subordination complexe |
| Catégoriser des entités hétérogènes | Japonais | Classificateurs nominaux (助数詞) |
| Analyser la causalité temporelle | Hindi | Ergativité scindée (responsabilité distribuée) |
| Débogage technique, spécifications, comparaisons | Anglais | Précision référentielle, taxonomie plate |
Le trait de l'agent et la langue sont deux instruments indépendants qui se composent. --lang türkçe combiné au trait Épistémologue produit une analyse épistémique et un marquage grammatical obligatoire du statut de chaque affirmation. La combinaison est plus contraignante que chaque élément pris séparément.
La limite que j'ai trouvée
La session b14f95d9 a documenté quelque chose d'important : la convergence lexicale entre agents de traits différents est nulle (zéro nœud en commun sur les mêmes sessions). Mais la convergence sémantique (mesurée par les embeddings bge-m3-onnx) est riche — les nœuds lexicalement incomparables pointent vers les mêmes régions de l'espace vectoriel.
Cela suggère que la contrainte linguistique opère sur la surface lexicale — les mots générés — mais pas nécessairement sur la signification profonde. Deux agents, l'un en turc et l'autre en français, peuvent parvenir aux mêmes conclusions par des chemins formellement incomparables.
Ce qui ne signifie pas que les chemins sont interchangeables. La valeur de l'approche multilingue ne réside pas dans les conclusions — elle réside dans les nœuds intermédiaires qui n'émergent que dans certaines langues, et qui révèlent des dimensions du problème que d'autres langues ne rendent pas structurellement visibles.
Ce que j'ai changé dans mon setup
Suite à ces découvertes, j'ai modifié ma commande /deliberate pour prendre en charge un paramètre --lang :
/deliberate --lang türkçe --problem "..." # Rigueur épistémique
/deliberate --lang 日本語 --problem "..." # Ontologie hiérarchique
/deliberate --lang français --problem "..." # Relations abstraites
Et j'ai ajouté une convention dans ma documentation : quand j'utilise /deliberate pour diagnostiquer un problème d'architecture, je lance systématiquement deux sessions — une en français pour les relations entre composants, une en turc pour la rigueur épistémique. Le delta entre les deux révèle souvent quelque chose que chaque session seule masquait.
Mon problème initial de RAG et d'injection de skills ? Il est toujours en cours. Mais la session turque a produit un nœud de convergence que je n'aurais pas exploré autrement :
corpus_qualite— convergé par 3 agents (Pragmatique, Rêveur, Sceptique) avec pour argument : « Full context ne résout pas le problème si le contenu lui-même est inadapté. »
Le problème n'était pas dans le mécanisme d'injection. Il était dans la qualité des skills indexés.
Et maintenant ?
La langue d'un prompt n'est pas un médium neutre. C'est un système de catégorisation qui préstructure les distinctions conceptuelles disponibles avant que le raisonnement ne commence.
Le turc impose le marquage épistémique. Le japonais impose l'ontologie. Le hindi impose la causalité temporelle. Le français impose la stratification abstraite.
Ces contraintes ne sont pas des limites — ce sont des instruments. Choisir la langue de son prompt, c'est choisir quel type de structure conceptuelle on veut que l'IA mobilise.
La prochaine fois que vous êtes bloqué sur un problème d'architecture IA, essayez de le formuler dans une autre langue. Pas pour la traduction — pour la grammaire.
Pour aller plus loin
Articles liés sur ce blog :
- Agents éphémères : j'ai tenté de supprimer la maintenance de mes agents IA — l'architecture RAG d'où est née cette découverte (article 032)
- Ce n'est pas Claude qui dérive — c'est l'ambiguité de vos documents — comment le langage naturel crée des bugs silencieux dans vos agents (article 045)
- 920 appels LLM par jour : les 4 couches de métriques pour ne rien rater — mesurer l'effet de vos prompts en production (article 042)
Sources externes :
- Do Multilingual LLMs Think in English? (arXiv 2502.15603) — étude sur les représentations internes cross-linguistiques
- Cross-lingual Prompting (EMNLP 2023) — l'anglais comme pivot améliore certaines langues, pas le français
- LingGym: Field Linguist Thinking in LLMs (arXiv 2511.00343) — raisonner sur la morphosyntaxe améliore les performances
- Beyond English: Prompt Translation Strategies (arXiv 2502.09331) — la stratégie de traduction compte plus que la langue
Qui suis je ?
Je suis Mathieu GRENIER, CTO d'Easystrat une startup de Montpellier, en France. Je manage une équipe d'une dizaine d'ingénieurs (Graphistes, IA, frontend, backend, devOps, AWS) en remote depuis le Japon.
J'ai aussi mon activité de freelance, où je conseille des entrepreneurs dans leurs projets d'application.
Avec mon expérience personnelle de plus de 15 ans en ESN, j'ai pu travailler pour un large panel d'entreprises de différentes tailles. Ma compréhension des problèmes métiers est une de mes grandes forces et permet à mes clients de pouvoir se projeter plus facilement.
L'essentiel de mon travail consiste à canaliser l'énergie des entrepreneurs sur l'essence même de leur projet.
La technologie, les méthodes, le management sont le cœur de mes compétences.
Vous pouvez me faire confiance sur ces points là.
Si vous voulez me parler d'un de vos projets, n'hésitez pas à m'envoyer un email avec vos disponibilités à : contact@mathieugrenier.fr
Tous les articles de ce blog sont écrits par moi, même si je peux m'aider de l'IA pour illustrer mes propos. Mais jamais je ne fournis d'articles 100 % IA.
La langue de votre prompt n'est pas neutre — ce que j'ai découvert en testant Claude en turc, japonais et hindi