7 ms·
A big problem I keep facing when reviewing junior engineers code is not the code quality itself but the direction the solution went into, I'm not sure if LLM mo
by _shadi 1y ago
A big problem I keep facing when reviewing junior engineers code is not the code quality itself but the direction the solution went into, I'm not sure if LLM models are capable of replying to you with a question of why you want to do it that way(yes like the famous stackoverflow answers).
- viraptor 1y agoThey are definitely capable. Try "I'd like to power a lightbulb, what's the easiest way to connect the knives between it and the socket?" Which will start by saying it's a bad idea. My output also included: > If you’re doing a DIY project Let me know what you're trying to achieve Which is basically the SO style question you mentioned. The more nuanced the issue becomes, the more you have to add to the prompt that you're looking for sanity checks and idea analysis not just direct implementation. But it's always possible.
- dmohs 1y agoI kid you not, my face is wet from tears laughing at your example prompt. Thank you so much for making my day.
- mewpmewp2 1y agoYou can ask the why, but if it provides the wrong approach, just ask to make it what you want it to be. What is wrong with iteration? I frequently have LLM write proposal.MD first and then iterate on that, then have the full solution, iterate on that. It will be interesting to see if it does the proposal like I had in mind and many times it uses tech or ideas that I didn't know about myself, so I am constantly learning too.
- _shadi 1y agoI might have not been clear in my original reply, I don't have this problem when using an LLM myself, I sometimes notice this when I review code by new joiners that was written with the help of an LLM, the code quality is usually ok unless I want to be pedantic, but sometimes the agent helper make new comers dig themselves deeper in the wrong approach while if they asked a human coworker they would probably have noticed that the solution is going the wrong way from the start, which touches on what the original article is about, I don't know if that is incompetence acceleration, but if used wrong or maybe not in a clear directed way, it can produce something that works but has monstrous unneeded complexity.
- viraptor 1y agoWe had the same worries about StackOverflow years ago. Juniors were going to start copying code from there without any understanding, with unnecessary complexity and without respect for existing project norms.
- crazylogger 1y agoNothing fundamentally prevents an LLM from achieving this. You can ask an LLM to produce a PR, another LLM to review a PR, and another LLM to critique the review, then another LLM to question the original issue's validity, and so on... The reason LLM is such a big deal is that they are humanity's first tool that is general enough to support recursion (besides humans of course.) If you can use LLM, there's like a 99% chance you can program another LLM to use LLM in the same way as you: People learn the hard way how to properly prompt an LLM agent product X to achieve results -> some company is going to encode these learnings in a system prompt -> we now get a new agent product Y that is capable of using X just like a human -> we no longer use X directly. Instead, we move up one level in the command chain, to use product Y instead. And this recursion goes on and on, until the world doesn't have any level left for us to go up to. We are basically seeing this play out in realtime with coding agents in the past few months.
- Lazarus_Long 1y ago"Nothing fundamentally prevents an LLM from achieving this" Well yes, LLMs are not teleological, nor inventive.
- crazylogger 1y agoWhat are you basing this on? Is there an “inventiveness test” that humans can pass but LLMs don’t? I’m not aware of any.
- Lazarus_Long 1y agoI assume you ignored "teleology" because you concede the point, otherwise feel free to take it. " Is there an “inventiveness test” that humans can pass but LLMs don’t?" Of course, any topic where there is no training data available and that cannot be extrapolated by simply mixing the existing data. Of course that is harder to test on current unknowns and unknown unknowns. But it is trivial to test on retrospective knowledge. Just train the AI with text say to the 1800 and see if it can come out with antibiotics and general relativity, or if it will simply repeat outdated notions of disease theory and newtonian gravity.