00:00:00Plus tôt ce mois-ci, Alibaba a lancé Qwen 3.5 avec un modèle de 400 milliards de paramètres et
00:00:05une version « Max Thinking » qui prétend surpasser Opus 4.5, malgré d'énormes ressources
00:00:11pour une exécution locale.
00:00:12Mais cette semaine, ils ont sorti la série Qwen 3.5 Medium, des modèles presque aussi
00:00:17puissants que la version Max, capables de tourner localement sur un MacBook Pro récent, et
00:00:22censés battre Sonnet 4.5. Je demande à voir... Alors abonnez-vous,
00:00:27et mettons ces deux modèles à l'épreuve.
00:00:31La plupart des développeurs admettront que Sonnet 4.5 est excellent, fonctionnant avec Claude
00:00:35Code, Co-Work et toute la suite d'Anthropic pour une expérience premium.
00:00:40Mais il faut être en ligne pour les utiliser, et ils ne sont pas donnés.
00:00:44La série Medium de Qwen 3.5 veut changer la donne en proposant un modèle
00:00:49aussi bon que Sonnet 4.5 en local. Sur Twitter, tout le monde s'enflamme.
00:00:54Personnellement, je ne suis pas convaincu que ce soit au niveau de Sonnet 4.5.
00:00:58Je vais donc tester ces deux modèles sur des tâches facile, moyenne et difficile pour voir
00:01:02lequel s'en sort le mieux.
00:01:04Mais avant de commencer, je dois vous faire une petite confession.
00:01:07Je ne vais pas faire tourner Qwen 3.5 localement car mon pauvre MacBook Pro M1
00:01:12n'a pas assez de mémoire unifiée pour gérer l'inférence correctement.
00:01:15J'utiliserai donc Qwen 3.5 35b via OpenRouter connecté à OpenCode, et
00:01:21je ferai tourner Sonnet 4.5 dans Claude Code en mode « clean », sans utiliser
00:01:25mes compétences, plug-ins ou outils MCP.
00:01:27Commençons simplement : demander aux modèles de créer une to-do list avec React et Vite.
00:01:32Si on regarde le résultat de Sonnet 4.5, on retrouve ce style violet typique.
00:01:36Je peux ajouter une tâche, la cocher comme terminée, tout effacer et,
00:01:40si je rafraîchis la page, tout reste là grâce au stockage local (localStorage).
00:01:44Pour Qwen 3.5, le style est similaire, les deux modèles n'ont pas
00:01:48écrasé le style par défaut qui vient avec Vite.
00:01:51Mais là encore, je peux ajouter une tâche.
00:01:53Et ici, nous avons quelques options supplémentaires.
00:01:54On peut choisir la catégorie, je crois qu'il y a la priorité et
00:01:59peut-être une date d'échéance.
00:02:02Je peux mettre « faire les courses » et ça affiche la date, la priorité et
00:02:06la catégorie, ce qui est vraiment sympa.
00:02:08Jetons un œil au code.
00:02:09Voici celui de Sonnet. Ici, il utilise un « useEffect », je pense que c'est
00:02:13pour le stockage local juste en dessous.
00:02:15C'est correct, mais j'aurais préféré une approche différente.
00:02:17On a une fonction « add to-do » et d'autres fonctions pour les actions.
00:02:22Inverser le statut de la tâche, supprimer la tâche...
00:02:25Tout cela semble correct.
00:02:26Une chose me surprend un peu : le passage sur l'analyse JSON en haut.
00:02:32On dirait qu'il sauvegarde dans le localStorage en JSON puis l'analyse.
00:02:35Il aurait été préférable d'isoler ce code dans une fonction séparée pour
00:02:38éviter d'encombrer le haut du fichier si on veut ajouter d'autres éléments.
00:02:42Maintenant, chez Qwen, on a des catégories, et apparemment aucun « useEffect »,
00:02:46ce qui est une bonne chose.
00:02:48En descendant, on voit « handleSubmit », un nom que je préfère.
00:02:51On a aussi « handleUpdate », « handleDelete » et « handleToggleCompleted ».
00:02:55Ce que j'apprécie vraiment, c'est qu'il a séparé les tâches dans un composant distinct.
00:02:59Au lieu de surcharger le composant principal de l'application, il en a créé
00:03:03un nouveau, utilisé ici dans la section App puisqu'il y a
00:03:07plusieurs éléments de liste.
00:03:08La victoire revient donc à Qwen car il a produit une liste avec plus de fonctionnalités.
00:03:13Mais après ces tests, j'ai réalisé que Qwen avait l'option « Superpower » activée
00:03:18dans OpenCode.
00:03:19Je l'ai relancé sans cette option, et voici le résultat obtenu.
00:03:23Finalement, je suppose que la victoire revient à Sonnet.
00:03:25Passons au deuxième test : construire un système solaire interactif
00:03:29en utilisant React, Vite et Three.js.
00:03:31Claude a fait un bien meilleur travail du premier coup.
00:03:33Bon, il manque quelques planètes, mais je peux cliquer sur celles présentes.
00:03:37Je clique sur le soleil et j'obtiens des informations.
00:03:39Je clique sur Uranus ici et j'ai aussi des infos.
00:03:44La navigation sur le site est fluide : je peux faire des panoramiques,
00:03:48pivoter, zoomer et dézoomer.
00:03:49Et voici ce que Qwen a produit.
00:03:50Oui, une page blanche.
00:03:51Dans la console, on voit une erreur que j'ai soumise à Qwen
00:03:56plusieurs fois, mais qu'il n'a pas réussi à résoudre.
00:03:58En fait, tout le processus de création a été laborieux.
00:04:01Qwen s'est « endormi » plusieurs fois, j'ai dû le relancer, et il a peiné
00:04:05à corriger les erreurs de façon répétée.
00:04:06Sans oublier que dans les fichiers produits par Qwen, on a un package.json,
00:04:10un package-lock et un dossier node_modules inutilisés car le projet
00:04:15principal est dans le dossier « solar system » avec son propre package.json
00:04:20et son propre dossier node_modules.
00:04:21Pour ce deuxième test, Claude gagne aussi.
00:04:23Pour le dernier test, j'ai demandé aux modèles de modifier une base de code existante pour
00:04:28prendre une capture d'écran d'un tweet quand l'utilisateur poste l'URL.
00:04:32Commençons par Claude, qui a produit cette page.
00:04:35Il me donne l'option de changer l'arrière-plan et les marges.
00:04:38Au premier essai, j'ai eu une erreur que j'ai demandé à Claude de corriger.
00:04:42Je copie l'URL de ce tweet, je la colle ici et je clique sur « Capture ».
00:04:47Après quelques secondes, l'image apparaît en bas avec l'option de téléchargement.
00:04:51Voici le résultat de Qwen avec cette page.
00:04:54Encore une fois, je copie ce tweet et je le colle.
00:04:56Il est écrit « extraire la vidéo » au lieu de « capture d'écran », mais ça commence, c'est prometteur.
00:05:01Mais au bout d'un moment, on a un dépassement de délai de 60 secondes,
00:05:06similaire à l'erreur rencontrée avec Sonnet.
00:05:07J'ai demandé à Qwen de corriger : il a augmenté le délai, mais n'a pas
00:05:11résolu le problème de fond qui causait ce blocage.
00:05:13Il semble donc que Sonnet 4.5 remporte les trois tests.
00:05:17Alors, même si sur le papier Qwen 3.5/35b devrait battre Sonnet 4.5, en conditions
00:05:24réelles, ce n'est pas ce que l'on constate.
00:05:26Ne vous méprenez pas, c'est impressionnant de pouvoir faire tourner un modèle de 35 ou
00:05:3127 milliards de paramètres localement sur un MacBook récent.
00:05:34Mais peu importe ce qu'on lit sur Twitter, il ne peut pas encore surpasser
00:05:38Sonnet 4.5 sur des tâches de code, comme mes tests l'ont montré.
00:05:42Alors pourquoi les benchmarks sont-ils si bons ?
00:05:45Il y a de fortes chances que Qwen 3.5 ait été post-entraîné sur des questions
00:05:51spécifiques de benchmarks comme Sweebench pour briller sur ces points.
00:05:55Un modèle comme Sonnet 4.5 a probablement bénéficié d'un entraînement sur
00:06:01un jeu de données bien plus large et robuste, ce qui l'aide sur des tâches complexes.
00:06:03De plus, le modèle Qwen testé a 35 milliards de paramètres, mais n'en utilise que 3
00:06:08lors de l'inférence.
00:06:09Alors qu'Anthropic reste discret sur ses chiffres, les estimations suggèrent que Sonnet
00:06:143 a pu être entraîné sur 70 milliards de paramètres, et Sonnet 4.5 en a
00:06:18certainement bien plus.
00:06:19Il n'est donc pas juste de comparer ces modèles uniquement sur les benchmarks.
00:06:23Il est toujours crucial de faire ses propres recherches et évaluations.
00:06:26Après tout, il y a une raison pour laquelle Qwen 3.5 n'était pas
00:06:31dans la liste des modèles pour OpenCode Go.
00:06:35Puisqu'on parle de Qwen, leur modèle de synthèse vocale vient de sortir et Joss
00:06:39a fait une super vidéo sur le clonage de voix et les émotions, à voir ici.