- 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
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
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.
More like three steps backwards one quarter step forward.
In capable hands. Is the real issue. Too many people believe they are capable hands.
Even incapable hands can do more than they could before. The problem is when they attempt far too much.
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
Classic. I really don’t understand why anyone would do this.
People are morons or just don’t give a F.
Sometimes both
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.
“Skill issue” was a dumb argument for pushing against rust, and it’s still a dumb one now. There are plenty of reasons not to want LLMs in the Linux kernel, no need to make Linus sound like some godlike entity who’s never written buggy code before LLMs
yeah, it wasnt my intention but I made it look like I put him on a pedestal there. My bad
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.
The TSA has to pretend to even keep their employees looking busy. Hilarious.
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.
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.
I’d say, there was plenty of time for people, including Linus, to understand its limits, especially considering that before introducing current AI policy to the kernel maintainers, he used it for his personal project.
Human-written code is just as error-prone and unreliable, even if it is written by the most experienced dev there is. Do i really need to explain that your own ability to write quality code varies, based off countless factors that affect your mental state? John Dev didn’t have his breakfast — boom! Uncaught race condition, segfault, or some other critical bug, or safety vulnerability is introduced into prod.
What i’m saying is, unreliability of the submitted code is a problem as old as coding itself. It’s a well known one, hence all the static analysis tools developed over the decades, code reviews, hell, even opensource itself partially exists to solve this very issue. The fact that the bugs were caught is the living proof of just that.
“Smart” doesn’t mean “omniscient”, doesn’t mean “makes no mistakes”. “Smart” is not some kind of divine status. He’s still human, he still gets tired, his focus still can dwindle, and important things still slip his mind.
That’s your speculation, probably based off your own experience. Neither of us know the exact circumstances, by which the discussed bugs were introduced.
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.
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.
I never said all that, was just pointing out that people are already effectively controlled. Just a little bonus aside, carry on
Understood. My bad just get a lot of comments saying we need to change things. I agree with a lot of what people say on here.
Have you considered that you might be an ai, yourself? I hear only AI makes these mistakes.