Is Gemini 3 Pro and most advanced LLMs actually really inept at refactoring?

To give an example I've been trying to refactor a few files that contain heavy redundancy that can assess intuitively after working with code for a very long time. I thought it would be relatively easy for the latest models like Gemini 3 Pro to find such duplication and refactor efficiently but as it turns out its extremely bad at this. Regardless of how long or how many iterations you let it reason about relatively small amounts of code, the conclusion (to me) is that it cant find any meaningful way to restructure without adding more complexity at the same time.

Its also evident that I thinks that these terrible refactors is a win to the user. Like a typical refactor it presented would do superficial things like rename and move a few functions but then add 100 lines of bloat somewhere else. Its clear that in the end I still have to do these things myself, which is a pity because refactoring is some of work I enjoy the least, its like doing house chores.

My conclusion is that LLMs are still only good at producing volumes of new code (and occasionally agents can also help me solve bugs) but every time I use them on my projects its a deliberate sacrifice I do to make quick progress that I have to pay for by adding tech debt which I have to reduce manually later, so I'm likely not gaining anything in the end.

Whats your thoughts?

Leave a Reply