Most active commenters
  • alluro2(3)

←back to thread

494 points todsacerdoti | 56 comments | | HN request time: 1.317s | source | bottom
1. JonChesterfield ◴[] No.44382974[source]
Interesting. Harder line than the LLVM one found at https://llvm.org/docs/DeveloperPolicy.html#ai-generated-cont...

I'm very old man shouting at clouds about this stuff. I don't want to review code the author doesn't understand and I don't want to merge code neither of us understand.

replies(8): >>44383040 #>>44383128 #>>44383155 #>>44383230 #>>44383315 #>>44383409 #>>44383434 #>>44384226 #
2. compton93 ◴[] No.44383040[source]
I don't want to review code the author doesn't understand

This really bothers me. I've had people ask me to do some task except they get AI to provide instructions on how to do the task and send me the instructions, rather than saying "Hey can you please do X". It's insulting.

replies(4): >>44383112 #>>44383861 #>>44386706 #>>44387097 #
3. andy99 ◴[] No.44383112[source]
Had someone higher up ask about something in my area of expertise. I said I didn't think is was possible, he followed up with a chatGPT conversation he had where it "gave him some ideas that we could use as an approach", as if that was some useful insight.

This is the same people that think that "learning to code" is a translation issue they don't have time for as opposed to experience they don't have.

replies(11): >>44383199 #>>44383252 #>>44383294 #>>44383446 #>>44383599 #>>44383887 #>>44383941 #>>44383965 #>>44386199 #>>44388138 #>>44390838 #
4. dheera ◴[] No.44383128[source]
> I don't want to review code the author doesn't understand

The author is me and my silicon buddy. We understand this stuff.

replies(1): >>44383571 #
5. halostatue ◴[] No.44383155[source]
I have just started adding DCO to _all_ of the open source code that I maintain and will be adding text like this on `CONTRIBUTING.md`:

---

LLM-Generated Contribution Policy

Color is a library full of complex math and subtle decisions (some of them possibly even wrong). It is extremely important that any issues or pull requests be well understood by the submitter and that, especially for pull requests, the developer can attest to the Developer Certificate of Origin for each pull request (see LICENCE).

If LLM assistance is used in writing pull requests, this must be documented in the commit message and pull request. If there is evidence of LLM assistance without such declaration, the pull request will be declined.

Any contribution (bug, feature request, or pull request) that uses unreviewed LLM output will be rejected.

---

I am also adding this to my `SECURITY.md` entries:

---

LLM-Generated Security Report Policy

Absolutely no security reports will be accepted that have been generated by LLM agents.

---

As it's mostly just me, I'm trying to strike a balance, but my preference is against LLM generated contributions.

replies(1): >>44386872 #
6. candiddevmike ◴[] No.44383199{3}[source]
Imagine a boring dystopia where everyone is given hallucinated tasks from LLMs that may in some crazy way be feasible but aren't, and you can't argue that they're impossible without being fired since leadership lacks critical thinking.
replies(3): >>44383246 #>>44383580 #>>44384800 #
7. jitl ◴[] No.44383230[source]
When I use LLM for coding tasks, it's like "hey please translate this YAML to structs and extract any repeated patterns to re-used variables". It's possible to do this transform with deterministic tools, but AI will do a fine job in 30s and it's trivial to test the new output is identical to the prompt input.

My high-level work is absolutely impossible to delegate to AI, but AI really helps with tedious or low-stakes incidental tasks. The other day I asked Claude Code to wire up some graphs and outlier analysis for some database benchmark result CSVs. Something conceptually easy, but takes a fair bit of time to figure out libraries and get everything hooked up unless you're already an expert at csv processing.

replies(3): >>44383561 #>>44384921 #>>44386134 #
8. tines ◴[] No.44383246{4}[source]
Reminds me of the wonderful skit, The Expert: https://www.youtube.com/watch?v=BKorP55Aqvg
replies(2): >>44383318 #>>44383670 #
9. a4isms ◴[] No.44383252{3}[source]
> This is the same people that think that "learning to code" is a translation issue they don't have time for as opposed to experience they don't have.

This is very, very germane and a very quotable line. And these people have been around from long before LLMs appeared. These are the people who dash off an incomplete idea on Friday afternoon and expect to see a finished product in production by next Tuesday, latest. They have no self-awareness of how much context and disambiguation is needed to go from "idea in my head" to working, deterministic software that drives something like a process change in a business.

replies(2): >>44383411 #>>44385328 #
10. alluro2 ◴[] No.44383294{3}[source]
A friend experienced a similar thing at work - he gave a well-informed assessment of why something is difficult to implement and it would take a couple of weeks, based on the knowledge of the system and experience with it - only for the manager to reply within 5 min with a screenshot of an (even surprisingly) idiotic ChatGPT reply, and a message along the lines of "here's how you can do it, I guess by the end of the day".

I know several people like this, and it seems they feel like they have god powers now - and that they alone can communicate with "the AI" in this way that is simply unreachable by the rest of the peasants.

replies(4): >>44383594 #>>44383716 #>>44385869 #>>44387589 #
11. phire ◴[] No.44383315[source]
I do use GitHub copilot on my personal projects.

But I refuse to use it as anything more than a fancy autocomplete. If it suggests code that's pretty close to what I was about to type anyway, I accept it.

This ensures that I still understand my code, that there shouldn't be any hallucination derived bugs, [1] and there really shouldn't be any questions about copyright if I was about to type it.

I find using copilot this way speeds me up. Not really because my typing is slow, it's more that I have a habit of getting bored and distracted while typing. Copilot helps me get to the next thinking/debugging part sooner.

My brain really comprehend the idea that anyone would not want to not understand their code. Especially if they are going to submit it as a PR.

And I'm a little annoyed that the existence of such people is resulting in policies that will stop me from using LLMs as autocomplete when submitting to open source projects.

I have tried using copilot in other ways. I'd love for it to be able to do menial refactoring tasks for me. But every-time I experiment, it seems to fall off the rails so fast. Or it just ends up slower than what I could do manually because it has to re-generate all my code instead of just editing it.

[1] Though I find it really interesting that if I'm in the middle of typing a bug, copilot is very happy to autocomplete it in its buggy form. Even when the bug is obvious from local context, like I've typoed a variable name.

replies(1): >>44384581 #
12. stirfish ◴[] No.44383318{5}[source]
And the solution: https://www.youtube.com/watch?v=B7MIJP90biM
13. hsbauauvhabzb ◴[] No.44383409[source]
You’re the exact kind of person I want to work with. Self reflective and in opposition of lazy behaviours.
14. bobjordan ◴[] No.44383411{4}[source]
You can change "software" to "hardware" and this is still an all too common viewpoint, even for engineers that should know better.
15. rodgerd ◴[] No.44383434[source]
This to me is interesting when it comes to free software projects; sure there are a lot of people contributing as their day job. But if you contribute or manage a project for the pleasure of it, things which undermine your enjoyment - cleaning up AI slop - are absolutely a thing to say "fuck off" over.
16. alganet ◴[] No.44383446{3}[source]
In corporate, you are _forced_ to trust your coworker somehow and swallow it. Specially higher-ups.

In free software though, these kinds of nonsense suggestions always happened, way before AI. Just look at any project mailing list.

It is expected that any new suggestion will encounter some resistance, the new contributor itself should be aware of that. For serious projects specifically, the levels of skepticism are usually way higher than corporations, and that's healthy and desirable.

17. mistrial9 ◴[] No.44383561[source]
oh agree and amplify this -- graphs are worlds unto themselves. some of the high end published research papers have astounding contents, for example..
18. recursive ◴[] No.44383571[source]
Of course we understand it. Just ask us!
19. whoisthemachine ◴[] No.44383580{4}[source]
Unfortunately this is the most likely outcome.
20. OptionOfT ◴[] No.44383594{4}[source]
Same here. You throw a question in a channel. Someone responds in 1 minute with a code example that either you had laying around, or would take > 5 minutes to write.

The code example was AI generated. I couldn't find a single line of code anywhere in any codebase. 0 examples on GitHub.

And of course it didn't work.

But, it sent me on a wild goose because I trusted this person to give me a valuable insight. It pisses me off so much.

replies(1): >>44386873 #
21. colechristensen ◴[] No.44383599{3}[source]
People keep asking me if AI is going to take my job and recent experience shows that it very much is not. AI is great for being mostly correct and then giving someone without enough context a mostly correct way to shoot themselves in the foot.

AI further encourages the problem in DevOps/Systems Engineering/SRE where someone comes to you and says "hey can you do this for me" having come up with the solution instead of giving you the problem "hey can you help me accomplish this"... AI gives them solutions which is more steps away to detangle into what really needs to be done.

AI has knowledge, but it doesn't have taste. Especially when it doesn't have all of the context a person with experience, it just has bad taste in solutions or just the absence of taste but with the additional problem that it makes it much easier for people to do things.

Permissions on what people have access to read and permission to change is now going to have to be more restricted because not only are we dealing with folks who have limited experience with permissions, now we have them empowered by AI to do more things which are less advisable.

replies(1): >>44387184 #
22. dotancohen ◴[] No.44383670{5}[source]
That is incredibly accurate - I used to be at meetings like that monthly. Please submit this as an HN discussion.
23. AdieuToLogic ◴[] No.44383716{4}[source]
> I know several people like this, and it seems they feel like they have god powers now - and that they alone can communicate with "the AI" in this way that is simply unreachable by the rest of the peasants.

A far too common trap people fall into is the fallacy of "your job is easy as all you have to do is <insert trivialization here>, but my job is hard because ..."

Statistically generated text (token) responses constructed by LLM's to simplistic queries are an accelerant to the self-aggrandizing problem.

24. nijave ◴[] No.44383861[source]
Especially when you try to correct them and they insist AI is the correct one

Sometimes it's fun reverse engineering the directions back into various forum, Stack Overflow, and documentation fragments and pointing out how AI assembled similar things into something incorrect

25. ◴[] No.44383887{3}[source]
26. joshstrange ◴[] No.44383941{3}[source]
I’ve started to experience/see this and it makes me want to scream.

You can’t dismiss it out of hand (especially with it coming from up the chain) but it takes no time at all to generate by someone who knows nothing about the problem space (or worse, just enough to be dangerous) and it could take hours or more to debunk/disprove the suggestion.

I don’t know what to call this? Cognitive DDOS? Amplified Plausibility Attack? There should be a name for it and it should be ridiculed.

replies(1): >>44385285 #
27. petesergeant ◴[] No.44383965{3}[source]
> Had someone higher up ask about something in my area of expertise. I said I didn't think is was possible, he followed up with a chatGPT conversation he had where it "gave him some ideas that we could use as an approach", as if that was some useful insight.

I would find it very insulting if someone did this to me, for sure, as well as a huge waste of my time.

On the other hand I've also worked with some very intransigent developers who've actively fought against things they simply didn't want to do on flimsy technical grounds, knowing it couldn't be properly challenged by the requester.

On yet another hand, I've also been subordinate to people with a small amount of technical knowledge -- or a small amount of knowledge about a specific problem -- who'll do the exact same thing without ChatGPT: fire a bunch of mid-wit ideas downstream that you have already thought about, but you then need to spend a bunch of time explaining why their hot-takes aren't good. Or the CEO of a small digital agency I worked at circa 2004 asking us if we'd ever considered using CSS for our projects (which were of course CSS heavy).

28. linsomniac ◴[] No.44384226[source]
>I don't want to review code the author doesn't understand

I get that. But the AI tooling when guided by a competent human can generate some pretty competent code, a lot of it can be driven entirely through natural language instructions. And every few months, the tooling is getting significantly more capable.

I'm contemplating what exactly it means to "understand" the code though. In the case of one project I'm working on, it's an (almost) entirely vibe-coded new storage backend to an existing VM orchestration system. I don't know the existing code base. I don't really have the time to have implemented it by hand (or I would have done it a couple years ago).

But, I've set up a test cluster and am running a variety of testing scenarios on the new storage backend. So I understand it from a high level design, and from the testing of it.

As an open source maintainer myself, I can imagine (thankfully I haven't been hit with it myself) how frustrating getting all sorts of low quality LLM "slop" submissions could be. I also understand that I'm going to have to review the code coming in whether or not the author of the submission understands it.

So how, as developers, do we leverage these tools as appropriate, and signal to other developers the level of quality in code. As someone who spent months tracking down subtle bugs in early Linux ZFS ports, I deeply understand that significant testing can trump human authorship and review of every line of code. ;-)

replies(1): >>44385741 #
29. dawnerd ◴[] No.44384581[source]
That’s how I use it too. I’ve tried to make agent mode work but it ends up taking just as long if not longer than just making the edits myself. And unless you’re very narrowly specific models like sonnet will go off track making changes you never asked for. At least gpt4.1 is pretty lazy I guess.
30. turol ◴[] No.44384800{4}[source]
That is a very good description of the Paranoia RPG.
31. mattmanser ◴[] No.44384921[source]
In my experience, AI will not do a fine job of things like this.

If the definition is past any sort of length, it will hallucinate new properties, change the names, etc. It also has a propensity to start skipping bits of the definitions by adding in comments like "/** more like this here **/"

It may work for you for small YAML files, but beware doing this for larger ones.

Worst part about all that is that it looks right to begin with because the start of the definitions will be correct, but there will be mistakes and stuff missing.

I've got a PoC hanging around where I did something similar by throwing an OpenAPI spec at an AI and telling it to generate some typescript classes because I was being lazy and couldn't be bothered to run it through a formal tool.

Took me a while to notice a lot of the definitions had subtle bugs, properties were missing and it had made a bunch of stuff up.

replies(2): >>44385398 #>>44387123 #
32. whatevertrevor ◴[] No.44385285{4}[source]
It's simply the Bullshit Asymmetry Principle/Brandolini's Law. It's just that bullshit generation speedrunners have recently discovered tool-assists.
33. 1dom ◴[] No.44385328{4}[source]
The unfortunate truth is that approach does work, sometimes. It's really easy and common for capable engineers to think their way out of doing something because of all the different things they can think about it.

Sometimes, an unreasonable dumbass whose only authority comes from corporate heirarchy is needed to mandate the engineers start chipping away at the tasks. If they weren't a dumbass, they'd know the unreasonable thing they're mandating, and if they weren't unreasonable, they wouldn't mandate the someone does it.

I am an an engineer. "Sometimes" could be swapped for "rarely" above, but the point still stands: as much frustration as I have towards those people, they do occasionally lead to the impossible being delivered. But then again, a stopped clock -> twice a day etc.

replies(2): >>44385818 #>>44389884 #
34. danielbln ◴[] No.44385398{3}[source]
What does "AI" mean? GPT3.5 on a website, or Claude 4 Opus plugged into function calling and a harness of LSP, type checker and tool use? These are not the same, neither in terms of output quality nor in capability space. We need to be more specific about the tools we use when we discuss them. "IDEs are slow to load" wouldn't be a useful statement either.
replies(1): >>44390476 #
35. imiric ◴[] No.44385741[source]
> I'm contemplating what exactly it means to "understand" the code though.

You can't seriously be questioning the meaning of "understand"... That's straight from Jordan B. Peterson's debate playbook which does nothing but devolve the conversation into absurdism, while making the person sound smart.

> I've set up a test cluster and am running a variety of testing scenarios on the new storage backend. So I understand it from a high level design, and from the testing of it.

You understand the system as well as any user could. Your tests only prove that the system works in specific scenarios, which may very well satisfy your requirements, but they absolutely do not prove that you understand how the system works internally, nor that the system is implemented with a reliable degree of accuracy, let alone that it's not misbehaving in subtle ways or that it doesn't have security issues that will only become apparent when exposed to the public. All of this might be acceptable for a tool that you built quickly which is only used by yourself or a few others, but it's far from acceptable for any type of production system.

> As someone who spent months tracking down subtle bugs in early Linux ZFS ports, I deeply understand that significant testing can trump human authorship and review of every line of code.

This doesn't match my (~20y) experience at all. Testing is important, particularly more advanced forms like fuzzing, but it's not a failproof method of surfacing bugs. Tests, like any code, can itself have bugs, it can test the wrong things, setup or mock the environment in ways not representative of real world usage, and most importantly, can only cover a limited amount of real world scenarios. Even in teams that take testing seriously, achieving 100% coverage, even for just statements, is seen as counterproductive and as a fool's errand. Deeply thorough testing as seen in projects like SQLite is practically unheard of. Most programmers I've worked with will often only write happy path tests, if they bother writing any at all.

Which isn't to say that code review is the solution. But a human reviewing the code, building a mental model of how it works and how it's not supposed to work, can often catch issues before the code is even deployed. It is at this point that writing a test is valuable, so that that specific scenario is cemented in the checks for the software, and regressions can be avoided.

So I wouldn't say that testing "trumps" reviews, but that it's not a reliable way of detecting bugs, and that both methods should ideally be used together.

replies(1): >>44390941 #
36. taleinat ◴[] No.44385818{5}[source]
That approach sometimes does work, but usually very poorly and often not at all.

It can work very well when the higher-up is well informed and does have deep technical experience and understanding. Steve Jobs and Elon Musk are great, well-known examples of this. They've also provided great examples of the same approach mostly failing when applied outside of their areas of deep expertise and understanding.

37. spit2wind ◴[] No.44385869{4}[source]
Sounds like a teachable moment.

If it's that simple, sounds like you've got your solution! Go ahead and take care of it. If it fits V&V and other normal procedures, like passing tests and documentation, then we'll merge it in. Shouldn't be a problem for you since it will only take a moment.

replies(1): >>44389001 #
38. stefanha ◴[] No.44386134[source]
There is ongoing discussion about this topic in the QEMU AI policy: https://lore.kernel.org/qemu-devel/20250625150941-mutt-send-...
39. sltr ◴[] No.44386199{3}[source]
Reminds me of "Appeal to Aithority". (not a typo)

An LLM said it, so it must be true.

https://blog.ploeh.dk/2025/03/10/appeal-to-aithority/

40. windward ◴[] No.44386706[source]
It's the modern equivalent of sending a LMGTFY link, except the insult is from them being purely credulous and sincere
41. japhyr ◴[] No.44386872[source]
> any issues or pull requests be well understood by the submitter

I really like this phrasing, particularly in regards to PRs. I think I'll find a way to incorporate this into my projects. Even for smaller, non-critical projects, it's such a distraction to deal with people trying to make "contributions" that they don't clearly understand.

42. mailund ◴[] No.44386873{5}[source]
I experienced mentioning an issue I was stuck on during standup one day, then some guy on my team DMs me a screenshot of chatGPT with text about how to solve the issue. When I explained to him why the solution he had sent me didn't make sense and wouldn't solve the issue, he sent me back the reply the LLM would give by pasting in my reply, at which point I stopped responding.

I'm just really confused what people who send LLM content to other people think they are achieving? Like if I wanted an LLM response, I would just prompt the LLM myself, instead of doing it indirectly though another person who copy/pastes back and forth.

43. guappa ◴[] No.44387097[source]
My company hired a new CTO and he asked chatgpt to write some lengthy documents about "how engineering gets done in our company".

He also writes all his emails with chatgpt.

I don't bother reading.

Oddly enough he recently promoted a guy who has been fucking around with LLMs for years instead of working as his right hand man.

replies(2): >>44387118 #>>44387842 #
44. JonChesterfield ◴[] No.44387118{3}[source]
That's directly lethal, in a limited sympathy with engineers that don't immediately head for the exit sort of fashion. Best of luck
replies(1): >>44387408 #
45. jitl ◴[] No.44387123{3}[source]
For bigger inputs I have the AI write the new output to an adjacent file and diff the two to confirm equivalence
46. MoreQARespect ◴[] No.44387184{4}[source]
The question about whether it takes jobs away is more whether one programmer with taste can multiply their productivity between ~3-15x and take the same salary while demand for coding remains constant. It's less about whether the tool can directly replace 100% of the functions of a good programmer.
47. guappa ◴[] No.44387408{4}[source]
The most experienced people quit, yes. There's some other not as experienced who are left, but seeing how a noob with less seniority and a large ego is now their boss, I expect they're proof reading their CVs as well.

I think under current management immigrants have no chance of getting promoted.

48. latexr ◴[] No.44387589{4}[source]
> and a message along the lines of "here's how you can do it, I guess by the end of the day".

— How about you do it, motherfucker?! If it’s that simple, you do it! And when you can’t, I’ll come down there, push your face on the keyboard, and burn your office to the ground, how about that?

— Well, you don’t have to get mean about it.

— Yeah, I do have to get mean about it. Nothing worse than an ignorant, arrogant, know-it-all.

If Harlan Ellison were a programmer today.

https://www.youtube.com/watch?v=S-kiU0-f0cg&t=150s

replies(1): >>44388978 #
49. latexr ◴[] No.44387842{3}[source]
> Oddly enough he recently promoted a guy who has been fucking around with LLMs for years instead of working as his right hand man.

Why is that odd? From the rest of your description, it seems entirely predictable.

50. masfuerte ◴[] No.44388138{3}[source]
You should send him a chatGPT critique of his management style.

(Or not, unless you enjoy workplace drama.)

51. alluro2 ◴[] No.44388978{5}[source]
Hah, that's a good clip :) Those "angry people" are really essential as an outlet for the rest of us.
52. alluro2 ◴[] No.44389001{5}[source]
Absolutely agree :) If only he wasn't completely non-technical, managing a team of ~30 devs of varying skill levels and experience - which is the root cause of most of the issues, I assume.
53. lowbloodsugar ◴[] No.44389884{5}[source]
if they're only right twice a day, you can run out of money doing stupid things before you hit midnight. in practice, there's a difference between a PHB asking a "stupid" question that leads to engineers having a lightbulb moment, vs a PHB insisting on going down a route that will never work.
54. mattmanser ◴[] No.44390476{4}[source]
How do any of those things help with it recognizing it's hallucinated new property names?

The types don't exist outside of the yaml/json/etc.

You can't check them.

55. itslennysfault ◴[] No.44390838{3}[source]
At a company I used to work at I saw the CEO do this publicly (on slack) to the CTO who was an absolute expert on the topic at hand, and had spent 1000s of hours optimizing a specific system. Then, the CEO comes in and says I think this will fix our problems (link to ChatGPT convo). SOO insulting. That was the day I decided I should start looking for a new job.
56. linsomniac ◴[] No.44390941{3}[source]
You're right, "trumps" isn't the right word there. But, as you say, testing is an often neglected part of the process. There are absolutely issues that code review is going to be better at finding, particular security related ones. But, try fixing a subtle bug without a reproducible test case...