Avec les agents en arrière-plan, lance des agents asynchrones qui modifient et exécutent du code dans un environnement distant. Suis leur état, envoie des relances ou reprends la main à tout moment.

Comment l’utiliser

Tu peux accéder aux agents en arrière-plan de deux façons :
  1. Barre latérale des agents en arrière-plan : Utilise l’onglet des agents en arrière-plan dans la barre latérale native de Cursor pour voir tous les agents en arrière-plan associés à ton compte, rechercher des agents existants et en créer de nouveaux.
  2. Mode Agent en arrière-plan : Appuie sur pour activer le mode Agent en arrière-plan dans l’UI.
Après avoir envoyé un prompt, sélectionne ton agent dans la liste pour voir son statut et entrer dans la machine.

Les agents en arrière-plan nécessitent une conservation des données de l’ordre de quelques jours.

Retours

Envoie ton feedback sur notre canal Discord #background-agent ou à background-agent-feedback@cursor.com. Merci d’envoyer les bugs, les demandes de fonctionnalités ou tes idées.

Configuration

Les agents en arrière-plan s’exécutent par défaut sur une machine isolée basée sur Ubuntu. Ils ont accès à Internet et peuvent installer des paquets.

Connexion à GitHub

Les agents en arrière-plan clonent ton dépôt depuis GitHub et travaillent sur une branche séparée, en poussant vers ton dépôt pour un passage de relais facile. Accorde des privilèges lecture/écriture à ton dépôt (et à tous les dépôts dépendants ou sous-modules). On prendra en charge d’autres fournisseurs (GitLab, Bitbucket, etc.) à l’avenir.
Configuration de la liste d’autorisation d’IP
Si ton organisation utilise la fonctionnalité de liste d’autorisation d’IP de GitHub, tu devras configurer l’accès pour les agents en arrière-plan. Consulte la documentation d’intégration GitHub pour des instructions complètes de configuration, y compris les informations de contact et les adresses IP.

Configuration de l’environnement de base

Pour les cas avancés, configure l’environnement toi-même. Ouvre une instance d’IDE connectée à la machine distante. Configure ta machine, installe les outils et paquets, puis prends un instantané. Configure les paramètres d’exécution :
  • La commande d’installation s’exécute avant le démarrage d’un agent et installe les dépendances d’exécution. Ça peut vouloir dire exécuter npm install ou bazel build.
  • Les terminaux exécutent des processus en arrière-plan pendant que l’agent travaille — comme démarrer un serveur web ou compiler des fichiers protobuf.
Pour les cas les plus avancés, utilise un Dockerfile pour la configuration de la machine. Le Dockerfile te permet de configurer des dépendances système : installer des versions spécifiques de compilateurs, des débogueurs, ou changer l’image de base de l’OS. Ne fais pas de COPY de tout le projet — on gère l’espace de travail et on extrait le commit correct. Gère quand même l’installation des dépendances dans le script d’installation. Saisis les secrets requis pour ton environnement de dev — ils sont stockés chiffrés au repos (via KMS) dans notre base de données et fournis dans l’environnement de l’agent en arrière-plan. La configuration de la machine se trouve dans .cursor/environment.json, qui peut être commit dans ton dépôt (recommandé) ou stocké en privé. Le flux de configuration te guide pour créer environment.json.

Commandes de maintenance

Lors de la configuration d’une nouvelle machine, on part de l’environnement de base, puis on exécute la commande install depuis ton environment.json. Cette commande est celle qu’un·e développeur·euse exécuterait lors d’un changement de branche — installer les nouvelles dépendances. Pour la plupart des gens, la commande install est npm install ou bazel build. Pour assurer un démarrage rapide de la machine, on met en cache l’état du disque après l’exécution de la commande install. Conçois-la pour qu’elle puisse s’exécuter plusieurs fois. Seul l’état du disque persiste après la commande install — les processus démarrés ici ne seront plus actifs quand l’agent démarre.

Commandes de démarrage

Après l’exécution de install, la machine démarre et on exécute la commande start, puis on lance les terminals. Ça démarre les processus qui doivent être actifs quand l’agent s’exécute. La commande start peut souvent être omise. Utilise-la si ton environnement de dev repose sur Docker — mets sudo service docker start dans la commande start. Les terminals concernent le code de l’app. Ces terminaux s’exécutent dans une session tmux disponible pour toi et pour l’agent. Par exemple, beaucoup de dépôts de sites web mettent npm run watch comme terminal.

La spécification de environment.json

Le fichier environment.json peut ressembler à :
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
Formellement, la spécification est définie ici.

Modèles

Seuls les modèles compatibles avec Max Mode sont disponibles pour les agents en tâche de fond.

Tarifs

En savoir plus sur les tarifs de Background Agent.

Sécurité

Les Background Agents sont disponibles en mode confidentialité. On n’entraîne jamais nos modèles sur ton code et on ne conserve le code que pour exécuter l’agent. En savoir plus sur le mode confidentialité. Ce que tu dois savoir :
  1. Accorde des droits lecture/écriture à notre application GitHub pour les dépôts que tu veux modifier. On s’en sert pour cloner le dépôt et effectuer des changements.
  2. Ton code s’exécute dans notre infrastructure AWS, dans des VM isolées, et il est stocké sur les disques des VM tant que l’agent est actif.
  3. L’agent a accès à Internet.
  4. L’agent exécute automatiquement toutes les commandes du terminal, ce qui lui permet d’itérer sur les tests. Ça diffère de l’agent au premier plan, qui nécessite l’approbation de l’utilisateur pour chaque commande. L’exécution automatique introduit un risque d’exfiltration de données : des attaquants pourraient lancer des attaques par injection de prompt et tromper l’agent pour qu’il téléverse du code vers des sites malveillants. Voir l’explication d’OpenAI sur les risques d’injection de prompt pour les background agents.
  5. Si le mode confidentialité est désactivé, on collecte les prompts et les environnements de dev pour améliorer le produit.
  6. Si tu désactives le mode confidentialité au démarrage d’un background agent, puis que tu l’actives pendant son exécution, l’agent continue avec le mode confidentialité désactivé jusqu’à la fin.