Retour au fil

Claude s'est accéléré lui-même trois fois en deux semaines : dans les coulisses du sprint Anthropic

Anthropic a rendu claude.ai et le bureau trois fois plus rapides en deux semaines : plus de 3 000 modifications, zéro incident et des verrous de mesure qui gardent chaque gain.

Importé dans Nodesdaily : (UTC+03:00)
Voir sur YouTube — FsDUOUV9Vs8
Options de lecture

La lecture vocale n’est pas disponible dans ce navigateur.

Loupe à concepts

Choisissez un terme technique de cette vue pour lire sa définition générale, un exemple pédagogique et son usage dans l’article.

Aucun terme de notre glossaire n’a été trouvé dans cette vue. Le glossaire ne couvre pas encore tous les termes.

En août, Anthropic a rendu l'expérience centrale du site claude.ai et de l'application de bureau Claude environ trois fois plus rapide en une seule poussée de deux semaines. Les utilisateurs se plaignaient depuis longtemps de la lenteur, et l'équipe l'a ouvertement reconnu avant de s'y attaquer. Selon le billet d'ingénierie officiel publié sur claude.dev, plus de 3 000 modifications ont été déployées sans le moindre incident visible. Ce qui m'a le plus surpris, c'est que tout l'effort a été piloté depuis un unique canal Slack, avec un modèle en service dans chaque fil.

Par où commencer

L'équipe a commencé par analyser les données d'usage et s'est concentrée sur quatre parcours couvrant 95 pour cent de l'activité : ouvrir l'application, démarrer une conversation, charger une conversation existante et envoyer un message. Déclinés entre web, bureau et produits, ces parcours sont devenus treize mesures distinctes. Au 75e percentile, le temps jusqu'à une page saisissable après un chargement frais est passé de 3,1 secondes à 0,55, l'ouverture d'une nouvelle session de code de 0,8 à 0,3 seconde, et le chargement d'une session cloud de 2,6 à 0,73 seconde. Au total, l'équipe estime à des dizaines de milliers les heures d'attente éliminées chaque jour.

Le sprint a démarré avec une vingtaine de projets triés sur le volet, et le modèle en avait estimé l'impact en millisecondes à l'avance. Au troisième jour, douze des treize objectifs étaient déjà atteints. Pour accélérer les lancements, le composeur a été intégré directement dans le HTML de la page afin que l'utilisateur puisse taper pendant l'initialisation de React. Un cache de code V8 précompilé a été préparé pour le processus principal du bureau, le composeur est resté monté entre les conversations, les sessions survolées ont été préchargées et les rendus inutiles de la barre latérale ont été réduits de 90 pour cent.

Tout ce qui se mesure peut progresser

La philosophie du sprint tient en une phrase : dès que le modèle peut mesurer quelque chose, il peut l'accélérer. Autrefois, la mesure était l'étape zéro : ajouter un compteur, attendre les données, puis comprendre le problème. Ici, la mesure est devenue la première étape de l'ascension, et le travail à plus fort levier de l'équipe a consisté à trouver de nouveaux chiffres à gravir. Un ingénieur nommé Sam a proposé de compter les instructions JavaScript plutôt que le temps horloge, et en onze minutes cinq chantiers de mesure distincts étaient lancés. Ce récit est détaillé dans le billet officiel sur claude.dev, ce qui montre que la méthode est reproductible.

Le temps horloge est bruyant et inutilisable comme verrou d'intégration, si bien que l'équipe a bâti une échelle de compteurs déterministes : instructions via Valgrind pour les chemins JavaScript purs, puis validations React, appels V8, recalculs de styles et mutations du DOM pour les chemins navigateur. Chaque nouvelle mesure avait deux missions : fournir un chiffre à faire bouger en laboratoire et servir de plafond qui ne peut que descendre. Toute mesure incapable de prouver sa corrélation avec le temps réel était écartée sans pitié. Selon le résumé publié sur iphoneincanada.ca, cette discipline fut la garantie centrale d'un déploiement serein.

L'expérience de validation a porté sur deux chemins chauds : la routine qui assemble l'arbre des messages d'une conversation et l'analyseur des lignes d'état du code. Le profilage a montré qu'un quart des instructions du premier chemin venaient de recherches de dictionnaire résolvant trois fois le même identifiant. Une heure plus tard, les compteurs avaient baissé de 48 et 31 pour cent tandis que le temps réel chutait de 78 et 44 pour cent. Deux nouveaux verrous ont atterri dans l'intégration continue, avec une tâche quotidienne abaissant chaque plafond. Comme le relève l'analyse sur analyticsindiamag.com, de tels verrous sont l'outil le plus pratique contre l'érosion des gains.

Cent cinquante fils en parallèle

Le sprint s'est vite stabilisé en boucle : quelqu'un ouvre un fil avec l'enregistrement d'un moment lent, le modèle retrace le flux et construit une mesure qui le démontre, revient avec quelques demandes de taille calibrée dès que le laboratoire promet, surveille le déploiement et lit les données de terrain, puis resserre le verrou en cas de gain ou coupe le drapeau et itère en cas d'échec. Plus de 150 fils tournaient simultanément, et environ un tiers des demandes embarquaient télémétrie ou garde-fous supplémentaires. Dans l'évaluation publiée sur fourweekmba.com, livrer plus de 3 000 modifications sans incident est présenté comme la meilleure preuve de cette discipline.

Mon cas préféré fut la chasse au tremblement de la barre latérale. Les lignes apparaissaient à des moments différents après le chargement et la page semblait instable, sans qu'aucun moniteur existant ne le détecte. Un ingénieur nommé Issac a suggéré de regarder directement l'interface d' instabilité de mise en page du navigateur, et le modèle a produit un événement de télémétrie reliant chaque décalage à une région et une phase nommées. Le test échouait 20 fois sur 20 sur la branche principale et réussissait 20 fois sur 20 avec le correctif. Les données de terrain ont montré que 31 pour cent des chargements déplaçaient quelque chose après l'affichage utile, et les coupables ont été nettoyés un par un.

Les fils restaient ouverts au lieu d'être fermés, et un seul fil produisait parfois cinquante ou cent demandes d'optimisation. De plus en plus, c'était le modèle lui-même qui ouvrait de nouveaux fils. Shelley, ingénieure de l'équipe, a qualifié le modèle de démon des chiffres. Il a trouvé 6 900 crochets React et 900 abonnements qui se redessinaient à chaque frappe dans le chemin de saisie. Il a montré un sélecteur racine ajoutant 24 millisecondes à chaque changement du DOM, une commande oubliée provoquant un demi-million de rechargements cachés par jour et des instantanés de cache dupliqués deux fois par minute. Selon le compte rendu sur ciol.com, ces découvertes comptent parmi les exemples les plus frappants.

L'une des corrections les plus élégantes est venue d'un tiret. La coloration d'un bloc de code fini gelait la page pendant environ une seconde, et le coupable était un unique caractère non Latin-1 dans la réponse. V8 stocke de telles chaînes en UTF-16, ce qui basculait chaque règle de coloration sur le chemin lent à deux octets. La correction tint en vingt lignes copiant chaque bloc dans une chaîne à un octet avant coloration. Comme le souligne le récapitulatif sur lavx.hu, de petites découvertes aussi profondes seraient impossibles sans mesure en laboratoire.

Pas de vitesse sans garde-fous

Comme presque tous les chemins chauds étaient touchés, la sécurité fut construite d'emblée : chaque demande passait une revue automatisée avec au moins une approbation humaine, les tests précédaient les optimisations et tout ce qui était visible voyageait derrière un drapeau éphémère. Environ deux cents drapeaux furent ouverts en deux semaines et plus de la moitié nettoyés avant la fin. Le composeur statique était particulièrement fragile ; le vrai composant React était rendu dans un document virtuel et la dérive testée sur quatorze tailles d'écran au pixel près, tandis qu'un test de frappe ne pardonnait aucun caractère perdu.

La chasse la plus amusante a commencé par un enregistrement quatre heures après la diffusion interne. Le composeur chutait d'environ 10 pixels à l'ouverture dans un nouvel onglet. Le modèle a trouvé la cause dans le comportement de Chrome plutôt que dans le code : sur les navigateurs gérés, la page de nouvel onglet porte un pied de 56 pixels, la frappe dans la barre d'adresse pré-rend la page à la hauteur réduite en arrière-plan, et la page grandit environ 100 millisecondes après le premier affichage. Le modèle a figé la mise en page et ajouté un test imitant le pré-rendu. Ce cas est raconté dans le billet officiel sur claude.dev comme le plus bel exemple de pont entre laboratoire et terrain.

Le travail des humains : ambition, goût, cap

La boucle était productive mais pas autonome, et les humains avaient trois missions. La première était l'ambition : le modèle tendait à restreindre le périmètre et à gonfler ses estimations, si bien que l'équipe l'a poussé à plus d'audace en s'appuyant sur les garde-fous. La deuxième était le goût : chaque changement visible arrivait avec des enregistrements avant-après, et les humains tranchaient des choix comme l'apparition immédiate ou différée d'un écran squelette. La troisième était le cap : chaque fil restait volontairement étroit, et la discussion portait sur les surfaces prioritaires, la fusion des fils en collision et la clôture des fils à rendement décroissant. Une demande de 900 lignes fut rejetée en une phrase, trop complexe pour 2 millisecondes par envoi.

Une mission secondaire est devenue légendaire avec sa règle des 8 millisecondes. Un indicateur de fréquence fut ajouté à une longue réponse en streaming avec un objectif de 120 Hz : 8,33 millisecondes par image. Grâce au contrôle d'images des outils de développement dans un navigateur sans tête, le modèle a obtenu exactement 240 démarrages pour 240 images et parcouru la réponse image par image. Les travaux dépendant de la longueur ont disparu via des résultats mémorisés , la segmentation des clôtures de code a migré vers un travailleur et les tableaux se sont révélés cellule par cellule. Près de soixante demandes ont atterri dans un seul fil, la charge du fil principal est tombée de 750 à 200 millisecondes et un portable 120 Hz a tenu la pleine cadence du début à la fin.

Une fois les projets planifiés terminés en avance, l'équipe a explicitement demandé au modèle des idées farfelues et l' escalade est entrée dans un nouveau round. L'auteur valide cet appel par son expérience : une invitation semblable l'avait conduit à créer un environnement d'exécution sur mesure avec un gain de deux à quatre fois. Comme le note l'analyse sur fourweekmba.com, cette seconde vague a largement dépassé les objectifs initiaux et apporté le vrai bond du sprint. La leçon est claire : quand les objectifs sont atteints, cherchez de nouvelles choses à mesurer au lieu de vous arrêter.

À travers le regard de l'auteur

Le créateur de la vidéo aborde le processus avec prudence, lui qui critique depuis des années la qualité d'ingénierie d'Anthropic, et il met le billet en parallèle avec la campagne de performance de son propre produit. La mise en cache locale, la barre latérale instantanée et le retard de son sélecteur de modèle résonnent sans cesse avec l'article. Sa leçon centrale : apprenez d'abord au modèle à mesurer plutôt que de lui demander de corriger. Le segment sponsorisé au milieu, qui présente un standard de connexion utilisable par les agents au nom de l'utilisateur, est expédié en une seule phrase.

Les répliques du sprint ont aussi remonté vers l'amont, avec des contributions vers Electron, Chromium et Node. Le bureau et le web sont aujourd'hui environ trois fois plus rapides qu'au début août, avec des verrous qui gardent le niveau. Pourtant l'équipe affirme que le travail n'est pas fini : le 95e percentile, les autres parcours et les très longues conversations ont encore de la marge. Comme le note également le compte rendu sur iphoneincanada.ca, les utilisateurs commencent à sentir l'accélération au quotidien. Le canal reste ouvert et l'équipe compte continuer fil par fil.

Visualization: nodesdaily AI

Moments clés

  1. Ouverture : pourquoi claude.ai est trois fois plus rapide
  2. Quatre parcours clés et les chiffres p75
  3. Un sprint piloté depuis Slack avec Claude Tag
  4. Compteurs Valgrind et échelle de mesures
  5. Recensement de 6 900 crochets et recalculs de styles
  6. La chasse au décalage de pré-rendu Chrome
  7. Objectif 120 Hz et budget de 8 millisecondes
  8. Conclusion : mesurer est le premier pas

Commentaire de l’IA

"Ce qui m'a le plus frappé, c'est la façon dont l'équipe a transformé la discipline de mesure en culture produit. Mon détail préféré : la lenteur était traitée comme un chiffre avec un responsable, jamais comme une excuse. Cette approche semble copiable même par de petites équipes."

Évaluation de l’IA

Le contre-argument le plus fort concerne la source des chiffres : le facteur 3, les 3 000 modifications et chaque gain en percentile viennent des propres mesures d'Anthropic, sans vérification indépendante. L'analyse publiée sur fourweekmba.com souligne exactement cette réserve et précise que chaque affirmation est relayée du billet d'ingénierie de l'entreprise. Les pourcentages impressionnent, mais les conditions de matériel et de réseau restent floues.

Le périmètre comporte aussi des lacunes : l'équipe admet elle-même que le travail n'est pas fini, avec le 95e percentile et les très longues conversations encore à la traîne. L'expérience mobile, les régions à faible débit et l'accessibilité ne sont jamais mentionnés. La concentration extraordinaire de deux semaines laisse enfin ouverte la question de la durabilité : les verrous protègent les gains, mais résisteront-ils à la pression des nouveautés ?

La position de l'intervenant mérite attention : l'auteur critique depuis des années la qualité d'ingénierie d'Anthropic et vend son propre produit de code, si bien qu'il lit le billet pour en tirer des leçons plutôt que pour le louer. Cette distance renforce la crédibilité du récit. Le segment sponsorisé au milieu de la vidéo, qui promeut un standard de connexion utilisable par les agents, n'a rien à voir avec l'histoire et se trouve justement résumé en une phrase.

L'enseignement pratique tient en trois étapes : attachez d'abord un chiffre à la lenteur, rendez ce chiffre déterministe puis verrouillez-le dans l'intégration continue, et gardez le périmètre volontairement étroit. Commencer par des postes ennuyeux comme le comptage des crochets et les rendus redondants plutôt que par des rêves d'architecture peut produire une différence sensible en deux semaines. Les équipes qui adoptent cette méthode peuvent utiliser la boucle décrite dans le billet officiel sur claude.dev comme modèle.

Sources

7 liens ; aucun autre article publié ne les cite. Stories sharing a link do not confirm each other; a source's origin is not inferred from how often it is cited.

claude · anthropic · performance · react · v8 · agents ia

Suivre le sujet

Avant cet article

Un court ordre de lecture des articles antérieurs reliés à cet événement par un éditeur.

Preuves et sources

Consultez les passages autorisés, leurs versions et leur origine.

KAYNAKLARLA OKU

Bu haberi açalım.

Hesap kontrol ediliyor…