Planungsmodus in Cursor für KI-Coding: Erfahrungsbericht

Geschrieben von Fachexperten: Timon Fiddike Timon Fiddike, CST®, Machine Learning seit 2005

Zusammenfassung

Der neue Planungsmodus in Cursor unterstützt KI-Coding in einfachen Fällen sehr gut, aber versagt in schwierigeren Fällen katastrophal. Beides zeige ich an Beispielen, mit Screenshots, Schritt für Schritt.

Dies ist eine Ergänzung zum Artikel KI-Coding Lernen: Ein Weg in 10 Schritten: Ein Erfahrungsbericht, speziell zu Schritt 7. Die Schritte davor und danach geben Dir ggf. wertvollen Kontext für diesen Artikel.

Cursor hat seit dem 7.10.2025 einen neuen Planungsmodus. So aktiviert man ihn:

Beispiel 1: Planungsmodus funktioniert gut

Ich starte mit dem folgenden Prompt:

Prompt 1
New export, “Link Check Result” with “Matching Links” (like for example http://localhost:8000/results/69/ ) in TSV format, columns:
“Matched URL”
“Anchor Text”
“Total Link Count” (total count of links with the same combination of “Matched URL” and “Anchor Text”, so for example 3 results with the same combination only produce 1 line in the export which shows a “Total Count” of 3.
“Fractional Link Count” , which is similar to “Total Link Count”, but each link counts as 1 (full link) only if it is the only matched link in this result. If there are multiple matched links i a result, then each of them is counted only as a fraction, for example http://localhost:8000/results/69/ has four matched links , so each of the only counts as 0.25 in the “Fractional Link Count”
Important: only the latest result for each “Link Check Definition” is considered, so that multiple identical results for the same “Link Check Definition” do not make a difference in this export

Dank Planungsmodus stellt der Agent von sich aus Fragen, auch mit einem Claude Sonnet Modell. Das ist ein Fortschritt! Der normale Agent fängt sonst manchmal schon an, schlechten Code zu produzieren, wenn man nicht dazu schreibt, dass der er zunächst Fragen stellen soll. Dank der vorgeschlagenen Antworten kann ich sehr knapp antworten, siehe unten rechts im Screenshot:

Nun entwickelt der Agent zunächst einen detaillierten Plan, den ich prüfe: Die Zusammenfassung passt so:

Auch den Implementierungsplan finde ich gut:

Der Agent hat bemerkt, dass dieses Projekt umfassend mit automatisierten Test entwickelt wird und macht entsprechend detaillierte Vorschläge zum Testen, seht schön:

Der Agent hat eine ToDo Liste für sich selbst erstellt, auch mit dieser bin ich einverstanden und klicke deswegen nun auf „Build“:

Die Umsetzung startet:

Zum Abschluss werden wie immer meine für des Projekt definierten Quality Tools ausgeführt. Dies ist in meinen MDC Regeln für den Agenten festgelet, siehe auch im Hauptartikel Abschnitt „Schritt 6: Regeln für den Agenten“:

Schließlich folgt die Zusammenfassung:

Die definierte Qualität wurde erreicht, soweit automatisiert überprüfbar mit den o.g. Regeln und Quality Tools. Wenn das nicht der Fall ist (was immer wieder einmal vorkommt), greift eine Regel, die den Agenten anweist, bis zu fünf Versuche zu unternehmen, diese Fehler zu korrigieren und wieder zu überprüfen:

Nach einem kurzen manuellen Test überprüfe ich nun zu guter Letzt noch als Mensch, ob Code und Architektur in meinen Augen in Ordnung sind. Cursor macht es mir leicht, alle Änderungen einzeln zu prüfen:

Nachdem im oben genannten Beispiel alles gut funktioniert hat, wage ich mich nun an ein anspruchsvolleres Beispiel heran, bei dem der Planungsmodus dann leider auch gleich versagt und sehr eigenartiges Fehlverhalten zeigt:

Beispiel 2: Planungsmodus versagt

Ich starte mit dem folgenden Prompt:

Prompt 1
In LinkCheckResultForm displayed in the Modal opening at http://localhost:8000/link-checks/ when clicking "Add Manual Result":

Keep "Checked By" with default value "Human", but replace the other visible fields "Status code", "Content length", "Fragment found", "Fragment count" by a single new field:
Lable above fied: Paste the full origin HTML source code
Field:  text input, 6 lines, the example content shown to help the user will be:
"The whole HTML source code, like:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
..."
Below the new field: "Open the origin page in Chrome, then press Cmd+Opt+U to show source code, then Cmd+A to select all and Cmd+C to copy."

When the form is submitted, all values for the link_check_result will be determined by the back end from the submitted HTML.
Use the existing code that analyses HTML when when loading via HTTP-client, if necessary, adapt the existing code so it can be used for both purposes.

Dank Planungsmodus stellt der Agent wieder von sich aus Fragen, anders als in Beispiel 1 bin ich mit einer der vorgeschlagenen Antworten aber nicht einverstanden. Siehe rote Markierungen im Screenshot: Hier hat der Agent nicht verstanden, dass eine Funktion im Backend schon abdeckt, was nötig ist, und macht abwegige Vorschläge:

Der Agent berücksichtigt meine Hinweise beim Erstellen des Plans. Allerdings macht mich stutzig, dass eine neue Formularklasse hinzugefügt werden soll, denn ich möchte die bestehende Klasse abändern und nicht unnötig zwei separate Klassen in der Codebase haben. Ich beauftrage eine weitere Analyse:

Der Agent ist der Meinung, die bestehende Klasse würde von weiteren Stellen im Code referenziert:

Der Einwand ist tatsächlich so halb berechtigt, denn die genannten weiteren Stellen existieren zwar, sind aber aus dem UI nicht mehr erreichbar und sollten folglich entfernt werden. Dieser Teil der Planung ist ein bisschen umständlich, potentiell aber wertvoll, weil toter Code entdeckt wurde. Hier besteht also die Chance, die Code Base im Sinne der Pfadfinderregel ein Stückchen besser zu machen (Pfadfinderregel: Müll, den man beim Waldspaziergang bemerkt, nimmt man auch gleich mit. Wenn alle das immer tun, sind auch nicht so oft große Aufräumaktionen erforderlich. Im Software Bereich führt es dazu, dass genau die Stellen im Code systematisch verbessert werden, die tatsächlich auch für Kunden relevant sind). Ich weise den Agenten an, zu prüfen, welcher weitere Code ausgehend von dieser Information noch entfernt werden kann:

Die gezielte Analyse trägt Früchte, nun bestätigt der Agent, dass die genannten Codestellen tatsächlich unbenutzt sind und sicher entfernt werden können:

Nun hatte ich mich gerade über ein gutes Zwischenergebnis gefreut, und werde enttäuscht dadurch, dass im soeben aktualisierten Plan noch immer die bereits besprochenen Probleme auftauchen: Im Plan schreibt der Agent weiterhin, dass er eine separate neue Formular Klasse anlegen möchte:

Als ich den Agenten mit dieser Inkonsistenz konfrontiere, erhalte ich eine hochgradig interessante Antwort: Offenbar gibt es irgendwo zwischen Modell und Agent eine interne Repräsentation des Plans, die (nach Aussage des Agenten) korrekt aktualisiert wurde, während die für mich sichtbare Vorschau davon separat existiert und nicht aktualisiert wurde. Nun bin ich einigermaßen irritiert: Ich habe zwar Verständnis dafür, dass eine interne Repräsentation, in Form von Tokens, für den Nutzer noch übersetzt werden muss, in eine menschenlesbare Vorschau, aber natürlich wird die ganze Idee der Planung potentiell sinnlos, wenn die Vorschau nicht zum tatsächlichen Plan passt!

Nun versuche ich das beste aus der Situation zu machen und weise den Agenten an, zwei separate Pläne in Dateien zu schreiben. Ein Plan für das Löschen von nicht mehr benötigtem Code, ein separater Plan für den Einbau des neuen Features. Einfach deswegen, weil ich diese beiden Änderungen separat getestet haben möchte, und ich möchte sie auch separat in GIT comitten:

Das ging schief, es wird nur ein Plan als Datei bereit gestellt:

Auf meine erneute Anweisung, nun tatsächlich beide Pläne in separate Dateien zu schreiben, erkennt der Agent seinen Fehler an, schreibt aber erneut nur eine Datei mit dem gleichen Inhalt wie zuvor:

Ich finde mich ersteinmal damit ab, dass der Plan für das neue Feature nicht mehr exportierbar ist. Nun möchte ich zumindest die Aufräumaktion durchführen und gebe entsprechend die Anweisung, den aktuell verfügbaren Plan auch tatsächlich umzusetzen. Und nun wird es richtig schräg: Das weiter oben bereits beschriebene Problem, von der internen Repräsentation und abweichenden Vorschau, schlägt nun maximal zu: Angezeigt wird der Plan für die Aufräumaktion, aber umgesetzt wird stattdessen das neue Feature, wie es im mittleren Teil des Screenshots schon zum Teil sichtbar, bevor ich den Versuch abbreche.

Beispiel 2: Manuell gerettet

Die oben gezeigte Sitzung habe ich an dem Punkt abgebrochen, aber sie war aber dennoch wertvoll für mich:

  • Ich weiß nun, dass der Planungsmodus, Stand Oktober 2025, nur für lineare Planungsprozesse funktioniert. Sobald es komplizierter wird, führt er den Nutzer regelrecht in die Irre.
  • Ich konnte die oben bereits geplante Aufräumaktion letztlich in einer neuen Sitzung, ausgehend von der zuvor gespeicherten plan.md Datei, problemlos umsetzen lassen.
  • Danach war es leicht, mit meinem ursprünglichen Prompt und den Erkenntnissen aus der Zwischenzeit das neue Feature einbauen zu lassen. Das hat dann auch mit wenigen Prompts hervorragend funktioniert.

Reflexion, Einladung und Angebot

  • Hast Du als Entwickler konkrete Ideen für Deinen eigenen Weg bekommen?
  • Hast Du als Führungskraft einen Eindruck gewonnen, welche Schritte Deine Mitarbeiter gehen könnten? Denkst Du darüber nach, ihnen andere Impulse und Unterstützung anzubieten als bisher?
  • Hast Du einen ersten Eindruck von mir?

Nimm gerne Kontakt mit mir auf, wenn Du einen Impulsvortrag oder Workshop möchtest! Lass uns gemeinsam überlegen, welche Art von Unterstützung für Euch hilfreich sein kann. Ich erstelle Euch gerne ein Angebot. Du erreichst mich direkt oder (wg. Spam Filter) auch noch verlässlicher über unsere zentrale Kontakt E-Mail oder Telefon.

Über den Autor

Dr. Timon Fiddike

  • Seit 2010 auf dem Pfad der Agilität
  • Seit 2005 KI, AI, Machine Learning, siehe Werdegang
  • Erfahrung als Entwickler im Team, Product Owner, Scrum Master, Geschäftsführer und Coach
  • Höchste Zertifizierung: Certified Scrum Trainer® (weltweit ca. 220 Personen) für die Scrum Alliance®
  • Erfahrung in Startup, Mittelstand & Konzern
  • Integraler Coach – Ausbildung nach ICF ACTH-Standard
  • Unterstützt mit Begeisterung das menschliche Wachstum, das agile Arbeit ermöglicht
  • Geschäftsführer Agile.Coach GmbH & Co. KG

Zu Timons Profil

Nach oben scrollen