Hacker News new | ask | show | jobs
by ThePhysicist 28 days ago
Interesting that on one hand the valuation of these AI providers is based on the assumption that all code (and everything else producing digital artefacts) will be written using AI in the near future, on the other hand almost all popular open source projects fight to keep AI contributions out. Hard to reconcile.

Personally I'm also experiencing a bit of AI hangover after using it a lot in my own open-source projects. I find it's a bit like taking drugs (not that I have much experience with that) in the sense that in the moment I'm using these tools I feel great and powerful, writing features in a span of hours that would've taken me weeks to write by hand. But inevitably some time later I will look at the code and notice all the subtle cracks and inconsistencies the tool introduced, and despair a bit at the mess.

I now plan to use these tools less for extensive feature development and more for planning, debugging and narrow refactoring where I can put very strict guardrails on them. I'd still say it accelerates my work but not by a factor of 10, more like 1.5-3 (which is still a lot) given the care you need to ensure what is being built is actually good. For what I really like these tools is that I need less mental focus to do coding, but on the other hand I have this new kind of fatigue of being in a constant chat loop with a machine and trying to get it to do stuff based on natural language, never knowing how it will interpret what I write and wrote before. In that sense, these tools don't feel satisfying, it's like operating a machine where you try to push some buttons to get it to do something but the internal wiring changes all the time so you never know exactly what a given button combination will do and you have to figure it out by watching the machine and constantly adapting.

11 comments

The key problem is that traditionally, OSS contributions were self-selecting. Basically, to create a PR, you had to be invested in the project. To create a contribution of value, you had to understand the codebase, the conventions, engage a little with the project, and generally the folks doing it are doing so because they like the project, or because they are scratching a specific itch they have etc.

What AI unlocks is contributions from folks who are not at all involved in the project, and creating a PR is no longer enough to clear the gate of “this person is at least somewhat interested in the success of the project”.

AI is a force multiplier when wielded properly, but as an OSS maintainer, it’s easy to drown in prolific, low value “contributions” from folks who don’t care about the project.

Exactly. People rediscover that gatekeeping and barriers-to-entry had positive aspects to them.
I think drugs are actually a great analogy. An initial feeling of "oh my god I have superhuman capabilities" followed by a hangover of "ohno I have created a mess". Especially with AI sycophancy where it's like "Great idea!" all the time. (I am well aware most my ideas are not great, thanks). Honestly, even the way people talk about like vibe coding on their phones while they're with their kids or something, it almost sounds like a compulsion.
> An initial feeling of "oh my god I have superhuman capabilities" followed by a hangover of "ohno I have created a mess".

Continuing the analogy: if this happens, then you are using the wrong drugs or you are using the drugs wrong. It's not like there's an axiom "you can't enhance your performance without detrimental side-effects."

Yes. It is not true that anything that makes our lives better or work easier is bad. In fact that's the story of all progress - making peoples lives better and work easier.
What about "what goes up, must come down"?
...unless it goes hyperbolic.
Maybe we just need stronger drugs!
> the moment I'm using these tools I feel great and powerful, writing features in a span of hours that would've taken me weeks to write by hand. But inevitably some time later I will look at the code and notice all the subtle cracks and inconsistencies the tool introduced, and despair a bit at the mess.

Very relatable. I wasted 2 weeks of full time effort earlier this year building a helper library with Sonnet. It was the first (and the last) time I vibe coded something. Once I was satisfied with it, I began using the library and within 2 days I was certain it was all for nothing. I will never get those 2 weeks back, but a lesson has been learnt.

Totally! The feeling of using AI to create something not fully productive is similar to the "just one more turn..." effect when playing a Civilization game. Even when you realize it's a waste, it's hard to stop, because the next dopamine hit is just around the corner.
They have much in common with slot machines, yes. It's no accident, many of the lessons from exploitative mobile games are being reused in LLM UIs. Rename "tokens" to "gems" and the situation looks very familiar.
Moving fast was a huge moat for a long time, but now moving fast is easy. Quality might be the new moat.

Important to note that fast never meant much to open source and for good reason.

> Moving fast was a huge moat for a long time

It was never a moat.

Moving fast and getting to the right destination is a huge moat. AI changes nothing here.

The modern software development ethos is based around the idea that you don't know to what destination you're ultimately going.

If you missed your destination, the solution isn't to think deeply about where you're supposed to go, it's to drive faster towards the next goal, so that if you make a mistake, it's not that big of a deal.

The slow moving projects didn't have some magic knowledge about where to go, they made the same mistakes but at a slower pace.

But all of this relied on the fact that code went through the brains of a human and said humans intelligence gets updated from the feedback, so that the developer builds a theory/model of what the software is really meant to look like in the end.

With AI, there is no such model. A context window is more like a tape or a film. The human is still responsible for building that mental model.

I've very much come around to this perspective as well

Our current generation of AI tools still seems to be very much not there when you really try and use it's output

There's a problematic dopamine dynamic as well where it's far too easy to reach for an AI when doing some work or starting a new project

I'm currently trying to dopamine hack my brain back to preferring to handwriting the majority of my code as opposed to reaching for claude

Time will tell if this is just a phase and it will get better or we'll need some sort of LLMs-anonymous

> Interesting that on one hand the valuation of these AI providers is based on the assumption that all code (and everything else producing digital artefacts) will be written using AI in the near future, on the other hand almost all popular open source projects fight to keep AI contributions out. Hard to reconcile.

Oh, it's not hard to reconcile at all.

On one side, you have people trying to sell you a product claiming that the product is the most amazing, indispensable thing ever.

On the other, you have the people dealing with the product's actual use evaluating it and finding it wanting.

The only reason this even looks hard to reconcile is because the people trying to sell you the product have been given more money than God (partly by people who think the product will become God).

Ignore the hype. Pay attention to the actual results.

  the assumption that all code (and everything else producing digital artefacts) will be written using AI in the near future,
This is what AI providers wanted you to believe in because they have a couple of shovels to sell to you. Once you realize that the assumption is delusional, it's no longer hard to reconcile.
There's this crazy narrative that everyone starts parroting, saying the days of writing code yourself are over, now we have to use agents for everything.

No, we don't have to. We can just write code ourselves.

(My condolences to people who have jobs where AI is mandated.)

I'm in that boat - my current employer recently announced that they are tracking AI usage across the company and if you're not using enough AI you will be "replaced by someone who does".
Your employee is very late on this one. Other companies have tried that and have already been burned by people tokenmaxxing.
This seems like an awesome opportunity to sneak in some work on side projects to keep your token counts looking good.
It's only crazy if your goal isn't maximizing token purchases.
> in the moment I'm using these tools I feel great and powerful, writing features in a span of hours that would've taken me weeks to write by hand. But inevitably some time later I will look at the code and notice all the subtle cracks and inconsistencies the tool introduced, and despair a bit at the mess.

My suggestion would be that instead of sometime later, review incrementally as part of your process. Treat AI as just the tool for writing, just as if you handed it off to a junior. Replace "junior" with "AI" in the SDLC and keep everything else the same.

> almost all popular open source projects fight to keep AI contributions out

Godot, Zig, who else? Most major OSS projects I know are openly welcoming high quality AI contributions, not fighting to keep them out.

Yes. Godot and Zig are the exceptions, and therefore newsworthy.
I don't think it's that hard to reconcile. The tools are being massively oversold and we are in a bubble. I think things will settle down to a reasonable middle ground in ~2 years as the checks being written right now start coming due and we are forced to figure out what they actually are and aren't good at. Infinite money distorts markets, it's currently not a good time to be judging these things for the long term perspective.
I have recently updated zed to the latest version which has parallel agents and all the other brainrot.

I gave it an innocuous 2 sentence prompt, telling it to help me implement it, by building X first.

It produced code, and it was a big wall of code, which I expected. What I didn't expect is that the zed developers completely threw out the accept/reject workflow since Codex is no longer directly integrated into zed anymore.

Instead of the agent patiently waiting for my acceptance, it just kept going, it automatically ran cargo test, kept iterating like a dozen times, running cargo test and editing the code. Since I was in the middle of a big refactor, I kept a dozen compile errors as a reminder. It tried to "fix" these compile errors.

Then it proceeded to keep going even further and use the code to finish a file that was supposed to use the new code in the future.

The end result is as expected: It produced completely unusable garbage code that no sane person would sign off on and not just that, it used this garbage code and kept going with it, building more garbage on top of a garbage foundation. It also silenced the errors by producing more garbage code.

I'm the type of person that thinks the "accept always" button for specific commands is the dumbest idea ever [0], but they went one step further and basically made the agentic coding experience so bad it became unusable overnight. At this point I'd rather abandon agentic coding and go back to copy paste development with a chat interface.

[0] it's either accept or reject, everything else is stupid