Apply model needs significant improvement

First of all, kudos - the concept of an apply model is one of the key innovations in Cursor and it’s what hooked me from the beginning, but it’s starting to feel a bit unfit for purpose and I am spending way too much time waiting for the cursor to slowly crawl down the codefiles.

  • It’s all but broken on Gemini and o1 models
  • It’s broken over 500 lines of code
  • it’s painfully slow
  • it makes frequent mistakes, it only works about 40% of the time for me, even though I try and have very small codefiles

I have a good sense for how it works, i.e. it’s instructing a supervisor LLM with your original code file and the change request and outputting your modified file line by line.

What we desperately need now is a more directed and sparse version of this using language service i.e. use an LLM to decompose an edit into a bunch of language service instructions i.e. [GOTO THIS FILE] [GOTO THIS FUNCTION] [REPLACE THE SECOND STATEMENT] - the LLM could control the IDE through tool use, and reflexively verify its changes as it goes. Sparse change requests should run quickly on large code files.

Having a robust and fast apply model which worked in large code files for sparse updates would be like magic, surely it’s possible?