Top
Best
New

Posted by dcreager 1 day ago

Give Django your time and money, not your tokens(www.better-simple.com)
366 points | 143 comments
jihadjihad 4 hours ago|
s/Django/the codebase/g, and the point stands against any repo for which there is code review by humans:

> If you do not understand the ticket, if you do not understand the solution, or if you do not understand the feedback on your PR, then your use of LLM is hurting Django as a whole.

> Django contributors want to help others, they want to cultivate community, and they want to help you become a regular contributor. Before LLMs, this was easier to sense because you were limited to communicating what you understood. With LLMs, it’s much easier to communicate a sense of understanding to the reviewer, but the reviewer doesn’t know if you actually understood it.

> In this way, an LLM is a facade of yourself. It helps you project understanding, contemplation, and growth, but it removes the transparency and vulnerability of being a human.

> For a reviewer, it’s demoralizing to communicate with a facade of a human.

> This is because contributing to open source, especially Django, is a communal endeavor. Removing your humanity from that experience makes that endeavor more difficult. If you use an LLM to contribute to Django, it needs to be as a complementary tool, not as your vehicle.

I am going to try to make these points to my team, because I am seeing a huge influx of AI-generated PRs where the submitter interacts with CodeRabbit etc. by having Claude/Codex respond to feedback on their behalf.

There is little doubt that if we as an industry fail to establish and defend a healthy culture for this sort of thing, it's going to lead to a whole lot of rot and demoralization.

genthree 3 hours ago||
AI autocomplete and suggestions built-in to Jira are making our ticket tracker so goddamn spammy that I’m 100% sure that “feature” has done more harm than good.

I don’t think anybody’s tracking the actual net-effects of any of this crap on productivity, just the “vibes” they get in the moment, using it. “I got my part of this particular thing done so fast!”

I believe that to be the case, in part, because not a lot of organizations are usefully tracking overall productivity to begin with. Too hard, too expensive. They might “track” it, but so poorly it’s basically meaningless. I don’t think they’ve turned that around on a dime just to see if the c-suite’s latest fad is good or bad (they never want a real answer to that kind of question anyway)

Aurornis 1 hour ago|||
> just the “vibes” they get in the moment, using it. “I got my part of this particular thing done so fast!”

In the pre-AI era it was much easier to identify people in the workplace who weren't paying attention to their work. To write something about a project you had to at minimum invest some time into understanding it, then think about it, then write something on the ticket, e-mail, or codebase.

AI made it easy to bypass all of that and produce words or code that look plausible enough. Copy and paste into ChatGPT, copy and past the blob of text back out, click send, and now it's somebody else's problem to decipher it.

It gets really bad when the next person starts copying it into their ChatGPT so they can copy and past a response back.

There are entire groups of people just sending LLM slop back and forth and hoping that the project can be moved to someone else before the consequences catch up.

acedTrex 3 hours ago|||
Ironically my favorite use of claude is removing caring about jira from my workflow. I already didn't care about it but now i dont have to spend any time on it.

I treat jira like product owners treat the code. Which is infinitely humorous to me.

zenolove 3 hours ago|||
Horrible degrading take. Be the change you want to see. Don't fuel the fire that's burning you.

If something's not happening, something else's making it impractical. Saying this as a 10+ years product manager and R&D person with 20+ more years of engineering on top.

I also had to deal with "managers are just complicating things" or "users are stupid and don't understand anything"; do you think I complained? No, I had engineers barter trust of their ingenuity with trust of my wisdom, and brought them to customer calls and presented them to users almost like royalty, which made them incredibly respectful as soon as they saw what kind of crap users had to deal with.

acedTrex 2 hours ago|||
The industry is broken now, this is just a response to that. Leadership and product don't have any respect for the code, why would engineers have any respect for the ticketing process.

Thats an unreasonable asymmetric effort demand, "Your code does not matter but my precious tickets must have elbow grease put into them."

Aurornis 1 hour ago|||
> The industry is broken now, this is just a response to that.

No, your behavior is the cause of that.

The entire industry isn't broken. There are good company cultures and bad company cultures just like always.

At least own up to what you're doing. Don't blame "the industry" when you're the one doing the thing.

qdotme 25 minutes ago||
Or.. both!

The industry is broken. It's broken in the same sense the railroad industry is broken. It has reached the point of abundance, where we're doing things that don't need doing. That won't get done in an efficient market. But since we're not in an efficient market, there are globs of capital thrown at people building stuff that.. doesn't stand a chance of actually making any return on capital.

But while it lasts, us, the glorified machine-minders (just like railroad engineers, well, minded the engines), get paid large lumps of money, through large hordes of managers, arguing on minutia of conversion optimization, and fundamentally, being paid enough to not to try and do something else, perhaps competitive.

And that is broken. Especially for the "smarter of us" - the graduation ceremony of my physics department rings true - we've trained you to discover the secrets of universe and reach the stars, and most of us will use it.. to gain an edge at Lehman Brothers.

(And I think the root of this problem, is the abundance of low-risk capital, from people who expect a small return and a pension that lasts for decades in retirement)

zenolove 1 hour ago|||
What about "your milestones, roadmap, discussions and strategies do not matter, but my precious code had elbow grease put into it."

Petty and getting nowhere. Everyone loses. How about product and engineers also disrespect sales, and sales disrespects customers and everyone else.

I really don't get why this is even a question. Good people do good stuff, and bad people make bad companies.

cindyllm 3 hours ago|||
[dead]
genthree 2 hours ago||||
Teach me your ways. I’ve long wished for an actual, human secretary to handle that for me. The context-switching and digging around in a painful, slow interface (I don’t just mean Jira, 100% of the ones project managers find acceptable seem to have this quality) is such a productivity killer, and it’s so easy to miss important things in all the noise.
acedTrex 2 hours ago||
https://github.com/ankitpokhrel/jira-cli just install this and have claude write a skill on how to use it.

Its laughably simple to do. I havent touched the jira UI in months.

semireg 1 hour ago|||
This is a valuable comment. It's the exact demoralization that others fear we are headed.
drob518 3 hours ago|||
In the old days, you could assume that a Par was being offered in good faith by someone who was really fixing a problem. You might disagree with the proposed solution and reject the PR as written, but you assumed good faith. AI has flipped that on its head. Now, everyone assumes they are interacting with an AI (or at least a human using one to generate all the content) and that the human has little to no understanding of what they are proposing. Ultimately, the broad use of AI erodes trust. And that’s a shame.
zenolove 3 hours ago||
Well said. It is all about trust.

Just like "etiquette" accomplishes no purpose except letting people easily figure out who put the effort into learning it, vs. who didn't.

Back then this distinguished by class, but ironically, today where's so easy to learn, it finally distinguishes by merit.

phillipclapham 1 hour ago|||
The principle here extends far past Django. The mistake I see repeatedly in agent architectures is the same one over and over, people route decisions through the model that have no business being there. Not "should I query the database" but internal stuff: branching logic, state transitions, constraint enforcement. Things where the answer isn't ambiguous and a deterministic function would be faster, cheaper, and (most importantly) auditable.

The LLM is genuinely better at certain things: interpreting messy input, generating novel responses, reasoning about edge cases. It's not better at "if account is locked, deny access." Burning tokens on that kind of decision is exactly the same category of mistake as using an LLM to write your Django queries.

The hard part is that agent frameworks don't enforce the separation. Nothing stops you from putting decision logic in a prompt because that's the path of least resistance. But you end up with systems where you can't explain why a decision was made, you can't test it without running inference, and you end burning tokens/money that didn't need to be burned to get subpar results you could have gotten deterministicly for free.

RobRivera 4 hours ago|||
LLMs are to open source contributions as photoshop os to Tinder.
savolai 3 hours ago|||
Or tinder to photoshop. Or tinder to instagram to fb to geocities to newsgroups/bbs.
MattGaiser 3 hours ago||
> I am going to try to make these points to my team, because I am seeing a huge influx of AI-generated PRs where the submitter interacts with CodeRabbit etc. by having Claude/Codex respond to feedback on their behalf.

Are people generally unhappy with the outcomes of this? As anecdotally, it does seem to pass review later on. Code is getting through this way.

zenolove 3 hours ago||
It's slippery. You're swamped with low-effort PRs, can't possibly test and review all of them. You will become a visible bottleneck, and guess whether it's easier to defend quality vs. "blocking a lot of features" which "seem to work". If you're tied by your salary as a reviewer, you will have to let go, and at the same time you'll suffer the consequences of the "lack of oversight" when things go south.
seanp2k2 2 hours ago||
The Board has decided that we can no longer afford artisanal, hand-crafted software, and that machine-made will suffice for nearly all use cases.

Enshittification Enterprise Edition.

mrguyorama 28 minutes ago||
The board wants their cake and eat it too.

They want AI to write all code but also still be able to fire humans for failure, because an AI can't be blamed right now.

Boy I can't wait for this employment norm. Fired because you weren't allowed to take the time to review important code but "You are responsible"

I wish Executives were required to be that "responsible"

lukasgraf 2 hours ago||
The best people I've worked with tended to go out of their way to make it as easy for me as possible to critique their ideas or implementations.

They spelled out exactly their assumptions, the gaps in their knowledge, what they have struggled with during implementation, behavior they observed but don't fully understand, etc.

Their default position was that their contribution was not worth considering unless they can sell it to the reviewer, by not assuming their change deserves to get merged because of their seniority or authority, but by making the other person understand how any why it works. Especially so if the reviewer was their junior.

When describing the architecture, they made an effort to communicate it so clearly that it became trivial for others to spot flaws, and attack their ideas. They not only provided you with ammunition to shoot down their ideas, they handed you a loaded gun, safety off, and showed you exactly where to point it.

If I see that level of humility and self-introspection in a PR, I'm not worried, regardless of whether or not an LLM was involved.

But then there's people that created PRs with changes where the stack didn't even boot / compile, because of trivial errors. They already did that before, and now they've got LLMs. Those are the contributions I'm very worried about.

So unlike people in other threads here, I don't agree at all with "If the code works, does it matter how it was produced and presented?". For me, the meta / out-of-band information about a contribution is a massive signal, today more than ever.

EMM_386 3 hours ago||
This is getting really out of control at the moment and I'm not exactly sure what the best way to fix it is, but this is a very good post in terms of expressing the why this is not acceptable and why the burden if shifting on the wrong people.

Will humans take this to heart and actually do the right thing? Sadly, probably not.

One of the main issues is that pointing to your GitHub contributions and activity is now part of the hiring process. So people will continue to try to game the system by using LLMs to automate that whole process.

"I have contributed to X, Y, and Z projects" - when they actually have little to no understanding of those projects or exactly how their PR works. It was (somehow) accepted and that's that.

watty 2 hours ago||
I see the problem everyday and am just playing devil's advocate but it doesn't really do a good job explaining the "why".

They hint at Django being a different level of quality compared to other software, wanting to cultivate community, and go slowly.

It doesn't explain why LLM usage reduces quality or they can't have a strong community with LLM contributions.

The problem is that good developers using LLM is not a problem. They review the code, they implement best practices, they understand the problems and solutions. The problem is bad developers contributing - just as it always has been. The problem is that LLMs enable bad developers to contribute more - thus an influx of crap contributions.

japhyr 1 hour ago|||
The last section focuses on how to use LLMs to make contributions:

> Use an LLM to develop your comprehension.

I really like that, because it gets past the simpler version that we usually see, "You need to understand your PR." It's basically saying you need to understand the PR you're making, and the context of that PR within the wider project.

nyeah 1 hour ago|||
I think they explain "why" very clearly. They say the problem is people who don't understand their own contributions.
jpitz 2 hours ago|||
A decade or more of people copy-pasting rote solutions from StackOverflow only supports the notion that many people will forego comprehension to foster the illusion of competent productivity.

This ain't an AI problem, it's a people problem that's getting amplified by AI.

seanp2k2 2 hours ago|||
It was interesting the other day tracing the lineage of Aaron Swartz -> Library Genesis / Sci-Hub -> LLM vendors relying on that work to train their models and sell it back to us all with no royalties or accountability to the original authors of all this painstakingly researched, developed, and recorded human knowledge they’re making billions on.
nickphx 58 minutes ago||
they are not making billions.. they are burning billions.
aprdm 2 hours ago|||
That's true. Except that you can have Agents doing it 24/7 with no human input. The amount of repos/PRs is only limited by GPUs
japhyr 1 hour ago|||
> One of the main issues is that pointing to your GitHub contributions and activity is now part of the hiring process.

If I were hiring at this moment, I'd look at the ratio of accepted to rejected PRs from any potential candidate. As an open source maintainer, I look at the GitHub account that's opening a PR. If they've made a long string of identical PRs across a wide swath of unrelated repos, and most of those are being rejected, that's a strong indicator of slop.

Hopefully there will be a swing back towards quality contributions being the real signal, not just volume of contributions.

xpe 2 hours ago|||
> Will humans take this to heart and actually do the right thing? Sadly, probably not.

Don’t blame the people, blame the system.

Identifying the problem is just the first step. Building consensus and finding pragmatic solutions is hard. In my opinion, a lot of technical people struggle with the second sentence. So much of the ethos in our community is “I see a problem, and I can fix it on my own by building [X].” I think people are starting to realize this doesn’t scale. (Applying the scaling metaphor to people problems might itself be a blindspot.)

starkparker 1 hour ago||
You can blame both! The people are definitely not helping.
seanp2k2 2 hours ago||
Obviously the solution is better AI PR reviewers with more context for FOSS projects /s

And I’m 100% sure there are dozens of startups working on that exact problem right this second.

kanzure 4 hours ago||
I like the idea of donating money instead of tokens. I think django contributors are likely to know how to spend those tokens better than I might, as I am not a django core contributor.

Some projects ( https://news.ycombinator.com/item?id=46730504 ) are setting a norm to disclose AI usage. Another project simply decided to pause contributions from external parties ( https://news.ycombinator.com/item?id=46642012 ). Instead of accepting driveby pull requests, contributors have to show a proof of work by working with one of the other collaborators.

Another project has started to decline to let users directly open issues ( https://news.ycombinator.com/item?id=46460319 ).

There's definitely an aspect here where the commons or good will effort of collaborators is being infringed upon by external parties who are unintentionally attacking their time and attention with low quality submissions that are now cheaper than ever to generate. It may be necessary to move to a more private community model of collaboration ( https://gnusha.org/pi/bitcoindev/CABaSBax-meEsC2013zKYJnC3ph... ).

edit: Also I applaud the debian project for their recent decision to defer and think harder about the nature of this problem. https://news.ycombinator.com/item?id=47324087

loeber 3 hours ago|
Shameless plug: I wrote an essay a few weeks ago pushing this exact same thesis. https://essays.johnloeber.com/p/31-open-source-software-in-t...

Instead of people buying the tokens themselves, they should just donate the money to the core contributors and let those people decide how to spend on tokens.

6thbit 2 hours ago|||
I agree with the broarder thesis, although some people aren't buying more tokens for this and could just be using their existing plan's limits.

So people may be less likely to donate an extra amount beyond their "ai budget" to an OSS project for tokens. Large OSS projects are also likely to get free tokens from major providers anyway.

But I like the idea of crowdfunding specific features.

zenolove 3 hours ago|||
Or paying maintainers and contributors.
jrochkind1 2 hours ago||
"For a reviewer, it’s demoralizing to communicate with a facade of a human."

This is so important. Most humans like communicating with other humans. For many (note, I didn't say all) open source collaborators, this is part of the reward of collaborating on open source.

Making them communicate with a bot pretending to be a human instead removes the reward and makes it feel terrible, like the worst job nobody would want. If you spent any time at all actually trying to help the contributor underestand and develop their skills, you just feel like an idiot. It lowers the patience of everyone in the entire endeavor, ruining it for everyone.

zenolove 1 hour ago||
Already back in ye olde times, "let me google that for you" which I see so often posted on Reddit. Sometimes you just wanna exchange with a human, and absorb some of their wisdom, which is the whole point of asking a question. Not so different than wanting to shop at a butcher you can establish a relationship with, rather than a faceless supermarket meat counter.
nohren 2 hours ago|||
This is a similar hot issue in academia right now. The ability to generate content in papers via llm is much easier than the ability to thoughtfully review them. There are now two tracks, at least in ICML that I saw, one for AI submitted papers and one for non AI submitted papers. And it works the same respectively for reviewers. However even for AI submitted papers, you cannot have only AI review it. Of course it needs human analysis, but still its tricky what you are going to get. And they are reviewing whether anonymity can still stand or if tying your credibilty to the review process is now necessary.

As for open source PRs, I wonder if for trust's sake you would need to self identify the use of AI in your response (All AI, some AI, no AI). And there would need to be some sort of AI detection algorithm flag your response as % AI. I wonder if this would force people to at least translate the LLM responses to their own words. It would for sure stop the issue of someone's WhatsApp 24/7 claw bot cranking out PR slop. Maybe this can lessen the reviewers burden. That being said, more thought is needed to distinguish helpful LLM use that enhances the objective vs unhelpful slop that places burden on the reviewer.

For instance I copy pasted the above to gemini and it produced an excellent condensing of my thoughts, "It is now 10x easier to generate a "plausible" paper or Pull Request (PR) than it is to verify its correctness."

seanp2k2 2 hours ago||
It’s probably already too late to put these horses back in the barn, but having an “allow AI commits / PRs” would have probably been a good idea for GitHub to make available to projects. Even better might have been something like a robots.txt for repos with rules that could be auto-evaluated and PRs auto-rejected if they weren’t followed.

Then again, we see how well robots.txt was honored in practice over the years. As with everything in late-stage capitalism, the humans who showed up with good intentions to legitimately help typically did the right things, and those who came to extract every last gram of value out of something for their own gain ignored the rules with few consequences.

module1973 3 hours ago||
It's like every new innovation at this point is exacerbating the problem of us choosing short term rewards over long time horizon rewards. The incentive structure simply doesn't support people who want to view things from the bird's eye view. Once you see game theory, you really can't unsee it.
slopinthebag 3 hours ago||
This is what happens when governments around the world spend decades inflating the currency to pay for their bloated projects, devaluing peoples savings and paycheques and causing them to prioritise making money over anything else. You kinda gotta do it to survive.
seanp2k2 2 hours ago||
But at the moment it’s so exciting to see if we’re headed more for a Waterworld-esque dystopia or something more similar to Neuromancer / The Matrix. I guess it’ll depend on the rates at which the global economy collapses as a result of AI and WW3 vs climate change, exacerbated of course by the inevitable global thermonuclear war.
instig007 3 hours ago||
game theory doesn't expand into continuous rounds of interactions over the course of a lifetime where previous rounds' outcomes are either reset or persist based on other actors entering the game from the open world, so it really is an inferior framework for evaluating long-term strategies.
MidnightRider39 4 hours ago||
Great message but I wonder if the people who do everything via LLM would even care to read such a message. And at what point is it hard/impossible to judge whether something is entirely LLM or not? I sometimes struggle a lot with this being OSS maintainer myself
nohren 2 hours ago||
I wonder if checking for false statements or hallucinations is the first step to detect entirely LLM
doug_durham 3 hours ago||
"the people who do everything via LLM". That's a bit of a straw man characterization. I don't believe that there are many professional developers "do everything with an LLM'. I don't even know what that statement means.
csh0 3 hours ago|||
There may not be many, but these people do exist.

I watched someone ask Claude to replace all occurrences of a string instead of using a deterministic operation like “Find and Replace” available in the very same VSCode window they prompted Claude from.

notatallshaw 3 hours ago||||
On a widely used open source project I maintain I've been seeing PRs in the last month that are a little off (look okayish but are trivial or trying to solve problems in weird ways), and then when I look at their account they started opening PRs within the last few weeks, and have opened hundreds of PRs spread over hundreds of repositories.
chamomeal 1 hour ago||||
I know a few of them. Anything than can be done by an LLM, will done by an LLM. They practically worship Claude
zenolove 3 hours ago||||
They do exist; if "professional" means "hired" it has no bearing on quality, it is not in any shape equivalent to "judicious" nor "careful". If salary goes into "push features" that's gonna be the only incentive.
seattle_spring 39 minutes ago||||
If you follow any of the programming subs on Reddit, especially the AI-oriented ones, there are a lot of people that at least claim to not code at all anymore-- 100% of their contributions are from prompts.
HumbleBot 3 hours ago|||
[dead]
comboy 4 hours ago||
Perhaps we should start making LLM- open source projects (clearly marked as such). Created by LLMs, open for LLM contributions, with some clearly defined protocols I'd be interesting where it would go. I imagine it could start as a project with a simple instruction file to include in your project to try to find abstractions which can be useful to others as a library and look for specific kind of libraries. Some people want to help others even if they are sharing effectively money+time rather than their skill.

Although I'm afraid big part of these LLM contributions may be people trying to build their portfolio. Some known project contributor sounds better than having some LLM generated code under your name.

simonw 3 hours ago||
OpenClaw https://github.com/openclaw/openclaw is effectively that - 1,237 contributors, 19,999 commits and the first commit was only back in November.
bensyverson 3 hours ago||
Simon, as co-creator of Django, what's your take on this story?
simonw 3 hours ago||
I think this line says everything:

> If you do not understand the ticket, if you do not understand the solution, or if you do not understand the feedback on your PR, then your use of LLM is hurting Django as a whole.

bensyverson 3 hours ago|||
I love it. Sounds like good advice for submitting a PR to any project!
FEELmyAGI 2 hours ago|||
Why does it matter if the I understand the ticket and solution? THe LLLM writes the code not me. If you want to check the LLM understanding i'll be happy to copy and paste your gatekeeping questions to it.

Hey I thought you were a proponent of "no one needs to look at the code" ? dark factory, etc etc.

simonw 2 hours ago||
Just because I write about the dark factory stuff doesn't mean I'm a "proponent" of it. I think it's interesting and there's a lot we can learn from what they are trying, but I'm not yet convinced it's the right way to produce software.

The linked article makes a very good argument for why pasting the output of your LLM into a Django PR isn't valuable.

The simplest version: if that's all you are doing, why should the maintainers spend time considering your contribution as opposed to prompting the models themselves?

grey-area 3 hours ago|||
Please do, that would be amazing.

You'd have to manage the contributions, or get your AI bots to manage them or something, but it would be great to have honeypots like this to attract all the low effort LLM slop.

add-sub-mul-div 3 hours ago||
I like the idea that we could quarantine away LLM contributions like how Twitter quarantines the worst of social media away from Mastodon etc.
Cpoll 4 hours ago||
Moltbook meets GitHub? Sounds like a billion dollar valuation (sarcasm tag deliberately omitted).
thewebguyd 3 hours ago||
Actually, I'd want to see that. All the AI companies keep saying it will take our jobs, human developers won't be necessary.

Well let them put their money where their mouth is. Let's see what happens, see what the agents create or fail to create. See if we end up with a new OS, kernel all the way up to desktop environment.

comboy 2 hours ago|||
Me too, the problem is that it's hard to come up with tools that are needed but not made yet, and we don't want to end up with https://malus.sh/index.html
Fomite 39 minutes ago||
AI so often doesn't actually increase productivity - it just shifts the burden of work from the person creating to the person who has to check and evaluate that creation.

In this case, offloading yet more work onto the maintainers of the package, because you can't be bothered, but still want credit.

__mharrison__ 3 hours ago|
Curious what simon thinks about using an LLM to work on Django...

I've used an LLM to create patches for multiple projects. I would not have created said work without LLMs. I also reviewed the work afterward and provided tests to verify it.

cwillu 3 hours ago|
> This isn’t about whether you use an LLM, it’s about whether you still understand what’s being contributed. What I see now is people who are using LLMs to generate the code and write the PR description and handle the feedback from the PR review. It’s to the extent where I can’t tell if there’d be a difference if the reviewer had just used the LLM themselves. And that is a big problem.

[…]

> If you use an LLM to contribute to Django, it needs to be as a complementary tool, not as your vehicle.

More comments...