Verbesserung des Agents mit semantischer Suche
Wenn Coding-Agents einen Prompt erhalten, müssen sie sich, um die richtige Antwort zu liefern, zunächst ein Verständnis der Codebasis aufbauen, indem sie Dateien lesen und nach relevanten Informationen suchen.
Ein Werkzeug, das der Agent von Cursor verwendet, ist semantische Suche. Sie ruft Codeabschnitte ab, die zu in natürlicher Sprache formulierten Anfragen passen, etwa „wo behandeln wir Authentifizierung?“, zusätzlich zu der durch ein Tool wie grep bereitgestellten regex-basierten Suche.
Um semantische Suche zu unterstützen, haben wir unser eigenes Embedding-Modell trainiert und Indizierungspipelines für schnellen Abruf aufgebaut. Während man sich ausschließlich auf grep und ähnliche Kommandozeilen-Tools für die Suche verlassen könnte, haben wir festgestellt, dass semantische Suche die Leistung des Agents deutlich verbessert, insbesondere bei großen Codebasen:
-
Erzielt im Durchschnitt 12,5 % höhere Genauigkeit beim Beantworten von Fragen (6,5 %–23,5 % je nach Modell).
-
Erzeugt Codeänderungen, die mit höherer Wahrscheinlichkeit in der Codebasis beibehalten werden.
-
Benötigt weniger Iterationen, bis Nutzer zu einer korrekten Lösung gelangen.
-
Steigert die Genauigkeit über alle von uns getesteten Modelle hinweg, einschließlich aller führenden Coding-Modelle.
Offline-Evals
Wir pflegen einen Evaluierungsdatensatz namens Cursor Context Bench, der sich auf das Auffinden von Informationen in Codebasen mit bekannten richtigen Antworten konzentriert. Diese Evaluierung wird für alle meistgenutzten Modelle in Cursor ausgeführt, einschließlich unseres eigenen Composer.
Der Vergleich betrachtet die Leistung mit zwei Sätzen verfügbarer Tools: einem mit semantischer Suche und einem ohne. In jeder Konfiguration führt semantische Suche zu deutlich besseren Ergebnissen.

Online-A/B-Tests
Wir wollten außerdem die Auswirkungen auf das Endnutzererlebnis verstehen. Wir führten einen A/B-Test durch, bei dem beide Gruppen dasselbe Modell verwendeten, aber der Agent der einen Gruppe Zugriff auf semantische Suche hatte, während sich die andere ausschließlich auf traditionelle Suchwerkzeuge wie grep stützte. Wir betrachteten zwei Metriken:
-
Code-Retention: Von effektiven Agents geschriebener Code bleibt mit höherer Wahrscheinlichkeit in Nutzer-Codebasen bestehen. Wir sehen, dass die Code-Retention des Agents um 0,3 % steigt, wenn semantische Suche verfügbar ist. Dieser Effekt erhöht sich auf 2,6 % bei großen Codebasen mit 1.000 oder mehr Dateien.
-
Unzufriedene Nutzeranfragen: Von effektiven Agents geschriebener Code erfordert keine Nachfragen oder Korrekturen. Wir beobachteten einen Anstieg unzufriedener nachfolgender Nutzeranfragen um 2,2 %, wenn semantische Suche nicht verfügbar war.
Die Effektgröße ist hier geringer, da sich der A/B-Test auf alle Agent-Anfragen bezieht und nicht alle Anfragen eine Suche erfordern.

Benutzerdefinierte Retrieval-Modelle
Ein zentrales Element, das diese Ergebnisse ermöglicht, ist unser benutzerdefiniertes Embedding-Modell. Unser Ansatz verwendet Agent-Sitzungen als Trainingsdaten: Wenn ein Agent an einer Aufgabe arbeitet, führt er mehrere Suchvorgänge aus und öffnet Dateien, bevor der richtige Code gefunden wird. Durch die Analyse dieser Verläufe können wir im Nachhinein erkennen, was in der Konversation früher hätte abgerufen werden sollen.
Wir geben diese Verläufe an ein LLM weiter, das einordnet, welche Inhalte in jedem Schritt am hilfreichsten gewesen wären. Anschließend trainieren wir unser Embedding-Modell so, dass es seine Ähnlichkeitswerte an diese vom LLM erzeugten Rangfolgen anpasst. Dadurch entsteht eine Feedback-Schleife, in der das Modell aus der tatsächlichen Arbeitsweise von Agents bei Programmieraufgaben lernt, anstatt sich auf generische Code-Ähnlichkeit zu verlassen.
Fazit
Semantische Suche ist derzeit unerlässlich, um die besten Ergebnisse zu erzielen, insbesondere in großen Codebasen.
Unser Agent setzt neben semantischer Suche auch grep stark ein, und die Kombination dieser beiden führt zu den besten Ergebnissen. Mit der Weiterentwicklung der Modelle testen und evaluieren wir kontinuierlich alle Tools, die wir dem Agent-Harness zur Verfügung stellen.