Hello,
I’d like to start by acknowledging how impressive Cursor is as a tool. I’ve been coding for around two years, and during that time, I’ve witnessed the rapid growth of AI in development — from experimenting with OpenAI’s early models just as I started my career, to using GitHub Copilot in its initial stages with GPT-3.5, and now working with Cursor. These advancements have undeniably transformed the coding experience, making it more efficient, less monotonous, and overall more intuitive. However, as someone still fairly new to the world of programming, I’ve noticed a concern that I think is worth discussing: how heavy reliance on AI might affect the learning and growth of developers like myself.
Concern: Over-reliance on AI
AI tools are undoubtedly powerful, but for developers—especially new ones—there’s a very fine line between being empowered by AI and becoming overly dependent on it. I’ve noticed a gradual shift in my own coding process: where initially I would use AI for smaller suggestions or code completion (early Copilot days), it has now evolved to where I heavily rely on it for larger blocks of code, full components and even entire implementations.
While that sounds great from an efficiency standpoint, it comes with a potential drawback that I’ve experienced firsthand: the more AI takes the wheel, the less I seem to be the one actively solving problems. I’ve read similar concerns from others, where letting AI do too much can inhibit learning. It’s like becoming a passenger with the AI driving instead of the other way around. When AI fills in too many gaps, we, as developers, may not exercise or develop the skills to solve the problems ourselves.
Now, I know many developers—particularly more senior ones—who express frustration with AI, saying it produces low-quality code, doesn’t meet their expectations, or requires too much reworking. I understand their concerns, but in my honest opinion, I think it’s only a matter of time before those limitations are overcome. As AI capabilities grow, with expanding context windows and improved output quality, I believe those concerns will become less relevant. That said, my point remains: as AI improves and becomes more capable, it’s more important than ever to implement features that allow developers to limit or throttle AI usage, especially to prevent over-reliance and maintain the learning curve for those still honing their skills.
The risk is that, as new or intermediate developers, we might:
- Lose deep understanding of the code we’re working with.
- Depend on AI for problem-solving, which reduces our ability to think critically and debug independently.
- Fail to build long-term memory, as we become used to just asking AI to provide the solution.
In my case, I noticed that the more I used AI, the less I retained about certain coding concepts, which made me wonder whether I was genuinely learning or just bypassing the problem-solving process. It’s a real concern for someone like me who is still actively learning.
Feature Request: Throttling or Limiting AI Assistance
Given this, I think it would be incredibly beneficial if Cursor introduced a feature that allows developers to limit or throttle AI usage in certain scenarios. Some potential options could include:
- Self-imposed AI limitations: Developers could choose to limit the number of code completions or restrict AI to smaller snippets instead of larger blocks of code. This way, AI can act more like a pair programmer rather than a full replacement.
- Gradual Assistance Mode: A mode where the AI provides more suggestions early on in a session but gradually scales back, encouraging the developer to write more code independently as they go.
- Focus Mode: A setting where developers can disable AI assistance entirely for specific periods or sections of the project, allowing them to focus on coding and problem-solving on their own. This could be useful for building up knowledge retention or reinforcing concepts before leaning on AI.
- Contextual Suggestions: Limiting AI to providing smaller, context-aware suggestions rather than fully implemented solutions, to keep developers engaged in understanding and writing their own code.
The Goal: AI as a Pair Programmer, Not the Primary Driver
AI is best when it enhances the developer’s ability, not when it takes over the whole process. Newer developers like myself need the challenge of working through problems on our own to fully understand the logic and nuances behind the code. AI should be a tool that nudges us toward better solutions, but not one that solves everything in a way that skips critical thinking.
By having these options, developers can tailor their experience to their comfort and skill level, ensuring that AI remains a supportive tool and not something that unintentionally hampers our growth. While Cursor is already a fantastic tool, I think adding functionality like this would make it even more robust, especially for new or intermediate developers who are still learning the ropes.
Now I know that I can achieve some degree of control using system messages / prompts and many will suggest I just stop using AI, however I think it would be beneficial if Cursor were to develop some of the features I suggested, a deeper integration of limitations beyond a system message such that one can still utilise AI in all its glory, without shooting them selves in the foot.
Thanks for taking the time to consider this!
- Ironically this was written entirely by ctrl+l, starting to see my point? AI over reliance might be a silent killer.