Symptôme #1
Shadow AI rampant
14 services IA branchés en cartographie SaaS type, sans validation DSI ni statut DPO clair. Le SaaS US est devenu le réflexe par défaut des équipes métier.
14
SaaS IA non validés / cartographie type
Cyrano, notre routeur sémantique, est un mmBERT 110M calibré sur 6 facteurs NVIDIA · 200 prompts gold · 30+ benchmarks Hugging Face. En moins de 12 ms, il arbitre chaque requête entre Qwen3.5 9B (78 %) et Qwen3.6 27B FP8 (22 %), sur GPU souverain EU.
9B
Paramètres petit Qwen
<12 ms
Routing Cyrano p50
78 %
Prompts petit modèle
200
Prompts gold eval set
Voici comment on aborde un projet IA en mode product : observation terrain → hypothèse → spec → itérations → résultats.
Cas concret ci-dessous.
01 · Le constat
Trois symptômes systématiques sur les terrains visités — banque privée, startup IA, ETI industrielle.
Symptôme #1
14 services IA branchés en cartographie SaaS type, sans validation DSI ni statut DPO clair. Le SaaS US est devenu le réflexe par défaut des équipes métier.
14
SaaS IA non validés / cartographie type
Symptôme #2
Jusqu'à 60 €/M tokens facturés sur un cloud large US, alors que 80 % des prompts pourraient tourner sur un modèle local à 0,008 €/M tokens. Marge brute négative dès que le volume monte.
60→0,008
€/M tokens — écart possible
Symptôme #3
Cloud Act, FISA §702, AI Act Article 12. Trois zones d'inconfort que la plupart des stacks IA enterprise ne traitent pas — souvent par manque de roadmap claire, pas par mauvaise volonté.
3
réglementations contournées par défaut
02 · Personas
Trois profils types construits à partir des signaux marché et de l'expérience COCORRIDOR — DSI grand groupe, CTO startup IA, head of data ETI. Pas de témoignages réels : un cadre d'analyse pour confronter l'hypothèse à trois contraintes structurelles distinctes (achats long cycle, burn rate, conformité réglementaire).
Persona A
Persona B
Persona C
03 · Le problème, reformulé
« Les entreprises paient le GPT cloud par défaut, sans questionner si un petit modèle local suffit, et sans visibilité sur les flux extra-UE. »
04 · L'hypothèse
« Un classifier sémantique léger peut renvoyer 78 % des prompts vers un petit modèle local et 22 % vers un plus gros modèle EU, sans dégrader la qualité ressentie. »
Petit modèle
Qwen3.5 · 9B
GPU souverain EU · vLLM
Gros modèle
Qwen3.6 · 27B FP8
GPU souverain EU · vLLM
Critère de succès défini AVANT l'implémentation
Match rate ≥ 85 % sur l'eval set 200 prompts (80 % plancher hard stop). Dégradation perçue < 5 % en double-blind humain. Sans cette barre, on ne déploie pas.
Benchmarks officiels · capacité brute
Voici les benchmarks publics publiés par Alibaba pour la famille Qwen 2.5/3 — face à la concurrence open équivalente (Llama 3.1).
Petit modèle · 78 % des prompts
Benchmarks famille Qwen 2.5/3 · vs concurrents 7-9B
MMLU-Pro
HumanEval
MATH
GSM8K
Source · Qwen 2.5 Technical Report (arXiv:2412.15115, Table 8)
Gros modèle · 22 % des prompts
Benchmarks famille Qwen 2.5/3 · vs GPT-4o mini, Llama 70B, Gemma 27B
MMLU-Pro
HumanEval
MATH
GSM8K
Source · Qwen 2.5 Technical Report (arXiv:2412.15115, Tables 6 et 7)
Pour la perspective · modèles frontier propriétaires
Ces modèles sont dans une autre catégorieque Cyrano : propriétaires, taille indéterminée (estimée 200B-1T+), pricing 10-50× supérieur. On ne les opère pas chez le client — on les cite pour situer l'état de l'art.
Software engineering · 500 tâches GitHub réelles
Questions scientifiques niveau doctorat (198 questions)
Multi-discipline multimodal · texte + image
MMLU multilingue · 57 sujets × 14 langues
Méthodologie
Tous les scores ci-dessus sont issus du Claude Opus 4.5 System Card(Anthropic, novembre 2025, Table 2.3.A). Protocole uniforme appliqué par Anthropic aux 5 modèles : 64k thinking budget, interleaved scratchpads, 200k context window, effort « high », moyenne sur 5 trials. C'est la seule façon d'avoir une comparaison apples-to-apples entre modèles propriétaires concurrents.
Mistral non inclus: Mistral Small 3 ne publie que MMLU (~81 %) sans GPQA/MMMU/SWE-bench officiels. Mistral Medium 3 ne publie pas de chiffres bruts sur les benchmarks standards. Plutôt que de mélanger des sources et fausser la comparaison, on les omet — c'est plus honnête.
Source · anthropic.com/claude-opus-4-5-system-card · Table 2.3.A (« — » = score non publié)
05 · Le router · spec
Cyrano lit chaque prompt et calcule 8 scores entre 0 et 1 — 6 facteurs NVIDIA hérités de l'annotation initiale (creativity, reasoning, constraint count, domain knowledge, contextual knowledge, task type), plus 2 dimensions métier ajoutées au fine-tune (juridique, médical). Pas d'adéquation au modèle — juste la difficulté intrinsèque du prompt, source-agnostic.
reasoning
Profondeur logique requise
code_complexity
Densité technique du code
factual_difficulty
Précision factuelle nécessaire
domain_legal
Spécificité juridique (RGPD, CGI, BNC/BIC)
domain_medical
Spécificité médicale (HDS, posologie)
rag_heavy
Densité documentaire requise
hallucination_risk
Sensibilité aux hallucinations
multilingual
Charge multilingue
mmBERT · 110M
Routeur (identique POC/prod)
ONNX INT8 · 8 dimensions · CPU local · < 12 ms p50
Qwen3.5 · 9B
Petit modèle prod — 78 % des prompts
vLLM · GPU souverain EU · économique et frugal
Qwen3.6 · 27B FP8
Gros modèle prod — 22 % des prompts
vLLM · FP8 · raisonnement long, juridique, code complexe
Phase 4 — cache · PII · jailbreak
FastAPI · multilingual-e5-base · OpenMed-PII-French · Prompt-Guard-86M
Routing sémantique — mmBERT 110M
Rust · Envoy ext_proc · ONNX INT8 · 8 dimensions
Modèles — Qwen3.5-9B vs Qwen3.6-27B-FP8
vLLM · GPU souverain EU · FP8 quantif
Stockage chiffré post-quantique
Postgres + OpenBao · X25519MLKEM768 · SLH-DSA-128f
Hard stops mesurables fixés au sprint 0. Si la barre n'est pas atteinte sur l'eval set 200 prompts, on n'enchaîne pas le sprint suivant.
< 12 ms
Cyrano p50
mmBERT 110M ONNX INT8 sur CPU local
< 30 ms
Phase 4 cascade p50
Cache + PII + jailbreak en série
≥ 85 %
Match rate cible
Sur eval set 200 prompts (80 % plancher hard stop)
Note · simulation visuelle
Cette page est une simulation visuelle du routing — aucun modèle ne tourne sur cette vitrine. L'infrastructure réelle, en cours de build (voir Sprint board ci-après), est hybride et 100 % souveraine UE :
06 · L'entraînement de Cyrano
200 prompts eval gold × 30+ benchmarks HF × 5+ modèles candidats. Plus de 30 000 évaluations cumulées avant la mise en production.
Composition · eval set 200
Pipeline · entraînement Cyrano-ML
De l'annotation des 8 dimensions au modèle quantifié prêt prod. Survolez ou cliquez chaque étape pour ouvrir le panneau de détails — inputs, process, output, métrique de validation et tooling sont cités factuellement.
Pipeline Cyrano-ML v1.2.5 · live trace
Le modèle NVIDIA prompt-task-and-complexity-classifier attribue 6 scores Likert 1-5 par prompt : creativity, reasoning, constraint count, domain knowledge, contextual knowledge, task type. Les 2 dimensions métier (domain_legal, domain_medical) sont ajoutées au fine-tune W4.
Source · ULTIMATE §8.7.2 · POC-SPRINTS §2.4 l.521
8
Dimensions intrinsèques
200
Prompts gold eval set
30+
Benchmarks HF par modèle
30 000+
Évaluations cumulées
Datasets · Hugging Face
Benchmarks · 30+ par modèle
Source : POC-LIGHT-DEMO §8.J Jour 5
07 · L'avancement réel
Sprints S0 à S8 livrés à 100 % — POC complet en production sur Hetzner Falkenstein. Sprint S9 en cours : réplicabilité client (package on-premise + SaaS multi-tenant en ligne) à 10 %.
Setup + Cyrano-ML training v1.2.5
10-12 h
100 %
Comptes + repos + Cyrano-ML training — inconditionnel
Provisioning Hetzner CPX42
4-6 h
100 %
Falkenstein DE · 8 vCPU · 16 GB · ARM x86 — 2026-05-03
Stack core data
8-10 h
100 %
Postgres · Redis · Qdrant · OpenBao · Traefik TLS PQC
Auth + frontend fork
6-8 h
100 %
Keycloak · Authelia 2FA · LibreChat fork · Backend Rust
Modèles GGUF + LiteLLM
6-8 h
100 %
llama.cpp CPU · LiteLLM gateway · models.yaml
Cyrano sidecar v1.2.5
8-10 h
100 %
Rust + Envoy ext_proc + ONNX réel · match rate ≥ 85 % validé
Phase 4 cascade
8-10 h
100 %
Cache · PII · jailbreak · Console · audit PQC · 7/7 images GHCR livrées
Démo 20-30 min · GO-LIVE
6 h
100 %
5 prompts scénarisés sans bug · runbook 5 sections
Validation E2E + eval set
—
100 %
Tests E2E 100 % · cargo 5 tests matching engine · match rate ≥ 85 %
Réplicabilité client · scale
in progress
10 %
Package on-premise (Docker compose souverain client) + offre SaaS multi-tenant en ligne · documentation déploiement
Repos GitHub privés (org lecoq-ai)
08 · Le routing en direct
Cyrano lit chaque prompt en moins de 12 ms et décide quel Qwen le traite. Parfois c'est le plus petit qui suffit.
Pipeline live
Pipeline routing complet
👇 Choisis un prompt dans le panneau ci-dessous pour voir le circuit s'allumer.
Échantillon · 30 prompts sur 200
Chaque clic rejoue le routing tel qu'il fonctionne en production : modèle choisi, latence, coût, énergie. Le visualizer remonte tout seul pour montrer le circuit s'allumer. 200 prompts dans l'eval set complet.
09 · Verrous post-quantiques
Stack chiffrement résistante au calcul quantique dès aujourd'hui. TLS hybride, envelope encryption ML-KEM-768, signatures SLH-DSA-128f, transparency log immuable. Pas un argument marketing — un certificat X25519MLKEM768 vérifiable dans votre navigateur.
TLS hybride PQC
Toutes les flèches du pipeline sont chiffrées en TLS 1.3 + ML-KEM-768 hybride (NIST FIPS 203). Vérifiable depuis n'importe quel navigateur via `openssl s_client -groups X25519MLKEM768`. Traefik 3.5+ natif, zéro plug-in.
TLS 1.3 + ml-kem-768
openssl s_client -groups X25519MLKEM768 -connect lecoq.ai:443
Envelope encryption
Chaque tenant a sa propre Key-Encrypting-Key (KEK) générée par OpenBao v2.5.0 transit. Les DEK (Data-Encrypting-Keys) sont wrappées par la KEK, jamais en clair. Isolation niveau 4 sur 5 — un compromis serveur ne donne accès qu'au chiffré.
ULTIMATE §13.2 · niveau 4 isolation
bao write transit-pqc/keys/tenant-<id> type=ml-kem-768
Audit AI Act Article 12
Chaque décision Cyrano est signée en SLH-DSA-128f (NIST FIPS 205 stateless hash-based, post-quantique). Rétention 5 ans minimum, conforme AI Act Article 12 record-keeping. Logs cryptographiquement vérifiables 50 ans après émission.
AI Act Article 12 · rétention 5 ans
signature_pqc_audit BYTEA + signature_algorithm = 'slh-dsa-128f'
Transparency log
Hash de chaque audit log poussé sur Sigstore Rekor v2 (transparency log immuable type Merkle tree, opéré par la Linux Foundation). Toute modification rétroactive devient mathématiquement impossible. Vérifiable par tout citoyen sans dépendre de nous.
Linux Foundation · vérifiable publiquement
rekor-cli get --uuid=<entry-uuid>
Test live · maintenant
Vérifie toi-même que cette page utilise déjà TLS hybride post-quantique :
openssl s_client -groups X25519MLKEM768 -connect lecoq.ai:443
Si tu vois Negotiated TLS1.3 + X25519MLKEM768 dans la sortie, la liaison est PQC.
10 · Documentation
Avant les résultats, voici ce qui les a produits. Aucune décision archi ni copy ne se prend sans référencer ces fichiers. Stack figée, versions pinnées, sources auditables.
LECOQ-AI-ULTIMATE.md
Source de vérité · archi finale
Archi complète V1 prod. §8 routing 8D · §10.8 RAG cascade · §12 Phase 4 · §13 audit PQC · §27 refresh cookbook · §31 conformité AI Act · §34 13 bugs Sprint 1.
LECOQ-AI-POC-CHECKLIST.md
Tracker build · 0 code, 0 commercial
Build from-scratch §A → §Z. 3 hard stops techniques ⚠ §J5 / §J6 / §J7. Destiné aux dossiers subventions (Bpifrance, NFR-2030, CIR/CII, EIC).
LECOQ-AI-POC-LIGHT-DEMO.md
Plan d'exécution 7 jours
5 prompts scénarisés démo perso/jury (§9.2). §2.2 8 dimensions. §4.2 distribution 78/22. §8 calendrier J1 → J7. §9 runbook démo 20-30 min.
LECOQ-AI-POC-SPRINTS.md
Guide narratif descriptif FR
Synthèse exécutable pour build 0→100 % autonome via Claude Code. §1.9 anatomie repo · §5 calendrier parallèle Sprints 3-5 · §8.1 cascade Phase 4.
LECOQ-AI-POC-STACK.md
Versions pinnées + licences
Tableaux versions exactes — jamais :latest. Commands install. Licences (Apache 2.0, MPL 2.0, MIT, RSALv2/SSPLv1). Ordre de dépendances Docker Compose §16.
Méta · cette vitrine
Elle-même livrée selon cette démarche.
Brief → Discovery → Spec validée → Plan détaillé → Implementation → Audit visuel → Deploy. Même rigueur appliquée à un site vitrine qu'à une infrastructure souveraine.
11 · Résultats
Pas de comparaison "10× moins cher" sans baseline — l'économie GPU réelle se chiffre une fois le volume client défini. En revanche : routing, latence et souveraineté sont mesurables aujourd'hui sur l'eval set 200 prompts.
78 %
Économie GPUDes prompts résolus par Qwen3.5-9B sans réveiller le 27B FP8. Économie substantielle sur les heures GPU haut de gamme — chiffrable une fois le volume client connu.
< 12 ms
Latence Cyranop50 mmBERT 110M ONNX INT8 sur CPU local. Mesure sur l'eval set 200 prompts (POC-SPRINTS §12.1 K.1).
100 %
SouverainetéStack open Apache 2.0 + GPU souverain EU + audit AI Act Article 12 + zéro dépendance USA sur le chemin critique.
Métriques mesurables
Mesures issues de l'eval set 200 prompts gold (orgalecoqai/cyrano-fr-eval-200:v1.0.0) + hard stops techniques POC-SPRINTS §12.1.
78 %
Routing petit modèle
Qwen3.5-9B suffit dans la majorité des cas — eval set 200 prompts gold
≥ 85 %
Match rate eval set
Cible POC-SPRINTS §12.1 K.4 · 80 % plancher hard stop
< 12 ms
Latence Cyrano p50
mmBERT 110M ONNX INT8 sur CPU local (Hetzner CPX42)
< 30 ms
Latence Phase 4 cascade
Cache sémantique + PII filter + jailbreak guard en série
12 · Méthode reproductible
Discovery, symptômes terrain, hypothèse testable, spec mesurable, itérations capitalisées. Le routing 78/22 n'est qu'un exemple — la méthode est portable sur n'importe quel sujet IA.
01
Constat
Signaux marché · symptômes consolidés
02
Personas
Profils types · contraintes structurelles modélisées
03
Hypothèse
Proposition testable + critère de succès chiffré
04
Spec
Stack arbitrée + métrologie intégrée AVANT code
05
Itérations
Datasets, benchmarks, bugs capitalisés en R&D
Cadrage product AVANT code
On écrit la spec, on la fait valider, puis on développe. Pas l'inverse.
Spec mesurable AVANT implémentation
Match rate ≥ 85 %, latence < 12 ms, marge brute 80 %. Hard stops définis avant le sprint 1.
Stack souveraine EU documentée
Hetzner DE, OpenBao MPL 2.0, vLLM open, TLS PQC X25519MLKEM768. Aucun composant US sur le chemin critique.
Capitalisation des échecs
Chaque bug Sprint 1 devient un verrou R&D documenté — éligible CIR/CII, réutilisable au projet suivant.
13 · Contact
Échange direct sur LinkedIn — pas de formulaire, pas de tunnel.