- 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
What gets me is that this is roughly the best-case scenario for “capable hands” — Linus knows this codebase better than anyone alive — and a race condition plus a 9% read regression still slipped through on the first attempt. Reviews and testing caught it, which is the system working, but it moves the bottleneck from writing code to reviewing it. And review doesn’t scale the way generation does; skimming a patch is quick, but actually proving an LLM-assisted one is correct takes real effort. I say that as someone who uses AI tooling daily — reading code you didn’t write is genuinely more tiring than writing it, and that tax compounds the more you lean on generation. The maintainer-burnout angle might end up being the real story here, more than the AI one.
Linus knows this codebase better than anyone alive
Does he? Is it even possible to know the entirety of the Linux kernel within one head?
Does one need to know the entirety in their head to know it better than anyone else? If not Linus, who?
I’d argue the people who wrote the code for the various subsystems know more about it than the guys who “just” review and merge them.
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.
Didn’t that used to be called Intellisense?
Only for the Visual Studio implementation. The general term is autocompletion.
Aha, gotcha–thanks!
This! 💪😎✌️
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.
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.
Even good programmers are captured in poor practices due to short timelines and end up delivering shit code.
Which Microsoft apparently has access to zero of them.
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.
Unlike reviewing a human who writes code there is zero chance of AI learning from the past and making fewer mistakes in the future. At a least a human has a chance of becoming better at coding from review feedback.
No? Are you not aware of the concept of “memories”? AI do indeed take feedback into account, if they’re designed to.
The auto-generated memories I’ve seen it create are pretty inane: “always name variables container_ when in MySpecificClass”. Not really learning engineering principles.
Similar, I’ve found AGENT.md files might nudge it in the right direction, but as always it’s a fuzzy matcher, not a learning engineer.
It’s best to generate memories manually, but I’ve had good fortune with auto-generated so far. At least using Co-pilot.
I have found it best to have another AI generate the agent.md - having a layer of interpretation can really clarify the information imparted.
AI does not have memories.
It has a comparatively small context window that makes things worse the more it fills up.
Eh I really think it does. You don’t news to load everything into context. You need to load where everything is located into context.
You are mistaken. Some AI models do indeed have memories.
They save some strings in a document to later read and “remember”. Calling them memories is a reach.
My point stands that they can learn from feedback. Your memories are only information in a virtual document, too. Just as susceptible to corruption, or misinterpretation.
You’re not wrong. I personally prefer to do the work my self.
Dubious claim
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.
Have you considered that you might be an ai, yourself? I hear only AI makes these mistakes.
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.
Wild how mad you are about this.
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.
In capable hands. Is the real issue. Too many people believe they are 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.
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.
deleted by creator
The directive isn’t pro AI. It is pro results. It emphasized responsibility.
It also emphasized AI
It allows AI… nothing more.
We muat be reading different flames
What directive is that?
The Prime Directive.
- Serve the public trust
- Protect the innocent
- Uphold the law
- (CLASSIFIED)
I always read this as shardware.
Calm down, Wit
Thanks for ruining it for me now.













