SlopWare™
Where do I draw the line for use of LLMs in my coding projects?
've been trying to navigate the current state of things for a while now. I've gone on and off with using LLMs for coding.
On one hand it really fucking sucks to see my favorite libraries start getting insane amounts of contributions and become vibecoded slop messes. The only safe havens seems to be projects that goes out of their way to outright ban vibecoded contributions.
On the other hand I also think this is super useful for coding crappy slop tools that I'm gonna use once and then never touch again. When Discord decided to give the middle finger to GDPR and not comply with right to be forgotten, there was an easy enough workaround for me to simply request my data and ask an LLM to figure out the archive format and make a script that self-bots my discord account and deletes all my messages individually via the discord API.
I don't consider myself to have done anything wrong by using an LLM to fight of another poison. I wouldn't have had the time to do this myself and it didn't matter how unclean the script was, this was something I had to do once and then never use again.
The trouble comes with, well, where do I draw the line? When do I not use an LLM and when do I? It never hurts to have extra eyes on your codebase for security auditing, this is something I have used in the past myself and the PHP2Shell vulnerability could've probably been avoided with. It's important though that just because an LLM tells you that your code is safe, doesn't mean it is.
For a while I was working on a tool that used both normal vulnerability scanners and also an LLM to generate a list of potential vulnerabilities in a standardized format to avoid having an LLM gaslighting you into thinking that the code is safe. Rather it just tells you, "hey these things are probably not safe". But a list free of vulnerabilities doesn't guarantee you are safe. I didn't feel particularly ethically bad for using LLMs in a project like this. Although I never got it round to completion as I didn't wanna rely on large models, I couldn't get the fast local ones to be clever enough and eventually gave up.
I think there's the 2 cases of LLM usage that I really really dislike, and that is:
- Vibecoded shovelware taking over and making it difficult to find good reliable libraries / software.
- Long running projects with a good track record becoming slopware that keeps breaking stuff.
When you have a project which is an important dependencies to hundreds or even thousands of other projects, how in the world do you justify to yourself that it is a good idea to turn it into slop without the consent of your users and break compatibility constantly, have shit just stop working because the gas powered thinking sand machine told you it was a good idea. I think something is genuinely wrong when you value the input of that higher than those using your project, or the quality overall of your project.
Vibecoded shovelware, is admittedly what my discord message deletion tool was. Although I never uploaded it anywhere. I think it wouldn't be as much of a problem if it was declared as slop and could be filtered out. It feels not too dissimilar from 3D print designs made by someone who has no clue how to design well for FDM printing which makes up the vast amount of models on 3D printing sites. There's nothing wrong with making something you have no clue how to do well and uploading it in the off-chance somebody else finds use in it. But most of the time, I want reliable good quality stuff, and having a toggle for that would be incredible.
So for me it all depends on what it is used for and which resources you use to run said LLM. (I am willfully ignoring copyright infringement problems with LLMs as that is out of scope for what I'm discussing)
Where I sit rn is this:
- Security auditing at any scale: Why not?
- One off scripts and wares: Sure, you probably don't wanna spend 100h on something you will run once.
- Hobby Projects: I don't know :( maybe? maybe not?
- Big important projects: No please I beg you DO NOT
- Uploading your one off or hobby project that you vibecoded: Please declare that it is vibecoded at least :(
- Asking an LLM to help you understand an issue: I really don't understand the hate people receive for doing this. I don't blame anyone for skipping stack overflow and the amount of toxic people on there.
I keep feeling like a crazy person. Oh how sweet the sugar of just generating the code for my hobby project, but should I really? I would feel ashamed to later show said hobby project. How could I even claim it to be mine when I didn't write it?
I don't really have a verdict? I just felt like I would share my opinion on the webs. Idk where I land on this issue. I'm just tired of seeing slop at this point. I didn't sign up for this
I used an open source alarm clock on my phone for waking me up in the morning. Well turned out it is slop and suddenly they had completely broken it with another amazing banger vibecoded update and that morning, I was very late for work.
Did you enjoy this article?
Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.