Arka plan ajanlarıyla, uzak bir ortamda kodu düzenleyip çalıştıran asenkron ajanlar başlat. Durumlarını görüntüle, takip gönderebilir ya da istediğin zaman kontrolü devralabilirsin.

Nasıl Kullanılır

Arka plan agent’larına iki şekilde erişebilirsin:
  1. Background Agent Sidebar: Hesabınla ilişkili tüm arka plan agent’larını görmek, mevcut agent’lar arasında arama yapmak ve yenilerini başlatmak için Cursor’ın yerel sidebar’ındaki background agent sekmesini kullan.
  2. Background Agent Mode: Arayüzde background agent modunu tetiklemek için tuşlarına bas.
Bir prompt gönderdikten sonra, durumunu görmek ve makineye girmek için listeden agent’ını seç.

Arka plan agent’lar birkaç günlük veri saklama gerektirir.

Kurulum

Background agent’ler varsayılan olarak izole bir Ubuntu tabanlı makinede çalışır. Agent’lerin internet erişimi vardır ve paket yükleyebilirler.

GitHub bağlantısı

Arka plan ajanları repoyu GitHub’dan klonlar, ayrı bir branch’te çalışır ve kolay devretme için repoya pushlar. Repoya (ve bağlı repolar ya da submodule’lere) okuma-yazma yetkisi ver. Gelecekte diğer sağlayıcıları (GitLab, Bitbucket, vb.) da destekleyeceğiz.
IP Allow List Yapılandırması
Organizasyonun GitHub’ın IP allow list özelliğini kullanıyorsa, arka plan ajanları için erişimi yapılandırman gerekecek. İletişim bilgileri ve IP adresleri de dahil olmak üzere eksiksiz kurulum talimatları için GitHub entegrasyon dokümantasyonuna bak.

Temel Ortam Kurulumu

Gelişmiş durumlar için ortamı kendin kur. Uzak makineye bağlı bir IDE örneği edin. Makinenin kurulumunu yap, araçları ve paketleri yükle, sonra bir snapshot al. Çalışma zamanı ayarlarını yapılandır:
  • Install komutu, bir agent başlamadan önce çalışır ve runtime bağımlılıklarını kurar. Bu, npm install veya bazel build çalıştırmak anlamına gelebilir.
  • Terminals, agent çalışırken arka plan süreçlerini yürütür — bir web sunucusu başlatmak veya protobuf dosyalarını derlemek gibi.
En ileri düzey durumlar için makine kurulumu adına bir Dockerfile kullan. Dockerfile, sistem düzeyindeki bağımlılıkları kurmana izin verir: belirli derleyici sürümlerini, hata ayıklayıcıları yüklemek ya da temel OS imajını değiştirmek. Tüm projeyi COPY etme — çalışma alanını biz yönetiyoruz ve doğru commit’i checkout ediyoruz. Yine de bağımlılık kurulumunu install script’inde ele al. Geliştirme ortamın için gereken gizli bilgileri gir — bunlar veritabanımızda atıl halde şifreli (KMS kullanılarak) saklanır ve arka plandaki agent ortamına sağlanır. Makine kurulumu .cursor/environment.json içinde yer alır; bu dosyayı repoya commit edebilirsin (önerilir) ya da özel olarak saklayabilirsin. Kurulum akışı, environment.json oluşturman için sana rehberlik eder.

Bakım Komutları

Yeni bir makine kurarken temel ortamdan başlarız, sonra environment.json dosyandaki install komutunu çalıştırırız. Bu komut, bir geliştiricinin dallar arasında geçiş yaparken çalıştıracağı komuttur — yeni bağımlılıkları kurar. Çoğu kişi için install komutu npm install veya bazel build’dir. Makinenin hızlı açılması için install komutu çalıştıktan sonra disk durumunu önbelleğe alırız. Birden çok kez çalışacak şekilde tasarla. Yalnızca install komutuyla oluşan disk durumu kalıcıdır — burada başlatılan süreçler ajan başladığında çalışır durumda olmayacak.

Başlangıç Komutları

install çalıştırıldıktan sonra makine başlar, biz de start komutunu ve ardından varsa terminals’ı çalıştırırız. Bu, ajan çalışırken açık kalması gereken süreçleri başlatır. start komutu çoğu zaman atlanabilir. Geliştirme ortamın docker’a dayanıyorsa kullan—start komutuna sudo service docker start ekle. terminals uygulama kodu içindir. Bu terminaller, senin ve ajanın erişebildiği bir tmux oturumunda çalışır. Örneğin, birçok web sitesi reposu bir terminal olarak npm run watch ekler.

environment.json Özellikleri

environment.json dosyası şöyle görünebilir:
{
  "snapshot": "POPULATED_FROM_SETTINGS",
  "install": "npm install",
  "terminals": [
    {
      "name": "Run Next.js",
      "command": "npm run dev"
    }
  ]
}
Resmi olarak, özellik kümesi burada tanımlanıyor.

Modeller

Arka plan ajanlarında yalnızca Max Mode ile uyumlu modeller kullanılabilir.

Fiyatlandırma

Background Agent fiyatlandırması hakkında daha fazla bilgi edin.

Güvenlik

Background Agents, Gizlilik Modu’nda kullanılabilir. Kodunu asla eğitim için kullanmıyoruz ve kodunu yalnızca agent’ı çalıştırmak için tutuyoruz. Gizlilik modu hakkında daha fazla bilgi edin. Bilmen gerekenler:
  1. Düzenlemek istediğin repolar için GitHub uygulamamıza okuma-yazma yetkisi ver. Bunu repoyu klonlamak ve değişiklik yapmak için kullanıyoruz.
  2. Kodun, AWS altyapımızda izole VM’lerde çalışır ve agent erişilebilirken VM disklerinde depolanır.
  3. Agent’ın internet erişimi vardır.
  4. Agent, tüm terminal komutlarını otomatik olarak çalıştırır; böylece testler üzerinde yineleme yapabilir. Bu, her komut için kullanıcı onayı gerektiren foreground agent’tan farklıdır. Otomatik çalıştırma veri sızdırma riski doğurur: saldırganlar prompt injection saldırılarıyla agent’ı kandırıp kodu kötü amaçlı sitelere yükletebilir. Arka plan agent’ları için prompt injection riskleri hakkında OpenAI’ın açıklamasına bak.
  5. Gizlilik modu devre dışıysa, ürünü geliştirmek için prompt’ları ve geliştirme ortamlarını toplarız.
  6. Bir background agent başlatırken gizlilik modunu devre dışı bırakır, sonra agent çalışırken etkinleştirirsen, agent tamamlanana kadar gizlilik modu devre dışı kalır.

Dashboard ayarları

Workspace yöneticileri, dashboard’daki Background Agents sekmesinden ek ayarları yapılandırabilir.

Varsayılan Ayarlar

  • Varsayılan model – bir çalıştırma özel bir model belirtmediğinde kullanılan model. Max Mode’u destekleyen herhangi bir modeli seç.
  • Varsayılan depo – boşsa, agent’ler senden bir repo seçmeni ister. Buraya bir depo girmen bu adımı atlamanı sağlar.
  • Temel dal – pull request oluşturulurken agent’lerin çatalladığı dal. Depodaki varsayılan dalı kullanmak için boş bırak.

Güvenlik Ayarları

Tüm güvenlik seçenekleri admin ayrıcalıkları gerektirir.
  • Kullanıcı kısıtlamalarıNone’ı (tüm üyeler arka planda agent başlatabilir) ya da Allow list’i seç. Allow list olarak ayarladığında, hangi takım arkadaşlarının agent oluşturabileceğini tek tek belirlersin.
  • Takım takip mesajları – açıksa, çalışma alanındaki herkes başkasının başlattığı bir agent’a takip mesajı ekleyebilir. Kapatırsan, takipler sadece agent sahibine ve adminlere kısıtlanır.
  • Agent özetini göster – Cursor’ın agent’ın dosya diff görsellerini ve kod parçacıklarını gösterip göstermemesini kontrol eder. Kenar çubuğunda dosya yollarını veya kodu görünür kılmak istemiyorsan bunu kapat.
  • Agent özetini harici kanallarda göster – önceki ayarı Slack’e veya bağladığın diğer harici kanallara genişletir.
Değişiklikler anında kaydedilir ve yeni agentları hemen etkiler.