Produkt

Cursor-Agenten können jetzt ihre eigenen Computer steuern

Jonas Nelle & Alexi Robbins10 Min. Lesezeit

Agenten sind nur so leistungsfähig wie die Umgebung, in der sie ausgeführt werden. Ohne die Möglichkeit, die Software zu nutzen, die sie erstellen, stoßen Agenten an ihre Grenzen.

In den letzten Monaten haben wir das intern gelöst, indem wir Agenten ihre eigenen virtuellen Maschinen mit vollständigen Entwicklungsumgebungen gegeben haben sowie die Möglichkeit, ihre Änderungen zu testen und Artefakte (Videos, Screenshots und Logs) zu erzeugen, damit du ihre Arbeit schnell validieren kannst.

Heute machen wir eine neue Version von Cursor Cloud-Agenten überall verfügbar, wo du arbeitest, einschließlich Web, Mobilgeräten, Desktop-App, Slack und GitHub. Cloud-Agenten arbeiten sich selbstständig in deine Codebase ein und erstellen merge-bereite PRs mit Artefakten, um ihre Änderungen zu demonstrieren. Du kannst auch den Remote-Desktop des Agenten steuern, um die geänderte Software zu nutzen und selbst Bearbeitungen vorzunehmen, ohne den Branch lokal auszuchecken.

Das ist die größte Veränderung darin, wie wir Software erstellen, seit dem Wechsel von Tab-Autovervollständigung zum synchronen Arbeiten mit Agenten. Mehr als 30 % der PRs, die wir bei Cursor mergen, werden inzwischen von Agenten erstellt, die autonom in Cloud-Sandboxes arbeiten.

30 % der intern gemergten PRs werden inzwischen von Cloud-Agenten erstellt30 % der intern gemergten PRs werden inzwischen von Cloud-Agenten erstellt

Die nächste Stufe der Autonomie

Lokale Agenten machen es leicht, mit der Codegenerierung zu beginnen, aber sie geraten schnell in Konflikte und konkurrieren miteinander (und mit dir) um die Ressourcen deines Computers. Cloud-Agents beseitigen diese Einschränkung, indem sie jedem Agenten eine isolierte VM bereitstellen, sodass du viele parallel ausführen kannst.

Cloud-Agents können Software außerdem direkt in ihrer eigenen Sandbox erstellen und mit ihr interagieren. So können sie so lange iterieren, bis sie ihre Ergebnisse validiert haben, anstatt schon den ersten Versuch zu übergeben. Das folgende Video zeigt einen Proof of Concept aus unserer früheren Forschung zur erweiterten Computernutzung.

Du kannst sehen, wie der Agent im Browser durch Webseiten navigiert, mit Tools wie Tabellenkalkulationen arbeitet, Daten interpretiert und Entscheidungen trifft sowie Probleme in komplexen UI-Umgebungen löst.

Der Agent hat sich selbst dabei aufgezeichnet, wie er in seiner VM mit Desktop-Anwendungen interagiert.

Cloud-Agenten bei Cursor nutzen

Im letzten Monat haben wir Cloud-Agenten intern eingesetzt, und das hat grundlegend verändert, wie wir Software entwickeln. Statt Aufgaben in kleine Teilstücke zu zerlegen und Agenten im Mikromanagement zu steuern, delegieren wir anspruchsvollere Aufgaben und lassen sie eigenständig arbeiten.

Hier sind einige Beispiele dafür, wie wir Cloud-Agenten einsetzen:

Neue Features entwickeln

Wir haben Cloud-Agenten genutzt, um uns beim Entwickeln von Plugins zu unterstützen, die wir vor Kurzem im Cursor Marketplace eingeführt haben. Hier ist einer unserer Prompts:

Für jede Komponente, die auf der Seite eines bestimmten Plugins angezeigt wird, möchten wir einen Link zum Quellcode einfügen. Für Skills, commands, rules und subagents ist das die .md-Datei. Für hooks ist es die hooks.json. Für MCPs ist es die .mcp.json oder das Manifest, in dem sie definiert sind. Da wir alle Komponenten eines Plugins indizieren, behalte die Quelldatei im Blick und konstruiere über die zugrunde liegende GitHub-URL Links zu dieser Datei. Stelle das im Frontend bereit und lass unser Frontend mit diesem Symbol zu GitHub verlinken. Lokal testen mit https://github.com/prisma/cursor-plugin

Der Agent implementierte das Feature und zeichnete anschließend auf, wie er zum importierten Prisma-Plugin navigierte und jede Komponente anklickte, um die GitHub-Links zu verifizieren.

Der Agent zeichnete auf, wie er auf Buttons klickte, um zu verifizieren, dass sie auf die richtigen Quelldateien verlinken.

Für lokale Tests umging der Agent vorübergehend das Feature-Flag vor der Marketplace-Seite und machte die Änderung vor dem Pushen wieder rückgängig. Er rebasete auf main, löste Merge-Konflikte und squashte alles zu einem einzelnen Commit.

Schwachstellen reproduzieren

Wir starteten einen Cloud-Agenten aus Slack mit dem Prompt „Bitte triagiere diese Schwachstelle und erkläre sie mir sehr detailliert“, gefolgt von einer Beschreibung einer Schwachstelle zur Exfiltration der Zwischenablage. Als der Agent fertig war, antwortete er im Slack-Thread mit einer Zusammenfassung dessen, was er erreicht hatte.

Cloud-Agent reproduziert eine Schwachstelle

Der Agent erstellte eine HTML-Seite, die die Schwachstelle über eine offengelegte API ausnutzt. Er startete einen Backend-Server, um die Demo-Seite lokal zu hosten, und lud die Seite im integrierten Browser von Cursor.

Das Videoartefakt zeigt den vollständigen Angriffsablauf: Der Agent kopierte eine Test-UUID in die Systemzwischenablage, lud die Demo-Seite in Cursors Browser und klickte auf einen Button, um die UUID zu exfiltrieren und anzuzeigen. Außerdem machte er einen Screenshot, der den erfolgreichen Diebstahl aus der Zwischenablage zeigt, und commitete die Demo-HTML-Datei ins Repository.

Der Agent zeichnete auf, wie er den Angriffsablauf durchging, um die Schwachstelle zu demonstrieren.

Schnelle Fehlerbehebungen umsetzen

Wir baten einen Cloud-Agenten, die statische Beschriftung „Read lints“ durch eine dynamische zu ersetzen, die von den Lint-Ergebnissen gesteuert wird. Er implementierte „No linter errors“ für null Diagnosen und „Found N errors“ für N Diagnosen, mit Styling passend zum bestehenden CSS.

Der Agent testete zwei Fälle in der Cursor-Desktop-App: eine Datei mit mehreren Typfehlern und eine saubere Datei ohne Fehler. Das Videoartefakt zeigt, wie der Agent verifiziert, dass die saubere Datei eine aufgeklappte Gruppe hat, die „No linter errors“ anzeigt.

Der Agent zeichnete auf, um zu zeigen, dass er die Fehlerbehebung für die Lint-Beschriftung korrekt implementiert hat.

UI testen

Wir starteten einen Cloud-Agenten, um zu prüfen, dass auf cursor.com/docs alles korrekt funktioniert. Er verbrachte 45 Minuten mit einem vollständigen Durchgang durch unsere Dokumentationswebsite. Der Agent lieferte eine Zusammenfassung aller Features, die er getestet hat, darunter die Seitenleiste, die obere Navigation, die Suche, den Button zum Kopieren der Seite, den Dialog zum Teilen von Feedback, das Inhaltsverzeichnis und das Umschalten des Themes.

Der Agent zeichnete auf, wie er die UI auf der Cursor-Dokumentationswebsite testete.

Jetzt, da Agenten den Großteil der Implementierung übernehmen können, haben wir festgestellt, dass die Rolle eines Entwicklers heute stärker darin besteht, die Richtung vorzugeben und zu entscheiden, was ausgeliefert wird.

Was kommt als Nächstes

Wir arbeiten auf eine Zukunft mit selbstfahrenden Codebasen hin, in der Agenten PRs zusammenführen, Rollouts verwalten und die Produktion überwachen. Wir werden uns von einer Welt bewegen, in der Entwickler Agenten nutzen, um Diffs zu erstellen, hin zu einer Welt, in der Agenten getestete Features End-to-End ausliefern.

Um diesen Wandel vollständig zu verwirklichen, müssen Tooling, Modelle und Interaktionsmuster verbessert werden. Unser kurzfristiger Schwerpunkt liegt darauf, Arbeit über viele Agenten hinweg zu koordinieren und Modelle zu entwickeln, die aus früheren Durchläufen lernen und mit wachsender Erfahrung immer effektiver werden.

Lege unter cursor.com/onboard los, um zuzusehen, wie der Agent sich selbst konfiguriert und eine Demo aufzeichnet. Oder erfahre mehr in der Dokumentation.

Kategorien: Produkt

Autors: Jonas Nelle & Alexi Robbins