you are viewing a single comment's thread
view the rest of the comments
[–] 146 points 1 day ago* (last edited 1 day ago) (39 children)

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.

  • source
  • hideshow 39 child comments
  • [–] 113 points 1 day ago (32 children)

    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.

  • source
  • parent
  • hideshow 32 child comments
  • [–] 71 points 1 day ago (8 children)

    In capable hands. Is the real issue. Too many people believe they are capable hands.

  • source
  • parent
  • hideshow 8 child comments
  • [–] [S] 15 points 1 day ago (4 children)

    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

  • source
  • parent
  • hideshow 4 child comments
  • [–] 12 points 1 day ago (3 children)

    I mean, fine. But its easier to fix human written slop over AI slop solely because of the sheer volume of AI slop.

  • source
  • parent
  • hideshow 3 child comments
  • [+] [S] -9 points 1 day ago (2 children)

    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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 37 points 1 day ago (20 children)

    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.

  • source
  • parent
  • hideshow 20 child comments
  • [–] 5 points 13 hours ago (1 child)

    "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

  • source
  • parent
  • hideshow 1 child comment
  • [–] 0 points 1 day ago (7 children)

    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.

  • source
  • parent
  • hideshow 7 child comments
  • [–] 9 points 1 day ago* (6 children)

    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.

  • source
  • parent
  • hideshow 6 child comments
  • [–] -2 points 19 hours ago (2 children)

    [...] 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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 14 hours ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 7 hours ago

    [...] He used unproven error-prone technology [...]

    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.

    If Linus was as smart as you seem to believe [...]

    "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.

    The code looked good, he got fooled and here we are.

    That's your speculation, probably based off your own experience. Neither of us know the exact circumstances, by which the discussed bugs were introduced.

  • source
  • parent
  • [–] -5 points 20 hours ago* (last edited 20 hours ago) (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 6 points 15 hours ago

    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.

  • source
  • parent
  • [+] -24 points 1 day ago* (7 children)

    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?

  • source
  • parent
  • hideshow 7 child comments
  • [–] 44 points 1 day ago (6 children)

    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?

  • source
  • parent
  • hideshow 6 child comments
  • [+] -16 points 1 day ago (5 children)

    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.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 8 points 1 day ago (4 children)

    Capitalism is a control mechanism for people

  • source
  • parent
  • hideshow 4 child comments
  • [–] -3 points 1 day ago (3 children)

    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.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 4 points 1 day ago (2 children)

    I never said all that, was just pointing out that people are already effectively controlled. Just a little bonus aside, carry on

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 1 day ago (3 children)

    How does this compare to his usual patches?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 11 points 1 day ago (2 children)

    This is the first time a bug has been introduced into Linux, the AI apocalypse is truly upon us.

  • source
  • parent
  • hideshow 2 child comments