Contexte et motivations

Prime Agent, lancé en août 2025, a été téléchargé plus de 300 000 fois et a traité plus de 8 trillions de tokens. La version initiale, écrite en TypeScript, souffrait de l'absence de typage à l'exécution, d'exceptions non contrôlées et d'un coût mémoire lié au moteur JavaScript et au ramasse-miettes. Pour répondre à ces limites, l'équipe a entrepris une réécriture complète en Rust, langage compilé offrant absence de garbage collector et vérifications de concurrence à la compilation.

Processus d'autonomie et orchestration

Le rewrite a été conduit par une essaim de plus de 2 000 agents opérant sur plus de 10 000 Prime Sandboxes. Chaque tâche a suivi un pipeline à quatre agents : Planner (spécification), Implementer (écriture du code Rust), Reviewer (audit adversarial) et Verifier (compilation et tests de parité). Cette chaîne repose sur des machines à états finis topologiquement ordonnées, garantissant que chaque modification passe par une vérification stricte avant d’être fusionnée.

Architecture et modularité

Le code Rust est organisé en neuf crates avec un graphe de dépendances unidirectionnel imposé par Cargo. Le fichier le plus volumineux compte ≈ 2 500 lignes, contre ≈ 15 000 lignes dans la version TypeScript, et aucun fichier ne dépasse 5 000 lignes. Cette modularité a permis d’ajouter le support Windows, d’isoler les plantages de session et d’harmoniser le protocole daemon. La séparation stricte des responsabilités réduit le couplage et facilite la maintenance.

Benchmarks et gains mesurés

Sur deux nœuds CPU de 8 cœurs, chaque nœud a géré plus de 100 sous‑agents concurrents. Les métriques de production montrent 2 209 agents actifs, 16 758 messages agent‑à‑agent et 228,70 milliards de tokens192,99 milliards de tokens avec 1 981 agents, tandis que la phase de performance « hillclimb » a réduit la charge à 35,70 milliards de tokens pour 228 agents. Ces chiffres traduisent une amélioration notable du débit et une consommation mémoire moindre, attribuables à l’absence de runtime JavaScript et à l’optimisation du code natif.

Vérifications de parité et fiabilité

Quatre niveaux de parité ont été automatisés : TUI parity (différence des rendus terminal), harness parity (transcriptions de session), protocol parity (types de messages du daemon) et feature parity (audit composant par composant). Les agents ont classé chaque fonctionnalité comme « matching », « partial » ou « missing », permettant de détecter les régressions sans intervention humaine intensive. Les écarts restants ont été corrigés via des tests internes, renforçant la robustesse du produit final.