Over the years, I've lost the ability to focus on writing code myself, but I've seen a rebirth with the age of coding agents. I find it easier to review their code and they always follow my guidance. In fact, I sometimes feel like around year 2000 when I had "google" skills and the people around me did not.
It's much easier to produce garbage with AI and it will inevitably happen, but engineers who are able to think will simply use it as a new tool.
If this weren't the case how do you think it would affect your usage of coding agents?
For example, there’s a tensor serialization called Tenso (71 stars) which advertises better cache line alignment after array deserialization. I suspect it’s heavily vibe coded. I read its source code and discovered that unlike what the README claims, the arrays it produces aren’t actually 64-byte aligned after all. https://github.com/Khushiyant/tenso/issues/5 They also have some issues around bounds checking: https://github.com/Khushiyant/tenso/issues/4
Another example: there’s a library called protobuf-to-pydantic (145 stars, 21 forks, 4 dependent packages on PyPI). I wanted to use this for one of my projects. I’m not sure whether it’s vibe coded or not. I found that it creates syntax errors in the generated output code: https://github.com/so1n/protobuf_to_pydantic/issues/121 Seems like a pretty surprising issue to miss.
For Tenso, the code quality is less of an issue than the “should this even be built or is the premise of the work solving the wrong problem,” which I suspect will be a factor in a lot of AI-generated work going forward.
I’m torn. On the one hand, I’m glad to be practicing this skill of “deciding what to rely on and what to refute,” but on the other hand, I certainly don’t feel like I’m being collaborative. These libraries could be their creators’ magnum opus for all I know. My issues just generate work for the project maintainers. I offer failing unit tests, but no fixes.
I earnestly think the future belongs to people who are able to “yes, and” in the right way rather than just tearing others’ work down as I’m currently doing. It’s hard to “yes, and” in a way that’s backed by a discerning skepticism rather than uncritiqueful optimism. Feels like a condradiction somehow.
Your criticism looks authentic, based on real study and expertise. I think it is a valuable gift. It is only when such a thing become compulsive that it can fairly be called "tearing down."
Looking at your issues, you are calling out real flaws and even provide repro tests. If I were a maintainer who cared, and not just running a slop-for-stars scheme, I'd be very grateful for the reports.
The codebase growth numbers feel right to me. Even conservative 2x productivity gains break most review processes. We ended up having to build our own internal review bot that checks the AI output because human review just doesn't keep up. But it has to be narrow and specific, not another general model doing vibes-based review.
Was generation a bottle neck previously? My experience has been verification is always the slow part. Often times it’s quicker to do it myself than try to provide the perfect context (via agents.md, skills, etc) to the agent.
The times it’s able to 1 shot things is also code that would take me the shortest amount of time to write.
In contrast, we are seeing people using AI to do the heavy thinking, doing their whole work, these people are cooked. If you remove AI right now, they can no longer work, some cannot work at all because they are 100% vide-coder.
Or else it will be hard to survive.
As to disposable software, it's harder to get traction/adaption when things constantly break or are slow or the experience is crappy in general.
To make it simpler - all else being equal - as a user would you prefer using highly reviewed/vetted/reliable software, or otherwise?
My bet is reliability is an invariant -- nobody wishes for software that crashes, leaks your private info, gives faulty output, is laggy to use and so on.