Warum schreibt Cursor immer gerne ein Set um, anstatt eine Implementierung zu verwenden, die du bereits im Projekt hast? Solche Beschwerden sind häufig, aber Cursor hat die Antwort im Reuse Existing Code tatsächlich deutlich gemacht: Wenn man nicht ausdrücklich auffordert, "eine bestehende Implementierung zu finden, bevor man entscheidet, ob man eine neue schreibt", kann es standardmäßig eine neue Version generieren.
Warum passiert das?
KI-Editoren sind gut im Abschluss und in der Generierung, aber "generiert" bedeutet nicht "am besten für dein Lager". Gerade bei alten Projekten, Mehrpersonen-Kollaborationsprojekten und Monorepo ist der wirklich vernünftigere Ansatz meist, dem bestehenden Modell zu folgen. Aber wenn dein Prompt nur "hilf mir, einen Login-Check zu schreiben" oder "Füge mir eine Caching-Ebene hinzu", ist es durchaus möglich, die Abrufphase zu überspringen und direkt ein neues Rad zu erstellen.
Praktischere Lösungen
Der direkteste Weg ist nicht, das Modell zu ändern, sondern die Regeln in den Mittelpunkt zu stellen. Die offizielle Idee ist, Cursor zunächst zu bitten, die Anfrage umzuschreiben auf "Ich suche, ob es bereits Code gibt, der das kann", zuerst die Codebasis zu durchsuchen und dann zu entscheiden, ob eine neue Implementierung erstellt wird. Beim Landen kannst du Folgendes tun:
- In den Projektregeln steht: Suchen Sie zuerst nach ähnlichen Implementierungen und generieren Sie dann neuen Code.
- Wenn du eine Frage stellst, füge einen Satz hinzu: Finde zuerst die bestehende Nutzung, bestehende Komponenten und bestehende Dienste und schreibe sie nicht sofort um.
- Gib ihm einen klaren Punkt mit einem '@Files' oder Chat-Kontext für eine Schlüsseldatei und lass ihn nicht mit nur wenigen Zeilen Code in der Nähe spielen.
Der Kern dieses Problems ist also nicht: "Der Cursor wird nicht wiederverwendet", sondern man gibt ihm keinen funktionierenden Auftrag, der zuerst wiederverwendet werden muss. Wenn die Reihenfolge richtig gesetzt ist, verhält sie sich meist viel stabiler und ist eher wie ein Kollaborateur, der in den bestehenden Code passt.