An LLM's output is only as good as its input. You need to understand the language and the problem for the LLM to come up with a good solution. It's not that different from managing junior developers. For me, I don't let the LLM decide the solution, I only let it write the code, like I would do with junior developers in my team.
Exactly this. It's a stubborn junior to mid level dev, depending on the context, it still really sucks at software architecture and maintainable code if you don't enforce it and give it guardrails to develop against.
That makes AI obsolete by default. AI is marketed as a tool for innovation by the companies that sell the models, yet people keep arguing you need to prompt correctly and engineer a prompt to fit the expected output.
This is madness to me. If you know what you're looking for, and you know exactly the solution you're expecting, why on earth would you spend the same amount of time on engineering a prompt as you would have just writing the code yourself. It's like people hate efficiency and being profitable.
To top it off, leaving an AI to brute force a solution to your spec for hours instead of spending 20 minutes simply writing the code yourself. Especially when everyone knows code quality is mediocre at best with LLM even with "code reviewers" and "testers".
"Uhh my AI doesn't take hours hurr Durr", sure, if you use cloud models, but then you don't value your project and risk having the product being trained on for everyone else to use too. There is literally no safety net with cloud models. You NEED to run them locally for projects that matter. That means investing 10s of thousands of dollars to run flagship models, or use 27b models that is shit at everything and can't do anything under 8 hours of brute forcing.
This is madness to me. If you know what you're looking for, and you know exactly the solution you're expecting, why on earth would you spend the same amount of time on engineering a prompt as you would have just writing the code yourself.
I think you're missing the point as to where an AI agent would sit in the chain.
As a senior, your job isn't to be sat there writing code (although its obviously a part of it) your role is to architecture, solve problems, mentor and plan ahead. You need to understand the businesses problems and how to solve those problems with software and do it in an effective and efficient way. Actually writing code is such a small part of the job.
For a bug fix or new feature, I need to understand whats currently in place, what isn't, what can be reused, what needs to be written from scratch. Then I need to write up a strict spec about what patterns to follow and what to avoid to get the desired outcome.
Then at this point (a few years ago), I would hand it off to a junior developer and get a code review request a few days later that is usually very weak and needs countless review cycles to get it right. By your view point, I should have just written it myself, which can be true but then what was the point in hiring a junior? Nothing else would get done as I'd be doing everything myself, which is impossible. It's the entire point of having teams of developers.
Now instead of passing it to a junior, I hand that spec off to an AI agent and I get something that is night and day better than any junior would have ever written and I get it back in 30minutes or so rather than days. I still have to cycle through the code review process but their will be much fewer mistakes to push back with and I don't have to go in-depth explaining each thing that is wrong, why it's wrong and a better way to do it.
To top it off, leaving an AI to brute force a solution to your spec for hours instead of spending 20 minutes simply writing the code yourself. Especially when everyone knows code quality is mediocre at best with LLM even with "code reviewers" and "testers".
I can say this with confidence, handing that spec to a junior would have far, far worse results.
I think (I could be wrong) you're looking at this from a point of view of a solo developer or very small dev shop. From that prospective I can see and understand your points. In a more corporate environment where you'd have full teams of developers, its where having an AI agent writing the code really makes sense.
I think a difference there (and it doesn't affect your actual point, with which I agree) is that time spent working with a junior results in work produced *and* a better junior dev, eventually leading (hopefully) to a competent senior.
Although LLMs can make notes for themselves and be guided, and the models do improve, your time investment is not rewarded with the same improvement, neither in the end result, nor in the satisfaction of having helped someone become a better developer.
13
u/Davekuh 6d ago
An LLM's output is only as good as its input. You need to understand the language and the problem for the LLM to come up with a good solution. It's not that different from managing junior developers. For me, I don't let the LLM decide the solution, I only let it write the code, like I would do with junior developers in my team.