MiniMax M3 est-il performant pour le codage ? La réponse courte : oui pour le travail agentique et multi-fichiers, avec deux réserves que je préfère exposer clairement avant que vous ne lisiez la suite. La plupart des scores de codage mis en avant ont été obtenus par MiniMax sur sa propre infrastructure, et le « contexte d'un million de tokens » présente un seuil tarifaire à 512 K qui touche particulièrement les agents de codage. Ces deux points sont gérables dès qu'on les connaît. Pourtant, aucun n'apparaît clairement dans la plupart des articles consacrés au lancement.
J'écris cet article parce que l'argumentaire de codage autour de M3 a été réduit à un seul chiffre — 59 % sur SWE-Bench Pro — et que ce chiffre est utilisé sans vraiment être questionné. Nous allons voir ce qu'est réellement le modèle, où se situent les mesures indépendantes, combien il coûte sur une charge de travail de codage réelle et comment l'appeler via l'API GPTProto. Si vous voulez simplement connaître le verdict : un évaluateur indépendant qui exécute la même batterie de tests sur chaque modèle sérieux a placé M3 « proche de GPT et d'Opus en codage réel, mais pas tout à fait au-dessus d'eux ». Cela correspond également à la position des benchmarks neutres.
Ce qu'est MiniMax M3 du point de vue du codage
M3 a été lancé le 1er juin 2026. Il s'agit d'un modèle Mixture-of-Experts — les évaluations de la communauté du checkpoint publié l'estiment à environ 428 milliards de paramètres au total, dont environ 23 milliards actifs par token. MiniMax n'a toutefois pas publié elle-même de répartition complète des paramètres ; considérez donc ces chiffres exacts comme secondaires. Le modèle est nativement multimodal (texte, images et vidéos en entrée ; texte en sortie) et dispose d'un mode de raisonnement que vous pouvez activer ou désactiver pour chaque requête.
Avant d'aborder le mécanisme, commençons par la motivation : pourquoi la longueur du contexte est-elle importante pour un modèle de codage ? Parce que le travail d'ingénierie réel ne concerne pas un seul fichier. Il s'agit d'un dépôt, d'une trace d'erreur, de la sortie des tests et des trois fichiers qu'il faudrait modifier pour corriger le problème — le tout conservé assez longtemps au même endroit pour permettre un raisonnement transversal. La réponse de M3 est une fenêtre de contexte d'un million de tokens, avec un plancher utilisable garanti de 512 K tokens. Le moteur sous-jacent est le MiniMax Sparse Attention (MSA), qui sélectionne des blocs du cache clé-valeur au lieu d'appliquer l'attention à chaque paire de tokens. MiniMax indique qu'à un million de tokens, cette approche réduit le calcul par token à environ un vingtième de celui de la génération précédente, avec un préremplissage environ 9× plus rapide et un décodage 15× plus rapide. Il s'agit de chiffres fournis par le vendeur pour l'architecture, et non de mesures indépendantes, mais la tendance est cohérente avec les gains attendus de l'attention éparse.
Il existe également une interface de codage propriétaire — MiniMax Code, leur propre agent construit sur le modèle. Il est utile de savoir qu'elle existe, mais ce n'est pas le sujet de cet article, puisque vous êtes ici pour appeler le modèle depuis votre propre code.
À retenir : M3 est conçu pour un travail soutenu et en plusieurs étapes sur un contexte étendu, pas pour des extraits de code ponctuels. Cette distinction explique presque tous les compromis présentés ci-dessous.
Les benchmarks de codage : ce que rapporte MiniMax par rapport aux mesures indépendantes
Voici la distinction que la plupart des articles gomment. À gauche, les scores de codage et d'agentivité rapportés par MiniMax elle-même. À droite, les résultats mesurés par un tiers neutre.
| Source |
Métrique |
Score |
| MiniMax (exécuté par le vendeur, sur sa propre infrastructure, avec le scaffolding de Claude Code) |
SWE-Bench Pro |
59,0 % |
| MiniMax |
SWE-Bench Verified |
80,5 % |
| MiniMax |
Terminal-Bench 2.1 |
66,0 % |
| MiniMax |
SWE-fficiency |
34,8 % |
| MiniMax |
KernelBench Hard |
28,8 % |
| MiniMax |
MCP Atlas (orchestration d'outils) |
74,2 % |
| Artificial Analysis (indépendant) |
Intelligence Index (composite) |
55 — n° 1 de sa catégorie open-weight |
Le tableau du vendeur ne vous dira pas deux choses. Premièrement, le fait que ces résultats aient été obtenus par le vendeur compte plus que d'habitude ici : le résultat de 59 % sur SWE-Bench Pro a été produit sur la propre configuration de MiniMax avec Claude Code comme harnais, et la réplication indépendante est encore en cours. Considérez les 59 % comme un signal fort du niveau auquel M3 se situe, et non comme un résultat définitif. Deuxièmement — et c'est un détail que je n'ai vu dans aucun article consacré au codage — lorsque Artificial Analysis a comparé M3 à son prédécesseur, la plupart des évaluations se sont améliorées (Humanity's Last Exam 28→37, GPQA Diamond 87→93, raisonnement sur long contexte 69→74), mais SciCode, l'évaluation du codage de cette suite, a légèrement reculé, passant de 47 à 45. Il s'agit d'une petite régression que je ne surinterpréterais pas. Mais c'est le seul point de données qui nuance le récit simpliste d'un modèle « bien meilleur en codage », et il est révélateur qu'il n'ait été mentionné nulle part.
Mon analyse : M3 est réellement proche de la frontière sur l'ingénierie logicielle appliquée — écriture de correctifs, modifications multi-fichiers, travail dans le terminal — et l'appui de l'indice indépendant (55, en tête de sa catégorie) est réel, pas marketing. Il ne représente pas une avancée radicale par rapport à la génération précédente sur tous les axes du codage, et l'écart en raisonnement abstrait est bien réel (nous y reviendrons). À retenir : faites confiance au niveau général, mais vérifiez le chiffre exact avec vos propres tâches.
Ce que coûte réellement M3 sur une charge de travail de codage
Commençons par le prix affiché, car la comparaison honnête n'est pas celle que vous verrez dans la plupart des articles. Via la page du modèle GPT Proto, M3 coûte 0,48 $ par million de tokens d'entrée et 0,96 $ par million de tokens de sortie sur le niveau standard.
À titre de référence, le tarif effectif de MiniMax — après la remise permanente de 50 % appliquée au prix catalogue — est d'environ 0,30 $ pour l'entrée et 1,20 $ pour la sortie. Il faut donc être précis dans la comparaison plutôt que de parler vaguement de prix « moins cher » : via GPT Proto, l'entrée coûte plus cher qu'en appelant directement MiniMax, tandis que la sortie coûte moins cher. Le choix gagnant dépend entièrement du ratio lecture-écriture de votre charge de travail. Un agent de codage qui ingère un dépôt volumineux et produit un petit diff est principalement axé sur l'entrée, qui domine donc le coût ; une tâche générant beaucoup de contenu penche dans l'autre sens. La raison de faire passer M3 par un agrégateur n'est pas une remise spectaculaire — c'est une question opérationnelle : une seule clé et une interface compatible avec OpenAI pour M3 et le reste du catalogue, plutôt que de créer un compte MiniMax distinct, un endpoint régional et une clé d'abonnement séparée.
Passons maintenant à l'élément qui détermine réellement les factures de codage, et à la raison pour laquelle le « contexte d'un million » mérite un astérisque. La tarification reste fixe uniquement jusqu'à 512 K tokens d'entrée. Au-delà, toute la requête — entrée, sortie et lectures du cache — est facturée 2×. Il s'agit d'un saut tarifaire, pas d'une progression graduelle. Prenons une boucle d'agent normale : vous commencez avec 400 K tokens d'entrée et 100 K tokens de sortie, confortablement sous le seuil. Mais les boucles d'agent s'allongent. Au dixième ou quinzième tour, rien n'a été élagué et un tour dépasse discrètement 512 K — à partir de là, l'intégralité de ce tour est facturée au double, sur tout, et pas seulement sur les tokens dépassant le seuil. Une augmentation de 20 % de l'entrée peut plus que doubler le coût d'un appel.
Le levier qui joue en sens inverse est la mise en cache : les entrées répétées (votre invite système, les parties stables de la base de code) sont relues à une fraction du tarif standard. Dans les boucles d'agent, une grande partie des entrées peut être mise en cache ; cela vaut donc la peine de le configurer tôt. À retenir : avec M3, votre facture de codage dépend de la quantité de contexte que vous transportez et de l'efficacité de votre mise en cache, et non du chiffre par token affiché sur la grille tarifaire. Établissez le budget de la charge de travail, pas celui du prix affiché.
Comment appeler M3 via l'API GPT Proto
L'endpoint est l'interface de chat compatible avec OpenAI. L'authentification utilise une clé API brute dans l'en-tête Authorization — sans préfixe Bearer, ce qui peut dérouter les utilisateurs venant d'autres fournisseurs. Remplacez la chaîne du modèle par MiniMax-M3 et vous pouvez exécuter la requête.
import requests, json, glob
# Pull a few source files into one long-context prompt.
# M3's floor is 512K tokens, so a dozen files fit without hitting the price cliff.
files = glob.glob("src/**/*.py", recursive=True)[:20]
codebase = "\n\n".join(f"# ---- {p} ----\n{open(p).read()}" for p in files)
prompt = (
"Here is part of a Python service. Find every place a database connection "
"can leak on an exception path, and return the fix as a unified diff.\n\n"
+ codebase
)
resp = requests.post(
"https://gptproto.com/v1/chat/completions",
headers={
"Authorization": "sk-your-gptproto-key", # raw key, NO "Bearer" prefix
"Content-Type": "application/json",
},
data=json.dumps({
"model": "MiniMax-M3",
"messages": [{"role": "user", "content": prompt}],
"temperature": 0.2, # default is 0.95 — lower it for deterministic code edits
"stream": False,
}),
timeout=120,
)
print(resp.json()["choices"][0]["message"]["content"])
Deux remarques pratiques. La temperature par défaut sur cette interface est de 0,95, ce qui est élevé pour du code ; je la réduirais à 0,2 ou moins lorsque vous voulez obtenir des diffs reproductibles plutôt que des variations créatives. Et une précision : cet endpoint et le schéma d'authentification par clé brute sont confirmés par la documentation en ligne de GPT Proto sur le modèle MiniMax, avec la chaîne du modèle remplacée par MiniMax-M3 ; je n'ai pas testé cet appel exact sur M3, alors exécutez une requête réelle et vérifiez la structure de la réponse avant de l'intégrer à votre CI.
« Prend en charge 1 M » ne signifie pas « doit fonctionner à 1 M »
Il vaut la peine de distinguer deux affirmations souvent confondues. M3 prend en charge une fenêtre d'un million de tokens. La question de savoir si vous devriez la remplir en est une autre et, pour le codage, la réponse est généralement non. Les modèles à long contexte ont tendance, selon les informations disponibles, à bien porter leur attention sur le début et la fin d'une invite, tout en perdant les éléments enfouis au milieu ; MiniMax affirme que M3 a été entraîné spécifiquement pour éviter ce problème, et les premiers rapports suggèrent que la récupération reste efficace sur la majeure partie de la fenêtre. Toutefois, l'expression « majeure partie » a son importance ici, et je vous conseille de le vérifier à l'extrémité du contexte sur vos propres tâches sensibles à la récupération. Ajoutez à cela le seuil tarifaire de 512 K et les recommandations deviennent évidentes : utilisez le long contexte délibérément — pour raisonner sur l'ensemble d'un dépôt lorsque vous avez réellement besoin d'une compréhension inter-fichiers — et non comme une zone de dépôt par défaut pour tous les fichiers qui vous passent sous la main.
M3 contre DeepSeek V4 Pro pour le codage
Si vous devez choisir entre ces deux modèles open-weight chinois de niveau frontier pour le codage, le critère est clair. M3 offre la multimodalité native et une fenêtre d'un million de tokens — il peut recevoir la capture d'écran d'une interface défaillante en plus du code. DeepSeek V4 Pro est limité au texte et moins cher, tout en étant performant sur les suites vérifiées d'ingénierie logicielle. Ma recommandation générale : choisissez M3 lorsque les entrées multimodales ou le très long contexte justifient leur coût, et DeepSeek lorsque vous recherchez le meilleur codeur texte capable au prix le plus bas et que la vision ne vous est pas nécessaire. Les chiffres de la comparaison directe méritent un article à part ; je me suis donc limité ici au critère de décision et ai placé la comparaison détaillée dans MiniMax M3 contre DeepSeek V4 Pro.
Qui devrait utiliser M3 pour le codage — et qui devrait s'en abstenir
Utilisez-le si votre travail est agentique et multi-fichiers : correctifs répartis dans une base de code, tâches pilotées depuis le terminal, longues sessions de débogage où l'historique compte, ou workflows dans lesquels renvoyer une capture d'écran d'interface au modèle est réellement utile. C'est précisément le profil pour lequel M3 a été entraîné, et cela se remarque.
Écartez-le, ou testez-le au moins rigoureusement au préalable, dans trois cas. Si vous avez besoin du codeur texte le moins cher possible et ne travaillez jamais avec des images ou de très grands contextes, un modèle textuel plus léger vous coûtera moins cher par token. Si votre problème exige un véritable raisonnement abstrait inédit plutôt qu'une exécution compétente — l'évaluateur indépendant qui a apprécié le codage appliqué de M3 a également signalé ses résultats inférieurs sur les benchmarks de raisonnement abstrait — ce n'est pas là que M3 est le plus performant. Enfin, si vous envisagez d'auto-héberger les poids pour un usage commercial, lisez la licence avant de vous engager : M3 est distribué sous la MiniMax Community License, plus restrictive que les conditions MIT ou Apache utilisées par certains concurrents, et son statut open-weight évolue depuis son lancement. Pour l'utilisation de l'API via la page du modèle, aucune de ces contraintes de licence ne s'applique : vous louez un accès, vous ne redistribuez pas les poids.