Clients

Amplitude déploie 3x plus de code en production avec Cursor

Amplitude utilise Cursor pour créer un pipeline de développement autonome qui fait passer un logiciel de l'idée à la production avec une intervention minimale des développeurs.

5 min de lecture

L'équipe d'ingénierie d'Amplitude voulait mettre en place un pipeline de développement entièrement autonome capable de faire passer un logiciel de l'idée à la production avec une intervention minimale des développeurs. Avec Cursor, Amplitude a désormais mis en place des systèmes qui récupèrent du contexte à toutes les étapes du cycle de vie logiciel -- des retours clients aux outils d'observabilité en passant par les revues de code -- puis le confient aux agents pour exécution.

Désormais, lorsque des clients signalent des bugs ou des demandes de fonctionnalité dans Slack, les Agents Cloud se déclenchent automatiquement pour enquêter, ouvrir un ticket et rédiger un correctif. Les Cursor Automations s'exécutent en continu en arrière-plan, migrent l'ancien code et classent le niveau de risque de chaque PR nouvelle ou mise à jour. Bugbot sert de premier niveau de revue, en fusionnant automatiquement les changements à faible risque tout en orientant les PR à haut risque vers les bons relecteurs.

La plupart des outils d’IA pour le code vous donnent plus de code. Cursor vous donne plus de logiciel réellement utile en production. La capacité à exécuter des agents capables de paralléliser efficacement le travail, de tester leurs propres changements et de faire passer une fonctionnalité de l’idée à la production, c’est toute la différence.

Curtis Liu
CTO, Amplitude

Les agents exécutés uniquement en local limitent le parallélisme et l’autonomie

Au début de l’adoption des agents de codage chez Amplitude, l’entreprise s’est heurtée à ce qu’Adam Lohner, Staff Software Engineer, a décrit comme un faux plateau de productivité pour l’ingénierie.

Les vrais gains de vitesse en développement arrivent lorsque les agents produisent des logiciels de production réellement utiles, pas simplement de grandes quantités de code. Pour cela, nous avions besoin d’agents bien plus parallélisables et autonomes — ce que ne permettent pas des agents limités aux postes de travail locaux des développeurs.

Adam Lohner
Staff Software Engineer, Amplitude

Les agents locaux se partagent le même ensemble de ressources limitées et se retrouvent rapidement en conflit. Même exécuter deux ou trois agents à la fois peut entraîner une baisse des performances. La base de code d’Amplitude est suffisamment vaste pour que les machines locales des développeurs atteignent leurs limites de mémoire, même sur du matériel haut de gamme doté de beaucoup de RAM.

Les agents locaux n’ont pas non plus accès à un environnement de développement complet comme celui d’un ingénieur. Sans cela, ils ne peuvent ni tester ni vérifier leur propre travail. Les développeurs doivent toujours configurer les environnements, exécuter des tests de bout en bout et vérifier manuellement les changements avant de pouvoir livrer quoi que ce soit.

Le cloud libère les agents des limites du local

Pour gagner en parallélisme et en autonomie, Amplitude s’est tournée vers les agents cloud de Cursor. Quelques capacités se sont particulièrement démarquées :

  • Exécution parallèle à grande échelle : les agents cloud s’exécutent dans des VM isolées et extensibles, ce qui supprime les contraintes de ressources qui limitent le parallélisme en local.
  • Environnement de développement complet : les agents cloud peuvent tester, vérifier et itérer sur leur travail comme le ferait un ingénieur, avec accès à un environnement de développement complet.
  • Exécution de longue durée : Amplitude confie aux agents cloud des tâches plus complexes et plus ambitieuses, à mener de bout en bout plutôt que de courtes tâches synchrones.
  • Agents toujours actifs : Cursor Automations permet à Amplitude de configurer des agents cloud qui s’exécutent en réponse à des déclencheurs ou selon des planifications récurrentes, plutôt qu’à partir d’un prompt manuel.

Nous faisons tourner de nombreux agents cloud en même temps dans Cursor, chacun avec un accès complet à notre pile d’outils. La possibilité de lancer des agents qui ne sont pas limités par les ressources locales et ne nécessitent pas une microgestion constante a représenté un changement radical.

Adam Lohner
Ingénieur logiciel principal, Amplitude

Les ingénieurs d’Amplitude passent désormais des agents cloud aux agents locaux selon le type de travail. Les nouvelles idées commencent souvent dans le cloud, où le harness de Cursor permet aux agents de travailler de façon autonome pendant de longues périodes. Beaucoup d’ingénieurs lancent Cursor directement depuis des fils Slack où des idées de fonctionnalités sont en cours de discussion.

Les développeurs rapatrient les agents en local lorsqu’ils sont prêts à se concentrer sur une itération plus maîtrisée ou à entrer davantage dans les détails. Cursor sert d’espace de travail unifié, à la fois dans le cloud et en local.

Cursor offre la meilleure interface pour orchestrer tous vos agents parallèles. Vous pouvez garder une vue d’ensemble ou entrer dans les détails, comme les diffs et les fichiers, quand vous en avez besoin.

Spencer Pauly
Responsable de l’ingénierie, AI Feedback, Amplitude

Depuis l’adoption des agents cloud, Amplitude a constaté une hausse de 3× du nombre hebdomadaire de commits en production. Cursor est devenu l’un des 3 principaux contributeurs à la base de code d’Amplitude en volume de commits, avec plus de 1 000 exécutions d’agents lancées chaque semaine sans aucun prompt ni intervention d’un développeur.

Le cloud est l’endroit où les logiciels se construisent, le local est celui où nous testons et itérons. Le support de Cursor pour des passages de relais fluides entre les deux a été le déclic qui a débloqué la vélocité produit d’Amplitude.

Spencer Pauly
Responsable de l’ingénierie, AI Feedback, Amplitude

De Slack au ticket, puis à la PR

Amplitude dispose de canaux Slack dédiés où les équipes terrain transmettent les signalements de bugs et les demandes de fonctionnalités des clients. Avant Cursor, un membre de l’équipe était spécialement chargé de surveiller ces canaux, de trier les issues, de faire avancer les tickets et d’assigner les tâches du backlog.

Pauly a ensuite créé une Cursor Automation pour confier tout ce flux de travail à des agents. Lorsqu’un nouveau message arrive dans Slack, un agent cloud vérifie dans Linear si un ticket existe déjà pour cette issue. Si oui, l’agent y ajoute le nouveau contexte client. Sinon, l’agent explore la base de code, ouvre un nouveau ticket et ouvre une PR avec sa solution déjà implémentée.

Les Cursor Automations nous aident à combler le fossé entre le client et nos ingénieurs. Nous répondons plus rapidement aux besoins des clients, avec de meilleures solutions.

Spencer Pauly
Responsable de l’ingénierie, AI Feedback, Amplitude

Vous pouvez commencer à créer une automatisation pour transformer les signalements Slack en PR à partir de ce modèle.

Refactorisation automatisée du code existant

La base de code frontend d'Amplitude avait accumulé, au fil des ans, des patterns concurrents : des composants CSS existants, des dispositions React obsolètes et des conventions de style incohérentes.

Nous avons tellement de patterns existants concurrents que les agents ont du mal à déterminer la bonne voie à suivre. C'est un problème de garbage in, garbage out.

Adam Lohner
Staff Software Engineer, Amplitude

Pour y remédier, Lohner a mis en place un ensemble de Cursor Automations basées sur cron, exécutées toutes les heures pour faire progresser petit à petit les migrations existantes. Une automatisation analyse les fichiers CSS pour repérer les styles pouvant être remplacés directement par des classes Tailwind, effectue les substitutions, supprime les anciens fichiers, ouvre une PR et publie une notification sur Slack. Une autre parcourt les plus de 20 000 occurrences de composants de disposition React existants chez Amplitude pour les remplacer par des équivalents Tailwind natifs.

Le fait d'exécuter ces migrations dans le cloud sous forme d'automatisations permet de les lancer en continu en arrière-plan, sans perturber les autres tâches ni mobiliser le temps des développeurs.

Adam Lohner
Staff Software Engineer, Amplitude

Revue de code menée par des agents

L’autre goulot d’étranglement qui freinait la cadence des équipes d’ingénierie chez Amplitude était la revue de code manuelle. Amplitude voulait un processus de revue centré sur les agents, afin d’améliorer la fiabilité du produit tout en réduisant les interruptions pour les développeurs.

Amplitude a mis en place Bugbot comme couche dédiée à la revue agentique. L’adoption s’est faite naturellement à mesure que les développeurs voyaient Bugbot détecter des issues qui échappaient aux relecteurs humains, compte tenu de la taille et de la complexité de la base de code d’Amplitude.

Bugbot détecte régulièrement des bugs vraiment difficiles et propose de bons correctifs à ces issues.

Spencer Pauly
Responsable de l’ingénierie, AI Feedback, Amplitude

Lohner a également créé une Cursor Automation qui évalue le niveau de risque de chaque PR. Les changements à faible risque peuvent être fusionnés, Bugbot se chargeant d’examiner et de corriger automatiquement les issues sans intervention des développeurs. Les PR à haut risque, avec des changements de logique plus complexes, sont automatiquement acheminées vers les ingénieurs concernés. Environ 60 à 70 % des PR à faible risque sont fusionnées sans travail supplémentaire de la part des développeurs. Vous pouvez commencer à créer une automatisation pour transformer des signalements Slack en PR avec ce modèle.

Le fait que Bugbot détecte régulièrement de vrais bugs susceptibles d’affecter la production en a fait un élément clé de notre processus de revue de code.

Adam Lohner
Ingénieur logiciel principal, Amplitude

Ensuite, Amplitude se concentre sur l’extension des automatisations à la seconde moitié du cycle de développement : pipelines CI/CD, validation des builds et déploiement. L’objectif est que des agents fassent passer le code d’une PR examinée à la production sans intervention des développeurs.


Si vous souhaitez créer des pipelines de développement autonomes avec Cursor, veuillez contacter notre équipe pour démarrer un essai Cursor.

Classé dans : Clients

Auteur: Cursor Team