To me AI is a really strange technology. When it works it works very well, but at the same time it can't be trusted because of hallucinations. I still get hallucinations just as I did 2 years ago. Nothing has changed. Some part of me feels like it should be shut down for that alone so that it doesn't spread misinformation all over the place.
I also think most of what AI generates is slop and nowhere near the quality of a human creation. Maybe that will change, maybe not. In the end I'm not sure how I feel about it. I don't use it that often, maybe a few times a week.
It is called 'jagged intelligence'. A lot progress was made in the last 2 years. Most notably reasoning models, tools use, harness progress. It takes time to build the skill to make those models useful, but they do provide a lot of value.
That is indeed the problem. And when you have to meticulously check everything that the LLM does (because you can't know where the hallucinations will be), it completely destroys any productivity benefits you would gain from having it write the code in the first place. Thus you wind up going no faster (if not slower) than you did in the first place. The only way to go super fast (the way some people claim they are) is to discard quality.
As has been pointed out over and over: the time consuming part of programming was never typing code into the computer, it was understanding the problem and the logic behind the code. Using an LLM only addresses the fast and easy part of programming, not the hard parts.
I don't use much AI, but we have an AI agent that reviews all of our PRs at work.
It's pretty good, I actually like it because it's very thorough and catches real things.
On a recent PR though it very confidently pointed out an "error" and suggested a "fix." Now I authored this code by hand and the "error" was it going "this one doesn't look like all the other ones" and I'm a relatively consistent person so it's not the kind of mistake I would make, which means I probably put thought in and the difference was intentional.
I looked at it's suggestion carefully and my original code was correct, the "fix" would have broken the logic. Not a huge deal all things said.
But I'm looking back at it's original report, it's comprehensive, confident, and ends with "Reply 'fix this for me' and I will fix it" and it made me think about more junior engineers.
I double checked it because I had written the code by hand, I understood the context, I also have enough experience to know that if I wrote this one function differently there was probably a good reason. But if I were earlier in my career, with less experience, would I have just clicked the easy button?
Probably. Especially if everyday I'm clicking the easy button.
Highway engineers used to think it was a good idea to make highways as straight as possible, people going in a straight line is easiest right? They realized that if you didn't put some curves in the road that people would just disengage and a perfect straight "easy" highway was much more dangerous than one with curves. I feel like AI is an "easy" highway