AI-Generated Code Is Creating a Technical Debt Crisis No One Can Clean Up
I am a software development engineer with seven years of experience. Recently, while using AI to complete work, I suddenly discovered a problem: we are all using AI wrong.
- Phase 1: Programmers hand-code everything, thinking AI is unreliable.
- Phase 2: Let AI write some code, then manually review it.
- Phase 3: Let AI write all the code, then manually test the workflow.
- Phase 4: Let AI write all the code, just glance at it and ship it if it runs.
These are the four phases I went through using AI to complete work. Now a problem has emerged — and it's probably not just me. Some large companies are also frequently throwing around the term "technical debt." With nothing better to do today, I asked Qwen how it understands the term.
That's when I realized:
- AI-generated code feels great in the moment. Even when you think a section is unreasonable and ask it to refactor, it finishes quickly, and you're delighted.
- But after a while, you find you can't understand the code anymore. Then a new requirement comes in.
- No problem, just let AI modify it.
- After another stretch of time, AI introduces bugs, and you need to manually troubleshoot. You find you can't even begin to trace the problem.
- Even if you can trace it, it will definitely cost a lot of time to sort out. AI might even have used unfamiliar plugins, forcing you to learn them.
The programmers that companies still keep around are needed to take responsibility for AI's output, but over time you'll find you can no longer bear that responsibility. On one hand, after not writing code yourself for a long time, your skills have mostly faded. (When you first learned to code, didn't your teacher tell you not to just watch, but to practice more? Now the "doing" is just talking to AI.) On the other hand, AI's output might be hard to understand or even contain things you don't know.
Many self-media outlets hype the idea that everyone is a product manager, that you can just talk casually and let AI build a product. Honestly, it's possible, but business iteration will likely become unmanageable.
Actually, I feel the current AI code generation is the same as the old low-code/no-code platforms. The system generates the code for you, but you have no idea how the code is actually implemented. It's perfectly fine for a one-off project, but unreliable for a good product that needs iteration.
So here's the conclusion: AI should not replace programmers; it should assist programmers. Repetitive, utility-type code can be generated by AI, but core business logic should be written by you — or at the very least, you need to fully digest any core business logic that AI generates.
The above content is only my personal understanding, not official or professional. Just take a look. If you have different opinions, feel free to comment and discuss.
Top 2 of 3 from juejin.cn, machine-translated. The original thread is authoritative.
I think it's because you, as a developer, haven't set proper constraints on your own project. Why do so many problems arise? First, establish constraints for the overall project architecture, the tech stack, and your company's project standards. Then, for requirements, first briefly describe your own requirement boundaries yourself, and then have AI produce a corresponding requirements proposal + technical proposal. If it looks fine, let AI proceed with implementation. If there are issues, revise the requirements + technical docs, then implement. After AI finishes writing, run an AI code review. If still not confident, have AI write unit tests. With this whole process, I think the probability of errors drops significantly. At worst, there's still the testing phase left.
If there are constraints, it can still produce defensive code.
AI introducing problems that aren't caught in time is a human problem. Not being able to even troubleshoot the code is also a human problem.