5 ms·
The one time I trusted Claude to write a full class - with excessive rounds of prompts and revisions - it introduced a very subtle bug that I would have never m
by fhdsgbbcaA 2y ago
The one time I trusted Claude to write a full class - with excessive rounds of prompts and revisions - it introduced a very subtle bug that I would have never made but took a couple months to show up.
Fixing the bug required a root and stem overhaul of the class, and ended up taking more time in aggregate.
And that’s the problem: just like with self-driving cars, if it isn’t right 100% of the time you are worse off because you think it’s ok to take your hand off the wheel when it very much is not.
We’ll get full autonomy in cars before we get an LLM that can write production code reliably, and we’re still very far from that.
- wenc 2y agoWhat if you treated Claude like a Junior dev? Have it write small chunks of code, which you code review and unit test.
- fhdsgbbcaA 2y agoI think that’s a fine approach, but they are claiming Claude is a 100x coder which is patently absurd.
- milch 2y agoMy problem is even if I do that I'm not convinced it's making me any faster. It feels like when it gets it right and I compare the time to writing it myself I would estimate it's maybe 20% faster. But when it gets it wrong after a few prompts and I have to write it myself anyway then it's more like 20% slower. Those two seem to average out, but then in the p90 it gets it subtly wrong enough in a way where I accept the code and then spend twice the amount of time reviewing and making adjustments to get to the solution compared to doing it myself in the first place. So I'm not convinced it's making me any faster, if anything I feel like it's either the same or a bit slower. Other than a junior engineer there is also no ROI on this time investment since it's just as likely to get it wrong again the next time. The only thing where I noticed a pronounced speed up is when I use other languages I'm not super familiar with. AI can more easily help me translate concepts from languages I do know better, and then a good old Google search is often enough to fill in the rest of the blanks for me to be reasonably productive in a way that I wouldn't be without AI
- wenc 2y agoI think it depends on the problem domain. I have to implement a lot of throwaway ideas quickly, and LLMs are really useful there. For instance, say I wanted to plot a complicated Matplotlib diagram. It takes me 10+ minutes plus many context switches to get the syntax right (I don't use Matplotlib enough to have all the args at the tip of my fingers). Also I don't know everything Matplotlib is able to do -- I haven't read the entire docs. Fortunately LLMs have and they get me to the right ballpark in 10-20 seconds. I usually want to try maybe 10-15 plots before settling on something. LLMs definitely do get me there much faster. I think if you have a clear idea of what you want to do, and how to do it, then maybe the time savings are not compelling. But if you're in space where you're ideating and groping at an idea, LLMs can significantly cut down the iteration time and even open up new channels of inquiry that you didn't know existed. They're primarily generative assistants. Using them to implement ideas in production is probably a secondary use.
- chii 2y ago> get an LLM that can write production code reliably it depends on what that user wanted the code to do, and how important it is. For example, an average, non-technical user could use this to generate a script to sort out their email, or a script for automation in MS Office VBA. Just because it's not perfect, doesn't mean it doesn't have a good use, and won't improve. Tom Scott's video[0] makes a very good argument: we don't know where we are on the technology curve. [0]: https://www.youtube.com/watch?v=jPhJbKBuNnA https://www.youtube.com/watch?v=jPhJbKBuNnA
- from-nibly 2y agoThe comment you replied to said production code.
- chii 2y agoproduction code is code that is not just for testing, but for actual use. Nothing about production code says critical.
- fhdsgbbcaA 2y agoI mean systems critical infrastructure code where error tolerance is zero. For one off scripts or sketching a concept quickly it’s good enough, and for language reference it’s generally useful. However, one thing I’ve noticed with Claude in particular is it tends to overweight the top answers in stack overflow. The problem there is top answers are rarely the best answer - rather they tend to be overly verbose and long, whereas the best answer is usually the second one that just tells you what function to call. On multiple occasions I’ve had Claude answer a simple prompt with horribly verbose and complicated code. Then I’ll say “what about this single call?” (Eg the type of SO answer than gets the second most votes), and it’s says “You’re right! That’s a much better answer”. Likewise I suggest to anybody to take the domain you are most knowledgeable in and pepper your LLM of choice with lots of questions and see how much it knows. You’ll get a feel for how much you can trust it in other domains - which is “not much”.
- chii 2y ago