- cross-posted to:
- linux@programming.dev
- cross-posted to:
- linux@programming.dev
cross-posted from: https://piefed.social/c/linux@programming.dev/p/2509642/linus-torvalds-posts-his-first-ai-assisted-patch-to-the-linux-kernel-synthetic-test-clo
This whole situation reminds me of people’s distrust for Big Pharma. Forgetting the actual problem and just assuming everything it produces is evil and will kill you. The problem with big pharma isn’t that modern medicine doesn’t work, it’s that pharmaceutical companies charge so much for it that poor people are condemned to die preventable deaths in the name of profit.
The problem with AI isn’t that it can’t produce good code, it’s that it’s capable of producing a shitload of bad code at volumes no human can possibly review. It doesn’t surprise me at all that the guy who made Linux can wrangle an AI to produce exceptionally good outcomes. The problem is that there’s a million Joe Normals who are gonna try to replicate it with no idea how to audit the output.
Plus all the employees who’ve been forced to produce and sift through that garbage code, because their bosses bought into the hype and don’t see the software for what it actually is.
I started using Linux about 30 years ago. I wasn’t a science major, but reading about the GPL and the GNU movement, it seemed to fit really well with my values. I was willing to put up with a lot (the first distro I used didn’t come with a working XFree), but it was worth it, to me. I never really sat well having Linus at the head. He just seemed like a bit of a prat most of the time, but whatever. Then I got nnoyed enough that I spent a year or two going through alternatives. I had used BeOS before I found Linux, but at the time BeOS had gone away and Haiku didn’t exist. Plan9 had a lot of cool things, but wasn’t a daily driver. Spent time mostly with FreeBSD, but after being a GPL fan, the BSD licensing just kind of annoyed me. Lately I’ve been finding myself feeling the same way I felt about the BSD world. It would be nice to get away from Linux and Linus, but at this point I’m much older, less willing to jump through hoops to get shit working. I’m hoping some kernel alternative comes along that ticks the boxes for me. Maybe Hurd will get there (ha!). I sure wish something would come along. Although, like worrying about the climate, or US politics, the momentum towards comprehensive social shittery just feel completely inevitable and I should try not to worry about it. I guess.
Pa.
Ra.
Graphs.
Well no editorilorizing in that title. no sir. /s is this the change that also have produced articles that stress kinda the opposite.
Assuming these updates are fully tested before they’re deployed, by a human, it shouldn’t be that impactful negatively that AI is being used. The problem comes when updates are moved into production without human oversight.
But it gives me the heebie jeebies, since AI is known to make and fuck shit up, and I’m stuck using MS Teams every day in my job so I see all the weird shit that vibe coding produces. I don’t relish the thought of weird, stupid shit happening to my Linux installation.
Plus studies on skill decay when using AI. Also the linux maintainer onboarding pipeline—which was already critically endangered—is now no longer building understanding through writing code, just monitoring it’s generation.
I personally think you need to write a language by hand without AI doing it for you to learn in detail. It’s like trying to learn how to do math or how to write mandarin by just supervising an AI doing it… you need to do it yourself. Supervising is fine if you’re already fluent in mandarin and have been writing it for years and years. If you’re just learning it’s less than useless. If anything its directly harmful to learning.
Same with speaking a language yourself without crutching your native language as the best method to learn to speak it (immersion)
Edit: The long term externalities of AI—like pretty much everything nowadays—is going to be made worse by short term thinking. Quarterly profits and yearly results take precedence over long term skill development. Even OSS like linux will eat its seed corn out of expediency because of a lack of maintainers and new candidates being onboarded into the ivory tower mailing lists…
Yup, fair points.
it shouldn’t be that impactful negatively that AI is being used
Doesn’t it invalidate the GPL? Open source licenses depend on copyright, and LLM-generated code isn’t copyrightable.
(Also, it can’t be proven not to contain plagiarised proprietary code, in fact it’s quite likely that it does; between this, the testing / review burden, and the mental decay of developers that use LLMs instead of coding, this pretty much kills open source projects, in several different ways to make sure they stay dead…)
It’s not that they’re not copyrightable. That court case is misunderstood. The vibe coder tried to give the AI the copyright and the judge ruled that was stupid because AI can’t own shit.
Also copyright doesn’t mean much anymore because companies are rewriting open source software as copyrightable vibe coded bullshit the same way people are “open sourcing” Adobe using vibe coded crap.
It’s garbage “progress” all the way down.
One thing I’m noticing about AI code is it’s very, very task oriented. Like it will produce code, that works for the one objective, but absolutely will not account for other interactions with other parts of the system. It’s really bad at juggling multiple priorities so for every solution it creates, it causes another 2 problems with other parts of the stack. Human coders would design a solution that takes those interactions into account from the ground up. With an AI solution, you kind of have to rebuild those interactions as an afterthought, which is where a lot of failures occur. Since interaction of multiple subsystems is kind of the whole point of a kernel… I have concerns.
Human coders would design a solution that takes those interactions into account from the ground up.
Lol, this only happens in Utopia
Utopic might be a bit of a stretch, but I should probably qualify that as good human coders.
Which Microsoft apparently has access to zero of them.
Every time somebody says Microsoft is now shit because of AI, I have to remind them windows has been human slop since Vista.
Even good programmers are captured in poor practices due to short timelines and end up delivering shit code.
Human review of AI is sufficient in theory, but in practice it’s never as thorough as the understanding you get writing it yourself. It’s hard to avoid AI, but it is a constant invitation to laziness.
You’re not wrong. I personally prefer to do the work my self.
and in the process he introduced a race condition, a performance regression costing up to 9% when making reads of files around 1 MiB and dumped the responsibility of fixing his mess on co-maintainers and went on vacation.
Yeah but it sounds like three steps forward half a step back. Also, reviews/testing caught it. Sounds like the system is working. I’ve written quite a few race condition bugs in my 25 year career. That nobody caught until weeks in prod.
I understand the reluctance of AI but there’s no denying that AI in capable hands can be useful.
In capable hands. Is the real issue. Too many people believe they are capable hands.
Too many people believe
they areAI is capable hands.Capable hands are going to quickly diminish as people grow up around vibe coding.
That’s not a new issue.
The absolute slop I’ve seen people hand write long before AI is actually impressive.
AI is just a force multiplier
I mean, fine. But its easier to fix human written slop over AI slop solely because of the sheer volume of AI slop.
Eh it depends, you can use AI to help you fix AI slop.
A hand written project I worked on was such a mess I can’t even begin to describe how badly written it was.
It was a POC writen by students that then just got launched as the actual product for millions of users.
The DB had zero foreign keys.
The thing just had to be rewritten from scratch
It was a POC writen by students that then just got launched as the actual product for millions of users.
Classic. I really don’t understand why anyone would do this.
if Linus, who has worked with the language AND the project for decades, can’t find a race condition and a performance regression in his VERY FIRST LLM-assisted commit, then just maybe we should accept that humans are fucking horrible att catching the mistakes that clankers make and stop deluding us into thinking that this is the future of software engineering.
What makes you think he wouldn’t have made the same mistake hand coding it?
If he didn’t catch it on his own review the likelihood that he would’ve made the same mistake if he coded it himself is high.
First of all, if a human makes a mistake it’s a learning opportunity. When a human misses a bug an LLM hallucinated, noone really learn from it.
I like to compare it with the xray machines at airports. Human operators stare at the screens hunting for weapons and other prohibited items and miss pretty obvious stuff because they get bored out of their minds. They actually added a mechanism to insert fake xray images of weapons ever so often to actually keep the operators interested and alert. Ain’t much too different from doing code reviews being the human-in-the-loop/scapegoat.
Also, LLMs don’t necessarily generate good code. They excel at generating good-looking mediocre code.
So yeah, I’m gonna go ahead and claim that Linus is more likely to miss a bug a LLM wrote on his behalf than one he wrote himself.
[…] if a human makes a mistake it’s a learning opportunity.
As per Linux kernel AI policy (and a common fucking sense), you’re the one responsible for the code that is submitted from your side, regardless of the tools and pipeline you use. Now get this, when an agent makes a mistake, that you didn’t notice, that’s still a learning opportunity, especially when you’re held accountable for the fuck up.
Also, LLMs don’t necessarily generate good code. They excel at generating good-looking mediocre code.
True… When you give them a general task that involves solution of technical problems and decision making. But when it’s a concrete “do the x thing over here, using this, this, and this”, which is then accompanied by your manual review of the changes, they actually do fine, basically allowing you to minimize the tedium, while not robbing you of the most interesting and important parts of development.
Did Linus’s pipeline look like what i described, tho, when he introduced the aforementioned bugs? Was it his technical decision that, by proxy, introduced bugs? I don’t know. Regardless of the answers, he’s a grown-ass man, and thus is responsible for the consequences of his decisions.
Is he more likely to introduce a bug now that he uses AI? Only time will show. I might be wrong, but i think Linus is too smart for it to be the case.
Despite the “AI policy and common sense” saying that the contributor is responsible for understanding the code committed, Linus did clealry not treat this with the due dilligence required. He used unproven error-prone technology to emit code for a project that millions of users depend on and sent it in despite it having the race condition and the performance regression.
If Linus was as smart as you seem to believe, he should have checked that code as if it was submitted from his worst enemy, as if it was written by a smarter and malicous adversary or at least a very enthusiastic imbecile. But the LLMs are designed in a way that trick you into believing that they are smart, reasoning and capable and you drop your guard. The code looked good, he got fooled and here we are.
First of all, if a human makes a mistake it’s a learning opportunity. When a human misses a bug an LLM hallucinated, noone really learn from it.
Agents can “learn” from their mistakes within their harness.
You or the agent can add notes in the memory files or the repo level agents.md files, or standards and conventions files to look for those mistakes.
Most harnesses these days will spin up a new agent to do a review once the implementation is done, that agent will take memory files, agents.md files and other standards and conventions files into its context to know what to look out for so it won’t make the same mistake twice
Claude code is even doing “dreaming” where it’ll do a cron every night to look through all the conversations from the day for stuff it messed up on and add to its memory files to not do those same mistakes.
You putting quotes around “learn” and “dream” is you admitting that they are not really doing either. LLMs don’t think, learn, reason, analyse, design or anything else that require a human mind.
You making a note in agents.md did not teach the model anything, it’s a halfassed attempt to compensate for the fact that LLMs are INCAPABLE of learning. You need to create a new model trained on the new data you wish to incorporate, because when that phase is over the model is locked in.
Have a look at the claude code leak and you will see how they actually prompt inject constantly to try to keep it on track and not do stupid shit. It has fucking CYBER ALZHEIMERS for gods sake.
Look at that woman at meta who told an agent to suggest which emails to archive, explicitly forbidding it from deleting anything. Guess what? That internal monologue filled up the context and that instruction fell off the back of the truck, and the clanker happily started shredding emails until they literally pulled the plug.
LLMs are somehow passing the Turing test for a subset of humans and its embarassing that the bar is apparently that low. The AI labs are doing their best to weaponize that and you fell for it.
The TSA has to pretend to even keep their employees looking busy. Hilarious.
Wild how mad you are about this.
Not really
Ok. Looks like the process just needs to do more testing/validation in CI.
What’s your alternative? just stop progress here? No more new things?
How about we keep relying on deterministic tooling that are not built on stolen data and don’t fuck the economy and the environment at the same time? How about putting a fraction of the money invested i LLMs into SAST and DAST tools? Maybe a dollar or two for fuzz testers? How about we look at projects like curl and build safeguards into the project to avoid footguns?
I’m not opposed, that honestly sounds good. Now, let’s wish in one hand and shit in the other and see which fills up first.
People will do what they do.
I run small local models, I do a lot of what you are saying. However this technology and process is new. Yeah capitalism will fuck everything up but you can’t control people.
Capitalism is a control mechanism for people
So let’s make a competing one and swap it out for something else. Oh and by tomorrow, I’ll wait.
Just because there are better options doesn’t mean you can change it over night and without set backs.
Have you considered that you might be an ai, yourself? I hear only AI makes these mistakes.
Isnt that because of a bug in f2fs, and not his kernel patch?
How does this compare to his usual patches?
This is the first time a bug has been introduced into Linux, the AI apocalypse is truly upon us.
i’m too autistic to understand, whether this is a sarcasm
deleted by creator
The directive isn’t pro AI. It is pro results. It emphasized responsibility.
Using AI tooling is fine as long as you know what’s being written by it.
I’m still a massive fan of copilot auto-complete because you’re still laying out the structure of the code and can hint at what you want with strong naming and good doc strings which are good practice anyway, and then the copilot finishes your thoughts and you save time. Especially good at rigging up tests.
Yup! I love AI for banging out object models. I can give it a pdf listing the spec with what amounts to hundreds of member variables and getters setters. I can say “hey AI turn this into a class, use the GOF builder pattern, and boom it does it. Saves me hours of monotonous typing.
This! 💪😎✌️
Dubious claim
I always read this as shardware.
Calm down, Wit
Thanks for ruining it for me now.











