AI Programming Tools Can Only Be Auxiliary, Boss Thinks AI Programming Can Replace Developers? Dream On!
Wake up, AI programming is not as simple as you think. Don’t blindly trust AI-generated code, current AI programming is not as good as you imagine.
I am a frontend novice. I spent 20 hours using Cursor to do secondary development on an open-source website project. After a flurry of activity, I found that none of the features were working anymore. And this open-source project was just a simple webpage website program.
This was my first time using Cursor as a novice. I had previously only used it as an auxiliary tool. My blog’s video playback page was written using V0 dev, the interface was refined using Kimi, and the video list page was written with Cursor.
1 My Experience with Cursor
My experience with Cursor: It’s like the wall-breaker in the skit “Renovation,” where they say, “Give me eighty, and I’ll break the wall wherever you want,” and I’m the homeowner. So, “One hammer for water, one hammer for electricity, and if I break a gas line, it’s all over” (I’m about to lose my temper). I first asked it to implement feature A, and then added feature B on top of it. But I found that it broke feature A, so I asked it to fix A, and then feature B was broken. This repeated in a continuous loop.
Some might say that I used it wrong or didn’t follow best practices. Maybe I didn’t follow the optimal way, but if a tool can only be used in its prescribed manner and the cognitive load is so high, does it really improve my productivity?
2 The Realities of AI Programming
Some people think it’s impressive, but they don’t understand code. They think just implementing a feature is impressive. Or they think that implementing a simple function or script like summing two numbers is a big deal. Sure, single small features may be impressive, but when it comes to designing complex features, it’s not always so strong. Even for single features, bugs may still occur.
Marketing channels exploit this novice psychology by exaggerating the capabilities of AI programming. For example:
- “Create XX in a few minutes”
- “Novices using AI to create XX”
- “AI will replace programmers, and programmers will lose their jobs”
Currently, AI models cannot take a big goal and break it down into smaller tasks for execution on their own. When a programmer receives requirements from a product manager, they abstract models, decompose tasks, design modules, and implement code.
So, right now, AI programming can only be an auxiliary tool, not your programmer. You need to understand programming code. You need to review the changes it makes. You need to have design blueprints to guide what it should do. Simply put, you are an architect who plans and designs the modules, and then lets AI execute the programming.
The larger the project and the more complex the requirements, the higher your skill level and abilities need to be to control a tool like Cursor. At the very least, your framework skills need to be higher than its capabilities. Otherwise, you will end up with a mess of code—different coding styles, using different libraries for the same functionality, which makes it impossible to maintain, read, or reuse.
3 Communication with AI as human
When using AI, you need to treat it like a person, communicating your requirements. Tell it your design ideas and the features you want, as detailed as possible. Only then can you possibly achieve the desired result. If the communication cost is so high, does it really improve our efficiency?
I think the experience with current conversational AI products is poor. I need to know some prompt strategies to get results close to what I want. Product design should be more user-friendly, low-barrier, and intuitive to use without the need for extensive teaching. Instead of making users rack their brains to figure out how it works, following best practices and specific methods to achieve the desired results, which creates a high learning threshold for users.
There are so many prompts online, but they don’t align with our intuition. I have to understand prompt engineering to use these products effectively. Why is it not designed with the user’s needs in mind, but rather with the functionality in mind? It should be user-centered, not vendor-centered. Users shouldn’t have to follow the vendor’s lead, which is typical of AWS and Apple.
Therefore, **prompt engineers are a fake need. **They are a temporary existence that arose because the native ChatGPT experience was bad. When the product is well-designed, prompt engineering won’t be necessary.
4 The Ideal AI Programming
The ideal AI programming would be able to:
- Fix bugs in existing projects
- Handle complex requirements (automatically breaking down requirements and designing solutions)
For example, if I want AI to fix a bug, it could extract all relevant information from my mind via a brain-machine interface (including complex requirement backgrounds, communication with personnel, historical iterations, and other system information) and import it into the context. This way, AI could help me find and fix bugs.
5 Can AI Replace Humans?
If AI can think like a human, have thought processes, logical abstraction abilities, and emotions, then it could create new knowledge, invent new things, and potentially replace humans, even wiping out humanity.
But right now, don’t think that just because we have AI, it can do everything.