It's stuff like this that makes me scratch my head with all the talk of people saying they vibe coded this and vibe coded that.
How the heck do you vibe code a whole app knowing that the LLM will either hallucinate at some point or trust you too much and follow an erroneous request?
I'm not a developer, but I hack on various things.
But my take on the various models avail on Cursor are:
Claude-3.5 is the most laser focused: If you ask it "help me write this function to do ABC" - it will write a function to do ABC.
Claude-3.7 if you ask it "help me write this function to do ABC" - it will write the function to do ABC, and then also cleanup some old stale comments, improve functionX to work the same way that ABC works, and edit a totally different file that needed ABC function to use that.
Gemini-2.5 A happy medium between the two. Tends to write very good code (I assume they trained it on google corps whole code corpus). Seems best at understanding a complete codebase...
I sometimes switch between them based on my need....like if I really just want to optimize a function I may choose Claude-3.5 because the "laser focus" keeps it from doing too many other changes.
The best advice I can give you is to have a preamble, meaning a set of instructions before every prompt, the preamble should insist you value accuracy above all, and want reliable responses every time. After the preamble you write your prompts.
Apparently, it did not know about the Postgres documentation since it clearly states that a @> b means that a is the ancestor of b:
I already knew that when I asked it the first question, but I wanted to see what it will say given a very neutral question and it failed miserably with a lot of words.
My trust in it is broken if it ever existed to begin with 👀
claude-3.7-sonnet
in Cursor but I don't really know what to select therea @> b
means thata
is the ancestor ofb
: