The pull requests are flowing, velocity charts look excellent, and something in the codebase feels heavier every month. Nobody can point to the moment it changed, because there was not one.
This is the AI coding debt story, and it is now well enough documented that you can measure it rather than argue about it.

What the Data Shows
Research into AI-era codebases found duplication up 81% and code reuse down 70%. Separate analysis put the duplication increase as high as eightfold. Forrester expects around 75% of technology decision-makers to be dealing with moderate to severe technical debt this year, as AI-generated code climbs toward 60% of new code written.
The pattern is consistent across studies: AI assistants tend to write new code rather than find and reuse existing code, suppress errors rather than handle them, and work around legacy code rather than through it.
Why This Debt Is Different
Traditional technical debt was usually a conscious trade. Someone shipped a shortcut, knew it, and often left a comment saying so.
AI-generated debt is invisible at review time because each individual change looks fine. The function is clean, tested and readable. It is simply the fourth implementation of something that already existed, and no reviewer holding one pull request can see that. The damage is systemic, so the measurement has to be too.
Four Metrics to Track Monthly
| Metric | What to watch for |
|---|---|
| Duplication ratio | Rising month over month is your primary alarm |
| Code reuse rate | Falling means shared utilities are being bypassed |
| Change failure rate | Rises before anyone admits quality dropped |
| Time to onboard | A codebase getting harder to learn is getting harder to change |
Track the trend, not the absolute value. Every codebase has duplication. A codebase where duplication climbs every month for six months has a process problem.
Paying It Down Without Stopping Delivery
- Find the clusters, not the instances. Run duplication analysis and look for the five most-duplicated concepts. Consolidating those beats a thousand scattered fixes.
- Write the shared utility, then make it discoverable. Duplication usually happens because nobody, human or model, could find the existing helper. Naming and location matter more than the code itself.
- Feed context to your tools. Agents duplicate less when they can see the codebase conventions. A well-maintained conventions file is cheaper than a refactor.
- Set a duplication budget. Fail the build past a threshold. Constraint prevents debt more reliably than intention.
- Timebox it. One day a sprint on the top cluster. Debt paydown that competes with delivery loses every time, so do not let it compete.
The Trust Problem Underneath
The 2025 DORA research found around 30% of developers report little to no trust in AI-generated code. That is not resistance to change, it is a signal worth reading.
Distrust makes people review more carefully, which is good, and also makes them rewrite rather than reuse, which adds to the pile. Fixing the trust problem requires visible quality gates rather than encouragement. Developers trust code that passed checks they respect.
Conclusion
Measure duplication ratio and reuse rate monthly and watch the trend rather than the number. Consolidate the top five duplicated concepts rather than chasing every instance, make shared utilities genuinely discoverable, and enforce a duplication budget in CI. The productivity gain from AI coding is real. Whether you keep it depends on whether you started measuring in year one or year three.
Frequently Asked Questions
Should we slow down AI-assisted development?
No. Add measurement and constraints instead. Slowing down loses the benefit without fixing the mechanism that creates the debt.
Do AI tools help pay down the debt they create?
They are genuinely good at mechanical refactoring once a human has decided what the target shape is. The judgement is the scarce part, not the typing.
What is a reasonable duplication threshold?
Take your current level as the baseline and refuse to let it rise. An arbitrary industry number will either be trivially met or immediately ignored.