| ▲ | sdiupIGPWEfh 6 hours ago | |||||||||||||||||||||||||||||||||||||
All I want is an explanation of how you're all reliably getting good enough (or better) results from LLMs. Surely us AI critics are doing something wrong, something much more specific than needing to "prompt harder", if we accept the framing that 90% of world class programmings are achieving that, while the rest of us are not. There simply has to be some specific, repeatable, and yes, teachable thing we're missing. So what is it? | ||||||||||||||||||||||||||||||||||||||
| ▲ | sadilek 4 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
Try requesting a feature from Opus 5.5 high that would take you a day or two to implement and test well. It'll work for 20-30 minutes or so. Then ask it to review the changes with a sub agent of itself and with Codex Sol 6.1 high. Then let it address the findings and iterate the review/fix cycle until the reviewers are happy. | ||||||||||||||||||||||||||||||||||||||
| ▲ | ObiKenobi 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
There are Addons for IDEs like "AI-Autocomplete". When you don't want the AI to write whole features at once, you can prompt it to write the functions one by one and work like that. Still a lot faster then writing all functions by yourself and granular enough that it is easy to describe and easy to review. | ||||||||||||||||||||||||||||||||||||||
| ▲ | baggy_trough 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
My best explanation is that AI coding critics have a kind of willful blindness or fall prey to motivated reasoning. | ||||||||||||||||||||||||||||||||||||||
| ▲ | unethical_ban 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
Anecdotally, for small tools and projects, it can crank out functional tools that would take me days or weeks to remember how to do manually. Every time I ask LLM to write something, it also writes tests and validates its code against known values. I additionally spot-check the LLM's code against my own known values in prod, and have had to correct it on some functions. The code I write is mainly analysis of logs and configurations, and they seem well trained on the products that I am using. Testing. It's all about having unit tests, and known outcomes that the LLM can check against every time it makes changes. For my work, that is good enough. For safety-critical systems I would demand more rigor in the testing and the human review and creation of tests. | ||||||||||||||||||||||||||||||||||||||
| ▲ | koonsolo 5 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
Most senior developers that steered juniors or interns in the past, are able to work with LLM's. Sure, LLM's are unreliable. So are juniors. Sure, LLM's code quality is not always great. Well, so is the juniors code. The benefit of LLM's is that they can work super fast and have a vast amount of knowledge. The benefit of juniors is that they actually learn from their mistakes and get better over time. LLM's stay at intern/junior level, even with the correct context. So for me, I see each LLM session as a new intern coming in. You hand them the right context, give them the correct instruction, and off they go. Then they come back, and you will have to judge how detailed you want to review what they produced. Or in other words, can you get away with some bad code? And for the next session, it's a new intern that starts from 0. But it is also highly dependent on the project you are working on. If it's a big complex codebase, LLM's will struggle, and they can only do simple tasks (however, they can help with testing a lot!) So the teachable thing is unfortunately experience: - Know where quality matters, and where it doesn't - Know what kind of mistakes could be made and should be checked for - Know which things can be duck-taped together, because they live at the edge, and which things need a proper foundation, because the rest builts on it. So in the end, I think it all comes down to making the right trade-offs and the right decisions (which LLM's are terrible at, by the way). And unfortunately that is gained by the slow process of experience. I think it's very tough for junior developers right now, because they either go fast by letting the LLM's do the work, but then they learn nothing. Or they go slow by asking the LLM's what's going on, and then do learn. A senior developer never understood the full code-base, and never reviewed every line of code. That's just impossible. And now every developer needs to be a senior developer that is able to steer these new "interns". And just like with juniors and interns, you have to put a lot of effort into it, and it's not always clear in the end if you gained or lost time :D. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||