Choisir son outil de code chez Mistral
Sur cette page
Leçon réécrite le 2 novembre 2026. Elle opposait Codestral à Devstral 2, retiré de l’API depuis le 31 juillet 2026. Le choix se fait désormais entre Codestral pour la complétion, les modèles généralistes ou Vibe Code pour le travail agentique, et Devstral Small 2 pour l’hébergement local. Sources : fiches Codestral, Codestral Embed, Mistral Small 4 · Using offline models (Vibe).
L’arbre de décision
Vous connaissez maintenant les briques de code de Mistral AI. Reste la question qui se pose au moment de brancher l’une d’elles sur un projet réel. L’ordre des questions compte : les premières éliminent le plus de cas, arrêtez-vous à la première réponse positive.
1. Vous voulez de l’autocomplétion dans l’éditeur ? La réponse est Codestral (codestral-2508) via l’endpoint FIM : c’est son terrain, avec une latence faible et des intégrations comme Continue.dev (leçons 2 et 9).
2. Vous voulez confier une tâche entière, sur plusieurs fichiers ? Prenez un agent. Pour un agent prêt à l’emploi, Vibe Code (CLI, extension VS Code ou Vibe Code Web) fournit les outils, la boucle et les approbations, avec Mistral Medium 3.5 comme modèle intégré. Pour un agent sur mesure, construisez-le sur l’API avec Mistral Small 4, et mesurez Mistral Large 4 sur vos cas les plus durs (leçons 6 et 8).
3. Le code ne doit pas quitter votre infrastructure ? Hébergez un modèle ouvert : Devstral Small 2 ou Mistral Small 4, les deux modèles que recommande la documentation de Vibe pour un usage local, servis par vLLM et branchés sur Vibe (leçon 13). Codestral n’a pas de poids ouverts publiés.
4. Vous cherchez dans une base de code par le sens ? C’est le rôle de Codestral Embed (codestral-embed-2505), le modèle d’embeddings spécialisé code (leçon 11).
5. Vous générez une fonction ou un module ciblé ? Codestral par l’endpoint chat convient pour une génération rapide ; un généraliste comme Small 4 prend le relais dès qu’il faut raisonner sur davantage de contexte ou itérer.
Tableau comparatif
| Critère | Codestral | Agents (Small 4, Large 4, Vibe Code) | Devstral Small 2 en local | Codestral Embed |
|---|---|---|---|---|
| Identifiant | codestral-2508 | mistral-small-2603, mistral-large-4-0 ; Medium 3.5 dans Vibe | mistralai/Devstral-Small-2-24B-Instruct-2512 | codestral-embed-2505 |
| Statut | GA | Small 4 GA, Large 4 en Public Preview, Medium 3.5 déprécié | Retiré de l’API, poids ouverts | GA |
| Spécialité | Complétion, FIM, génération | Tâches agentiques multi-fichiers | Agent de code hors ligne | Recherche sémantique dans le code |
| Endpoint FIM | Oui | Non | Non | Non |
| Appel d’outils | Oui | Oui | Oui (avec les options vLLM adaptées) | Non |
| Contexte | 128 000 tokens | 256 000 (Small 4) à 1 million (Large 4) | 256 000 tokens (selon votre serveur) | 8 000 tokens |
| Prix (par million de tokens) | 0,30 $ entrée, 0,90 $ sortie | Small 4 : 0,15 $ / 0,60 $ ; Large 4 : 0,70 $ / 2,10 $ | Coût de votre matériel | 0,15 $ en entrée |
Deux lignes tranchent presque tous les débats d’équipe : « Endpoint FIM » pour l’autocomplétion, et le statut de chaque modèle pour savoir ce qui sera encore là dans six mois. Tarifs et statuts relevés le 2 novembre 2026.
Scénarios concrets
Un développeur solo sur un projet Python combine plutôt qu’il ne choisit : Codestral via Continue.dev pour l’autocomplétion au fil de la frappe, Vibe Code dans le terminal pour « corrige ce bug qui touche cinq fichiers et ajoute les tests ».
Une équipe soumise à des contraintes de confidentialité sert Devstral Small 2 ou Mistral Small 4 sur ses propres GPU, branche Vibe dessus et coupe télémétrie et mises à jour. L’argument tient en une phrase devant un comité de sécurité : aucune ligne de code n’est envoyée à l’extérieur.
Une chaîne d’intégration continue enchaîne les briques de la leçon 12 : Codestral Embed retrouve les fichiers pertinents, Codestral génère le code, un généraliste fait la relecture ; ou bien vibe --prompt exécute une tâche agentique sans interaction.
Un data scientist en Jupyter n’a besoin que de Codestral, pour la complétion de cellules et la génération de visualisations.
Les erreurs à éviter
Confier l’autocomplétion à un agent est la plus courante : trop lent, et sans FIM. L’erreur symétrique consiste à demander à un modèle de complétion une tâche multi-fichiers sans boucle agentique pour l’orchestrer. Troisième erreur : ignorer Codestral Embed, car une chaîne de génération fonctionne quand même, simplement avec des résultats médiocres faute de contexte pertinent. Quatrième erreur, devenue fréquente en 2026 : garder dans son code des identifiants retirés (devstral-2512, devstral-small-latest) ou dépréciés sans date de bascule. Épinglez des identifiants datés, et consultez la table des modèles avant chaque mise à jour.
Récapitulatif du cours
Ce cours vous a mené de la complétion au travail agentique : Codestral, son mode FIM et son API ; les agents de code, leur cycle (comprendre, planifier, exécuter, vérifier), l’appel d’outils et la boucle multi-tours ; l’évaluation avec SWE-bench et sur vos propres tickets ; Vibe Code et ses trois surfaces ; Codestral Embed et la recherche sémantique ; les intégrations dans l’éditeur ; les pipelines automatisés ; et l’hébergement local de Devstral Small 2 avec vLLM.
Points clés à retenir
- Codestral pour l’autocomplétion (FIM) et la génération ciblée
- Vibe Code ou un agent sur l’API (Small 4, Large 4) pour les tâches multi-fichiers
- Devstral Small 2 ou Small 4 en local quand le code ne doit pas sortir
- Codestral Embed pour la recherche sémantique dans le code
- Vérifiez le statut de chaque modèle : Devstral est retiré de l’API, Medium 3.5 déprécié
Testez vos connaissances
1. Qu'est-ce que le Fill-In-The-Middle (FIM) ?
Réponse : La complétion au milieu du code : on fournit le préfixe et le suffixe, Codestral comble l’intervalle. C’est le mode naturel de l’autocomplétion dans l’éditeur, servi par l’endpoint FIM.
2. Devstral 2 est retiré de l'API : par quoi le remplacer ?
Réponse : Le remplaçant désigné est Mistral Medium 3.5, modèle intégré à Vibe Code, mais lui-même déprécié (retrait le 30 avril 2027). Pour un agent sur l’API, partez de Mistral Small 4 et mesurez Large 4 ; en local, Devstral Small 2 reste recommandé.
3. Comment utiliser Codestral dans son IDE ?
Réponse : Par les intégrations : Continue.dev pour VS Code et JetBrains, Tabnine, Jupyter AI… La complétion Codestral arrive au fil de la frappe, dans vos outils existants.
4. À quoi sert Codestral Embed ?
Réponse : Aux embeddings spécialisés code : recherche sémantique dans une base de code, détection de similarités. C’est la brique de récupération des pipelines de code automatisés.
5. Comment brancher Vibe sur un modèle hébergé chez vous ?
Réponse : En déclarant dans config.toml un fournisseur compatible OpenAI (ou le fournisseur prédéfini llamacpp) et un préréglage de modèle, puis en le sélectionnant avec active_model ou /model. Pour un usage hors ligne, coupez aussi télémétrie et vérification des mises à jour.