If you are capable of giving good directions…
The database was an arbitrary example. A more relevant example would be tenserflow layers in a neural network. As I understand it, you can in some cases get a novel solution to a problem just by choosing a smart enough combination, with the right data.
ChatGPT absolutely knows how to help doing the grunt work setting up the tenserflow configuration, following your directions.
baahb@lemmy.dbzer0.com 23 hours ago
MangoCats@feddit.it 22 hours ago
only to find out you didn’t provide adequate requirements for your config.
Every software development project, ever.
Review your requirements before starting development. Review them again after each phase of development. Address inadequacies, conflicts, ambiguities whenever you find them.
AI is actually helpful in this process - not so much knowing what to choose to do, but pointing out the gaps and contradictions it can be helpful.
8oow3291d@feddit.dk 22 hours ago
Well, yes, that is a central point.
I am a senior programmer. LLMs are amazing - I know exactly what I want, and I can ask for it and review it. My productivity has gone up at least 3-fold, with no decrease in quality, by using LLMs responsibly.
But it seems to me that some people on social media can’t imagine using LLMs in this way. They just imagine that all LLM usage is vibe coding, using the output without understanding or review.
MangoCats@feddit.it 22 hours ago
What I find LLMs doing for my software development is filling in the gaps. Thorough documented requirements coverage, unit test coverage, traceability, oh you want a step by step test procedure covering every requirement? No problem. Installer scripts and instructions. Especially the stuff we NEVER did back in the late 1980s/early 1990s LLMs are really good at all of that.
Nothing they produce seems 100% good to go on the first pass. It always benefits from / usually requires multiple refinements which are a combination of filling in missing specifications, clarifying specifications which have been misunderstood, and occasionally instructing it in precisely how something is expected to be done.
A year ago, I was frustrated by having to repeat these specific refinement instructions on every new phase of a project - the LLM coding systems have significantly improved since then, much better “MEMORY.md” and similar capturing the important things so they don’t need to be repeated ALL THE TIME.
On the other hand, they still have their limits and in a larger recent project I have had to constantly redirect the agents to stop hardcoding every solution and make the solution data driven from a database.
8oow3291d@feddit.dk 22 hours ago
I were simply unable to convince Codex to split a patch into separate git commits in a meaningful way. There are things that just doesn’t work.
Still useful for lots of stuff. Just don’t use it blind.
baahb@lemmy.dbzer0.com 19 hours ago
Yes, this is why I point it out. I agree with you, but no part of this is actually common sense. It just feels like it.
MangoCats@feddit.it 22 hours ago
Smart, lucky, who can tell the difference?
8oow3291d@feddit.dk 22 hours ago
If used by an expect developer, then the combinations are not just random “lucky” choices.
MangoCats@feddit.it 22 hours ago
Or, if you take the machine learning approach, you just try all the combinations and use the one(s) that perform the best.
8oow3291d@feddit.dk 22 hours ago
The world is not that simple. There are too many combinations to try. And you risk hitting local maxima, even if doing the gradient thing.