С помощью фоновых агентов запускайте асинхронных агентов, которые редактируют и выполняют код в удаленной среде. Отслеживайте их статус, отправляйте дополнительные запросы или берите управление на себя в любое время.

Как использовать

  1. Нажмите , чтобы открыть панель управления фоновым агентом для просмотра списка агентов, создания новых и просмотра статуса.
  2. После отправки запроса выберите своего агента из списка, чтобы просмотреть статус и войти в машину.

Фоновые агенты требуют хранения данных в течение нескольких дней.

Обратная связь

Отправляйте отзывы в наш Discord канал #background-agent или на background-agent-feedback@cursor.com. Пожалуйста, присылайте сообщения об ошибках, запросы функций или идеи.

Настройка

Фоновые агенты по умолчанию работают в изолированной машине на базе ubuntu. Агенты имеют доступ к интернету и могут устанавливать пакеты.

Подключение к GitHub

Фоновые агенты клонируют ваш репозиторий из GitHub и работают в отдельной ветке, отправляя изменения в ваш репозиторий для удобной передачи. Предоставьте права на чтение и запись для вашего репозитория (и любых зависимых репозиториев или подмодулей). В будущем мы будем поддерживать других провайдеров (GitLab, BitBucket и т.д.).

Настройка базовой среды

Для сложных случаев настройте среду самостоятельно. Подключите экземпляр IDE к удаленной машине. Настройте вашу машину, установите инструменты и пакеты, затем создайте снимок. Настройте параметры выполнения:
  • Команда установки выполняется перед запуском агента и устанавливает зависимости времени выполнения. Это может означать выполнение npm install или bazel build.
  • Терминалы запускают фоновые процессы во время работы агента - например, запуск веб-сервера или компиляция protobuf файлов.
Для самых сложных случаев используйте Dockerfile для настройки машины. Dockerfile позволяет настроить системные зависимости: установить определенные версии компиляторов, отладчики или переключить базовый образ ОС. Не используйте COPY для всего проекта - мы управляем рабочим пространством и извлекаем правильный коммит. По-прежнему обрабатывайте установку зависимостей в скрипте установки. Введите любые необходимые секреты для вашей среды разработки - они хранятся в зашифрованном виде (используя KMS) в нашей базе данных и предоставляются в среде фонового агента. Настройка машины находится в .cursor/environment.json, который может быть зафиксирован в вашем репозитории (рекомендуется) или храниться приватно. Процесс настройки проведет вас через создание environment.json.

Команды обслуживания

При настройке новой машины мы начинаем с базовой среды, затем выполняем команду install из вашего environment.json. Эта команда - то, что разработчик выполнил бы при переключении веток - установка любых новых зависимостей. Для большинства людей команда install - это npm install или bazel build. Чтобы обеспечить быстрый запуск машины, мы кэшируем состояние диска после выполнения команды install. Спроектируйте ее для многократного выполнения. Только состояние диска сохраняется после команды install - процессы, запущенные здесь, не будут активны при запуске агента.

Команды запуска

После выполнения install машина запускается, и мы выполняем команду start, за которой следует запуск любых terminals. Это запускает процессы, которые должны быть активны при работе агента. Команду start часто можно пропустить. Используйте ее, если ваша среда разработки зависит от docker - поместите sudo service docker start в команду start. terminals предназначены для кода приложения. Эти терминалы работают в сессии tmux, доступной вам и агенту. Например, многие репозитории веб-сайтов помещают npm run watch как терминал.

Спецификация environment.json

Файл environment.json может выглядеть так:
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
Формально спецификация определена здесь.

Модели

Для фоновых агентов доступны только модели, совместимые с Max Mode.

Цены

Узнайте больше о ценах на Background Agent.

Безопасность

Фоновые агенты доступны в режиме конфиденциальности. Мы никогда не обучаемся на вашем коде и сохраняем код только для работы агента. Узнайте больше о режиме конфиденциальности. Что вам следует знать:
  1. Предоставьте права на чтение и запись нашему GitHub-приложению для репозиториев, которые вы хотите редактировать. Мы используем это для клонирования репозитория и внесения изменений.
  2. Ваш код выполняется в нашей инфраструктуре AWS в изолированных виртуальных машинах и хранится на дисках ВМ, пока агент доступен.
  3. Агент имеет доступ к интернету.
  4. Агент автоматически выполняет все команды терминала, позволяя ему итерировать по тестам. Это отличается от агента переднего плана, который требует одобрения пользователя для каждой команды. Автоматическое выполнение создает риск утечки данных: злоумышленники могут выполнить атаки внедрения промптов, обманув агента для загрузки кода на вредоносные веб-сайты. См. объяснение OpenAI о рисках внедрения промптов для фоновых агентов.
  5. Если режим конфиденциальности отключен, мы собираем промпты и среды разработки для улучшения продукта.
  6. Если вы отключите режим конфиденциальности при запуске фонового агента, а затем включите его во время работы агента, агент продолжит работу с отключенным режимом конфиденциальности до завершения.