Devstral et les agents de code chez Mistral
Sur cette page
Leçon réécrite le 2 novembre 2026. Toute la gamme Devstral est retirée de l’API : Devstral Small 2 depuis le 31 mars 2026, Devstral 2 depuis le 31 juillet 2026, avec Mistral Medium 3.5 pour remplaçant désigné (lui-même déprécié au profit de Mistral Large 4). Les poids ouverts restent publiés, et Mistral recommande toujours Devstral Small 2 pour faire tourner Vibe en local. Cette partie du cours (leçons 5 à 8) enseigne désormais le codage agentique avec les modèles actuels. Sources : Models · Devstral 2 · Using offline models (Vibe).
Complétion ou agent : deux métiers
Si Codestral est le spécialiste de la complétion, l’agent de code est son pendant : un modèle qui ne complète pas une ligne, mais qui prend en charge une tâche entière. La confusion entre les deux coûte cher en pratique : confier l’autocomplétion à un agent, c’est payer une latence inutile ; confier un refactoring multi-fichiers à un modèle de complétion, c’est se condamner à recoller les morceaux à la main.
L’exemple du bug rend la distinction tangible. Avec Codestral, c’est vous qui identifiez le fichier fautif, vous qui placez le curseur au bon endroit, et le modèle propose la correction. Avec un agent, vous décrivez le symptôme : il explore le dépôt, remonte à la cause racine, propose un plan, modifie les fichiers concernés et écrit les tests qui vont avec. Dans le premier cas, le diagnostic vous appartient ; dans le second, il est délégué.
Devstral, une gamme qui a ouvert la voie
Mistral a d’abord développé des modèles spécialisés pour ce métier, sous le nom de Devstral : Devstral Small 1.0 en mai 2025, Devstral Medium 1.0 et Devstral Small 1.1 en juillet 2025, puis, le 9 décembre 2025, Devstral 2 et Devstral Small 2, annoncés en même temps que l’outil en ligne de commande Mistral Vibe.
| Devstral 2 | Devstral Small 2 | |
|---|---|---|
| Paramètres | 123 milliards (dense) | 24 milliards |
| Contexte | 256 000 tokens | 256 000 tokens |
| Licence des poids | MIT modifiée | Apache 2.0 |
| SWE-bench Verified (annonce de Mistral) | 72,2 % | 68,0 % |
| Retrait de l’API | 31 juillet 2026 | 31 mars 2026 |
Ces modèles excellaient à utiliser des outils pour explorer un dépôt, modifier plusieurs fichiers et piloter des agents d’ingénierie logicielle. Leur retrait de l’API ne fait pas disparaître leurs poids : ils restent téléchargeables sur Hugging Face, et la documentation de Vibe recommande toujours Devstral Small 2 pour un usage local (leçon 13).
Les modèles d’API pour coder aujourd’hui
Le codage agentique n’a pas disparu avec Devstral : il est passé aux modèles généralistes, conçus pour le code autant que pour le reste.
| Modèle | Identifiant | Ce qu’en dit la documentation | Statut |
|---|---|---|---|
| Mistral Medium 3.5 | mistral-medium-3-5 | « optimisé pour les cas d’usage agentiques et le code » ; modèle intégré à Vibe Code, recommandé dans sa configuration | Déprécié, retrait le 30 avril 2027 |
| Mistral Small 4 | mistral-small-2603 | réunit instruction, raisonnement et code dans un seul modèle | Disponible (GA) |
| Mistral Large 4 | mistral-large-4-0 | modèle le plus capable de la gamme, un million de tokens de contexte | Public Preview |
| Codestral | codestral-2508 | complétion de code à faible latence, dont le FIM | Disponible (GA) |
Deux conséquences. Pour un agent bâti sur l’API, partez de Small 4, disponible en GA et peu coûteux, et mesurez Large 4 sur vos tâches les plus difficiles ; Medium 3.5 reste utilisable jusqu’en avril 2027, mais ne démarrez pas un projet dessus. Pour un agent prêt à l’emploi, Vibe Code (la CLI, l’extension VS Code ou la version web) embarque déjà Medium 3.5 et se charge de toute la boucle agentique (leçon 8).
Ce qu’un agent de code sait faire
Les tâches s’enchaînent au cours d’une même mission. L’agent explore d’abord le dépôt : il parcourt l’arborescence, ouvre les fichiers, reconstitue l’architecture. Il diagnostique ensuite, en analysant les journaux et en traçant les appels jusqu’à la cause racine plutôt qu’au symptôme. Vient la planification, où il propose un enchaînement d’étapes avant d’écrire la moindre ligne : c’est le moment où vous pouvez le corriger avant qu’il ne se trompe sur dix fichiers. L’implémentation suit, avec des modifications cohérentes réparties sur plusieurs fichiers. Enfin, il vérifie : il lance les tests, relit son diff, corrige ce qui casse.
L’outil, clé de l’agent
Ce qui sépare un agent d’un modèle génératif, c’est l’appel d’outils (function calling). Les outils d’un agent de code sont peu nombreux et très classiques :
# Outils typiques d'un agent de code :
# - read_file(path) : lire un fichier du projet
# - write_file(path, content) : modifier un fichier
# - run_command(cmd) : exécuter une commande shell
# - search_code(query) : chercher dans le dépôt
Avec ces quatre primitives, l’agent interagit avec son environnement de manière itérative : il lit, décide, agit, observe le résultat, et recommence. Un modèle génératif classique produit un texte et s’arrête là, sans jamais savoir si ce texte compile. La leçon suivante construit cette boucle en Python.
Le poids des modèles ouverts
Les poids ouverts, ceux de Devstral comme ceux de Small 4 (Apache 2.0) ou de Medium 3.5 (MIT modifiée), ont des conséquences concrètes : l’hébergement local, qui garde votre code sur vos serveurs ; la personnalisation, puisque rien n’interdit d’adapter un modèle à vos conventions ; l’auditabilité, qu’exigent certaines entreprises réglementées ; et un coût d’infrastructure fixe, là où une API facturée à l’usage suit votre activité. Vérifiez toujours la licence exacte de chaque modèle avant un usage commercial : elles diffèrent d’un modèle à l’autre.
Points clés à retenir
- Codestral complète du code ; un agent prend en charge une tâche entière avec des outils
- Toute la gamme Devstral est retirée de l’API (Devstral 2 le 31 juillet 2026), mais ses poids restent publiés
- Pour l’API : Small 4 par défaut, Large 4 à mesurer, Medium 3.5 seulement jusqu’à son retrait en avril 2027
- Vibe Code embarque Medium 3.5 et fournit la boucle agentique clé en main
- Devstral Small 2 reste le modèle local recommandé par la documentation de Vibe