Pourquoi une architecture à deux cerveaux ?

La plupart des assistants de rédaction de code utilisent un modèle unique qui doit décider de ce qu'il faut construire et écrire le code source. Lors de sessions prolongées, la fenêtre de contexte du modèle se remplit, provoquant une « dérive de contexte » (context drift) : il oublie les décisions précédentes et génère du code contradictoire ou dupliqué. Cursor résout ce problème en divisant la charge mentale :

  • Les agents planificateurs (Planner agents) fonctionnent sur les modèles les plus puissants (le brouillon mentionne Opus 4.8 ou Fable 5). Ils décomposent une requête de haut niveau en une hiérarchie de tâches, résolvent les ambiguïtés et enregistrent les choix de conception.
  • Les agents exécutants (Worker agents) fonctionnent sur des modèles plus rapides et à haut débit (Composer 2.5). Ils récupèrent les tâches concrètes auprès des planificateurs et génèrent les extraits de code.

Séparer le « quoi » du « comment » empêche la surcharge qui paralyse les systèmes à modèle unique. Chaque modèle reste dans une taille de contexte adaptée à son rôle, évitant ainsi l'explosion du budget de tokens qui oblige les concepteurs à tronquer les prompts.

Passer à l'échelle l'essaim

Les premières versions de l'essaim de Cursor effectuaient environ mille commits par heure. Après la refonte en architecture split-brain, le système a atteint environ mille commits par seconde. Cette vitesse a révélé un nouveau goulot d'étranglement : les outils de gestion de versions n'étaient pas conçus pour une telle contention. Lorsque deux planificateurs émettaient des instructions qui se chevauchaient, le dépôt pouvait se retrouver avec une logique dupliquée — un problème que l'équipe appelle « erreurs de split-brain ».

Cursor a dompté le chaos grâce à trois mesures de protection :

  1. Documents de conception partagés – Chaque planificateur inscrit ses décisions dans un document central lié au code généré. Les exécutants suivent ces liens, évitant ainsi que la même conception ne soit recréée ailleurs.
  2. Revues multi-angles – Trois agents inspectent chacun une tranche différente du travail (la transcription complète, uniquement le résultat, ou uniquement le code). Ce recoupement permet de détecter des incohérences qu'une vue unique ne pourrait voir.
  3. Guides de terrain auto-entretenus – Les agents conservent un « dossier de connaissances » regroupant les découvertes surprenantes et les pièges. Lorsqu'un nouvel exécutant démarre, il consulte ce dossier pour éviter de répéter des erreurs connues, offrant ainsi une mémoire à court terme à l'ensemble de l'essaim.

Ces mesures maintiennent la cohérence de la base de code malgré le torrent de modifications.

Des benchmarks qui comptent

Cursor a testé l'essaim hybride en reconstruisant l'intégralité du manuel de SQLite — une implémentation en Rust de 835 pages — une tâche qui met à l'épreuve à la fois l'exactitude et la taille. Les résultats sont sans appel :

  • Précision – La configuration hybride (planificateur + exécutants Composer) a atteint 100 % d'exactitude, battant systématiquement une exécution isolée du modèle le plus avancé mentionné (GPT-5.5).
  • Taille du code – L'essaim hybride a produit 9 908 lignes de code moteur, contre 64 305 lignes pour l'ancien essaim monolithique.
  • Coût – L'exécution d'une instance isolée de GPT-5.5 a coûté environ 10 565 $. L'approche hybride n'a dépensé que 411 $ pour la flotte d'exécutants.

L'écart de coût provient de Composer 2.5, que le brouillon décrit comme offrant des performances comparables aux modèles phares tout en facturant une fraction du prix par million de tokens. En reportant la majeure partie de la consommation de tokens sur ce modèle moins coûteux, l'essaim maintient des dépenses globales faibles sans sacrifier la qualité.

L'essentiel

  • L'association d'un planificateur puissant et d'un exécutant économique permet des gains d'ordres de grandeur en termes de vitesse, de compacité du code et de coût.
  • La conception élimine la dérive de contexte en attribuant le « quoi » aux modèles de pointe (frontier models) et le « comment » à des modèles spécialisés.
  • La charge opérationnelle et les exigences d'infrastructure restent les principaux obstacles à une adoption plus large.