Con los agentes en segundo plano, genera agentes asíncronos que editan y ejecutan código en un entorno remoto. Ve su estado, envía seguimientos o toma el control en cualquier momento.

Cómo Usar

  1. Presiona para abrir el panel de control del agente en segundo plano para listar agentes, generar nuevos y ver el estado.
  2. Después de enviar un prompt, selecciona tu agente de la lista para ver el estado y entrar a la máquina.

Los agentes en segundo plano requieren retención de datos del orden de unos pocos días.

Comentarios

Envía comentarios a nuestro canal de Discord #background-agent o a background-agent-feedback@cursor.com. Por favor, envía errores, solicitudes de funciones o ideas.

Configuración

Los agentes en segundo plano se ejecutan en una máquina aislada basada en ubuntu por defecto. Los agentes tienen acceso a internet y pueden instalar paquetes.

Conexión con GitHub

Los agentes en segundo plano clonan tu repositorio desde GitHub y trabajan en una rama separada, haciendo push a tu repositorio para facilitar la transición. Otorga privilegios de lectura y escritura a tu repositorio (y cualquier repositorio dependiente o submódulo). Soportaremos otros proveedores (GitLab, BitBucket, etc) en el futuro.

Configuración del Entorno Base

Para casos avanzados, configura el entorno tú mismo. Conecta una instancia de IDE a la máquina remota. Configura tu máquina, instala herramientas y paquetes, luego toma una instantánea. Configura los ajustes de tiempo de ejecución:
  • El comando de instalación se ejecuta antes de que un agente inicie e instala las dependencias de tiempo de ejecución. Esto podría significar ejecutar npm install o bazel build.
  • Las terminales ejecutan procesos en segundo plano mientras el agente trabaja - como iniciar un servidor web o compilar archivos protobuf.
Para los casos más avanzados, usa un Dockerfile para la configuración de la máquina. El dockerfile te permite configurar dependencias a nivel del sistema: instalar versiones específicas de compiladores, depuradores, o cambiar la imagen base del SO. No hagas COPY de todo el proyecto - nosotros gestionamos el espacio de trabajo y hacemos checkout del commit correcto. Aún maneja la instalación de dependencias en el script de instalación. Ingresa cualquier secreto requerido para tu entorno de desarrollo - se almacenan cifrados en reposo (usando KMS) en nuestra base de datos y se proporcionan en el entorno del agente en segundo plano. La configuración de la máquina se encuentra en .cursor/environment.json, que puede ser confirmado en tu repositorio (recomendado) o almacenado de forma privada. El flujo de configuración te guía a través de la creación de environment.json.

Comandos de Mantenimiento

Al configurar una nueva máquina, comenzamos desde el entorno base, luego ejecutamos el comando install de tu environment.json. Este comando es lo que un desarrollador ejecutaría al cambiar de ramas - instalar cualquier nueva dependencia. Para la mayoría de las personas, el comando install es npm install o bazel build. Para asegurar un inicio rápido de la máquina, almacenamos en caché el estado del disco después de que se ejecuta el comando install. Diseñalo para ejecutarse múltiples veces. Solo el estado del disco persiste del comando install - los procesos iniciados aquí no estarán vivos cuando el agente inicie.

Comandos de Inicio

Después de ejecutar install, la máquina inicia y ejecutamos el comando start seguido de iniciar cualquier terminals. Esto inicia procesos que deberían estar vivos cuando el agente se ejecute. El comando start a menudo puede omitirse. Úsalo si tu entorno de desarrollo depende de docker - pon sudo service docker start en el comando start. terminals son para el código de la aplicación. Estas terminales se ejecutan en una sesión tmux disponible para ti y el agente. Por ejemplo, muchos repositorios de sitios web ponen npm run watch como una terminal.

La Especificación de environment.json

El archivo environment.json puede verse así:
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
Formalmente, la especificación está definida aquí.

Modelos

Solo los modelos compatibles con Max Mode están disponibles para agentes en segundo plano.

Precios

Obtén más información sobre los precios del Background Agent.

Seguridad

Los Agentes en Segundo Plano están disponibles en Modo de Privacidad. Nunca entrenamos con tu código y solo retenemos el código para ejecutar el agente. Aprende más sobre el modo de Privacidad. Lo que debes saber:
  1. Otorga privilegios de lectura y escritura a nuestra aplicación de GitHub para los repositorios que quieras editar. Usamos esto para clonar el repositorio y hacer cambios.
  2. Tu código se ejecuta dentro de nuestra infraestructura de AWS en VMs aisladas y se almacena en discos de VM mientras el agente esté accesible.
  3. El agente tiene acceso a internet.
  4. El agente ejecuta automáticamente todos los comandos de terminal, permitiéndole iterar en las pruebas. Esto difiere del agente en primer plano, que requiere aprobación del usuario para cada comando. La ejecución automática introduce riesgo de exfiltración de datos: los atacantes podrían ejecutar ataques de inyección de prompts, engañando al agente para que suba código a sitios web maliciosos. Ver la explicación de OpenAI sobre los riesgos de inyección de prompts para agentes en segundo plano.
  5. Si el modo de privacidad está deshabilitado, recopilamos prompts y entornos de desarrollo para mejorar el producto.
  6. Si deshabilitas el modo de privacidad al iniciar un agente en segundo plano, luego lo habilitas durante la ejecución del agente, el agente continúa con el modo de privacidad deshabilitado hasta que se complete.