J’ai donné à opencode un cahier des charges d’un paragraphe : « un canvas HTML où des cercles colorés s’attirent selon des teintes similaires et se repoussent quand ils sont opposés », et je l’ai branché sur la quantification d’unsloth de Qwen3.6-35B-A3B (UD-Q8_K_XL, ~3 milliards de paramètres actifs) tournant en local. Une douzaine de tours de pilotage plus tard, à corriger des bugs et ajuster le comportement, j’avais une démo fonctionnelle dans un seul fichier.
C’est ça qui vaut la peine d’être noté. Ni en un seul coup, ni magique : un petit modèle MoE qui tient sur un seul GPU, piloté par une boucle agentique, peut converger vers un artefact interactif réel en une session raisonnable. Les agents de codage locaux deviennent un flux de travail utilisable, pas seulement une démo.
Ce qu’il a construit contient aussi une bonne idée. Chaque cercle a une couleur HSL, et la distance entre couleurs agit comme une charge : les teintes similaires s’attirent, les opposées se repoussent à courte portée. La boucle par image fait deux passes. La première calcule un « bonus de cohésion » pour chaque cercle selon le nombre de voisins de couleur similaire à proximité. La seconde applique les forces d’attraction et de répulsion mises à l’échelle par ce bonus, de sorte que les grappes serrées tirent plus fort que les paires isolées. Pousse la cohésion au maximum et les grappes denses deviennent des puits de gravité qui avalent les retardataires.
Démo en direct : christian.roy.name/apps/colors-in-motions/