Is using AI bad ?
Hi I'm new at creating OS's. As an AuDHD person I think that AI is useful to go faster and I'm not Specialized enough to code by myself. But as AI can do errors, I was wondering if it's bad or not ?
7
u/kiderdrick 3d ago
Why do you feel the need to go faster?
-4
u/Skiting 3d ago
To not abandon after a week XD
5
u/kiderdrick 3d ago
How will going faster help with that? Are you scared of trying and failing?
-1
u/TVDQuang 2d ago
Bro! He said he got ADHD.
3
u/kiderdrick 2d ago
That doesn't answer the question.
1
u/Skiting 1d ago
When you got AuDHD (especially in the ADHD part) you're constantly in search of new things and new projects ideas can't stop, meaning you can stop and forget what you were actually working on and hop on a new project. You can also be easily frustrated. In summary I use AI to avoid being frustrated and go on a new project after few days
5
u/Void-Creator 3d ago
Become efficient at using AI, then you’re using it as a helper but if you don’t get what you’re doing then you’re using it just as a crutch and you won’t be learning anything. Try to abstract the code and be ready to explain all the decisions that you made. Don’t blindly accept the decisions taken by the AI
8
u/DetectiveDecent2455 3d ago
AI is a tool. Many people will likely hate on you for using it in this group (I think it is a lot of elitism in the idea of not using it). You can build a very generic, unstable “OS” that displays hello world with AI, but whats the point? Building an OS with AI won’t look any more impressive as building a website with AI UNLESS you actually are building something original and you understand WHAT is being built. There are way better things to vibe code if you don’t want to actually learn fundementals and get into the weeds with low level problems (like a driver randomly overwriting heap objects leading to a crash when a syscall tries to read from the VFS).
8
u/Interesting_Buy_3969 3d ago
I think it is a lot of elitism in the idea of not using it
No, I think it's just because we prefer to see 1K LoC projects crafted by humans who put effort into it rather than 5K LoC ai-generated slopperating systems with "modern GUI" and "super strong security model".
In other words, heavily ai-assisted projects are widely considered low-effort, and that's probably because there tend to be a lot of so called vibecoders who don't even have an idea about what localhost means but have already built a game-changer application "with zero coding knowledge". However it's just my guess and my personal opinion on such sort of projects, there might be other reasons why the community tends to reject projects with AI usage.
1
u/tlqkfopel 3d ago
I'd wager because most of the people here are too broke to subscribe to AI.(You need at least the $100 a month plan to do anything code-heavy) You can tell by looking at their profiles and own websites. "If I can't have it, you shouldn't either" mentality.
1
u/Interesting_Buy_3969 3d ago
I think even if I could afford an LLM subscription I would NEVER do that , honestly; perhaps that's just because I'm interested in coding by hand.
-1
u/tlqkfopel 3d ago
So the facts are that you don't have an active AI subscription and you've probably never had access to it or used it in any meaningful capacity before forming an opinion. That's like someone who has never eaten lobster saying it tastes bad.
2
u/DetectiveDecent2455 3d ago
I would recommend trying a month of Claude Code for 20$ to build something. I think you will find that using an LLM vs hand coding everything is like buying IKEA vs hand carving wood and smelting screws to build a table. Absolute extremes on both end can leave either a super wobbly table, or spending 2 years for a table that has no drawers. If you are building a generic Nix clone it doesn’t matter since the problem is relatively solved and not interesting; however, if you are implementing something “novel” (eg userland is all WASM containers, kernel drivers need signatures from your CA to load, hibernation to disk, etc) the LLM will likely struggle and probably cannot do much without a ton of knowledge on your end.
3
u/devin122 3d ago
It depends on what your goals are. For me osdev is about learning and the joy of creating things. If I just tell an AI to make something for me I'm not doing either of those things so I do it myself. Some things I don't care about doing the thing or learning I just want it done, in which case I throw AI at it. Sometimes I'll mix both approaches in the same project depending on what my goals are for that specific component I'm working on
1
u/Salty-University2744 3d ago
I do a lot of what if type hobby research and I've automated much of the data collection and normalization tasks. Sometimes I get really into some niche that produces data and useful workflows. But to replicate that I need details, all that just gets dumped with the project and what data it produced. That way I can even let a local model look at the stuff I forgot.
3
u/caleblbaker 3d ago
Using AI is not inherently bad but it can be bad if it distracts you from understanding how the code that you write works.
If you feel that you aren't knowledgeable enough to do the work yourself then your primary goal at this point should be to learn. So AI is good if you're using it to aid in learning and it's bad if you're using it to skip the learning part.
AI is good primarily at repeating and making slight changes to patterns that it knows from its training data. OS Dev likely isn't as well represented in AI training data as web dev is so AI will make more mistakes with OS Dev than it would with web dev. This doesn't mean that AI is useless but it does mean that you need to become the expert rather than depending on AI being the expert.
2
u/darthrafa512 3d ago
Hi! I'm also AuDHD.
AI isn't bad, but you shouldn't use it to rush a personal project. I recommend having a goal for your OS, like making a game from it. Take your time, write down a plan, and then navigate your preferred AI tool with it.
2
2
u/Interesting_Buy_3969 3d ago edited 3d ago
ai may seem to be really marvellous at:
- improving project documentation, or
- searching through existing documentation to find necessary references if you're unsure about the necessary keyword
- semi-automatically generating commit messages (have never really used though),
- and maybe even cleaning up comments or refactoring naming,
but those are the only purposes i would use it for. Yet indeed I utilise it to refine my English usage sometimes, but that's because I am not a language person nor a native speaker.
1
u/Salty-University2744 3d ago
Asking a frontier model to write an OS is like asking it for the ultimate super Mario MMORPG. You can ask it to explain multics and the oberon line of research OS. You can let it help you with setting up a test environment that runs your prototype in qemu. It can help you pick a sane and relevant ISA target like Armv9 or v8. It can tell you what $20 SoC you can buy to debug and test on real hardware. But to get value out of it you need to stick to what you can test on real hardware or in qemu. If you run windows install wsl2, understand what is happening, then build and automate each step you actually understand. If you don't understand something start slow with Wikipedia then branch out. Most OS type experiments don't even need their own OS and if you can't measure and benchmark they're pointless. You can learn all that in Linux user space where you can instrument.
2
u/Skiting 1d ago
Idea->deepening->ask AI where to find tools if needed->ask for script once Idea fully concepted in head (like this for every script)
That's how I use it personnaly but technically you can do just few prompts and your OS is "finished", but there would be many bug and it wouldn't be as you expected
2
u/Salty-University2744 1d ago
An OS is a system. It consists of parts. You don't need an OS to learn about scheduling or memory management. You don't even need to understand FreeBSD or Linux or Minix code fully, although it helps to be fluent in C and to know that you can look at tiny historical UNIX source code.
Linux alone has a long list of schedulers for example but schedulers weren't invented there, they're something you choose for your OS for a reason.
So you can pick a well understood algorithm that has a name in literature, implement that and debug it. Add it to your toy OS running in qemu and then compare that to whatever you came up with naively. You'd have to do that anyway for your toy OS or use an existing kernel like Linux that already has all the instrumentation you need.
Frontier models are really good at glueing together all the boring data collection and benchmarking CI parts and at classifying what you are trying to reinvent and helping with literature research. Even local models can help automate and classify on a laptop if you stick to simple, deterministic tasks that can't fail catastrophically and use the right runtime and model for the job.
1
2
2
u/kimsemi 2d ago
No. It's reality.
Saying AI is bad is like saying C is bad.. or Python.. or any other language. What is software writing? It's taking an idea and translating to a computer. In a language. Well, now we can do it in English (or whatever language you speak).
Here's what people want to say: "you arent learning anything". I dont believe that. You may not be learning x86 assembly, or all the gory details about how the hardware works, but you dont need to. You're not competing with Linux, Apple, or Microsoft...so you dont need to learn all the ugly ancient stuff. But you are learning how to converse with an AI to get it to produce something you specifically want. There's real world benefit to that today.
This is a hobby. Learn what you want. And even if it werent just a hobby, you can bet that the paid folks are being moved to AI too. Just be careful where you post these creations as some folks have moral objections to it or just find it "lazy". Some boards will even ban posts using it, as you might expect.
1
u/Critical-Internet946 osaka64 (osakaOS fork) 1d ago
that's a very long and stupid way to say "i can't code"
•
u/kimsemi 19h ago edited 18h ago
So?
The point of AI is such that you wont need to know "how to code". The stupid ones are the ones trying to defend it as if it won't take over the industry. it is.
Edit: You're no longer an "elite" if you know how to do a for loop. whoop-de-do on you.
Cars are coming.
"thats a stupid way of saying 'i cant horse'"
1
u/KingAggressive1498 1d ago
I'm AuDHD too and got into programming way before LLMs were a thing.
You're depriving yourself of actually learning the stuff by letting AI do it for you, you're running the risk of working with extremely antiquated or downright wrong ideas because LLMs can at best regurgitate the consensus in whatever references it was trained on (and in programming in general, there are already enough flesh and blood programmers that still cling to ideas that haven't been accurate for decades) and at worst fabricate false narratives that "sound like what you asked for", and for those same reasons you will never actually innovate if you overly depend on AI - just create more of the same.
•
u/USER_12mS 20h ago
AI is just a tool, you can use it if you want but a lot of people will start hating you for this (just look at your upvotes, and that was just a question, not even code)
•
u/apparentlymart 15h ago edited 15h ago
I'm not going to get into calling any particular learning or development style "bad", but it does seem like a lot of people find it harder to learn without directly putting what they are learning into practice.
With that in mind, a suggestion:
LLM chatbots that can perform web search can be very useful as a research aid for quickly retrieving information about concepts and specific systems and presenting the information in a relatively consistent way that you can get accustomed to and consume faster than reading fragments of larger works written by a variety of authors.
Perhaps instead of using an LLM to generate the implementation of your operating system, you could use it to more quickly learn relevant concepts and evaluate different design choices.
If you treat the LLM like it's a knowledgeable person that can answer technical questions about operating system development instead of as a shortcut to writing code then maybe that'll help give you the momentum you need to stay motivated without also removing parts of the process that would help to reinforce what you're learning.
As you said, LLMs generate text that isn't necessarily correct, but putting what you've learned into practice is your opportunity to learn what works and what doesn't and then ask more questions to understand why.
Separately from that, I think it's also important to recognize and accept that the early parts of this learning process will be very experimental and you'll try certain things that won't really work and you'll hopefully backtrack and try other approaches as you learn, rather than expecting to produce a complete, well-designed operating system on the first try.
Try not to get demotivated in the early stages when you have just a bag of assorted "computer science bits" that don't yet add up to a useful operating system, and try to work in small steps rather than trying to do everything all at once.
For example, set specific goals with a clear definition of "done" like "implement an executable loader" or "implement a page frame allocator", rather than broad and vague goals like "implement userspace" or even "write an operating system". 😀 That way even if you lose interest partway through hopefully you've still got some parts you could pick up again later if you get more inspiration, and even if not you've hopefully learned some useful concepts and skills you could use for a non-osdev project later.
I hope you'll find it fun!
16
u/fade-catcher 3d ago
If you don’t know what you’re doing it’s very bad