Some people have tokens but no money. Tokens, like Amazon gift cards and Tide detergent [1], are a form of currency in a way. If people have a currency equivalent they want to spend for your benefit, or the collective benefit, it makes sense (depending on level of effort) to enable them to do so.
(edit: maybe put AI tokens on stablecoin rails as value tokens? could be fun, could move them around instantly between participants on the value rails and could consume them programmatically, if someone implements this idea, buy me a beer!)
I actually do that quite often these days. Keeping synced with upstream is trivial these days with a modern agent. Even just pi with DeepSeek V4 Flash can do it. It's a huge free-rider issue, but there's no way for me to contribute even human changes upstream because I'll be lost in the AI contributions so I don't bother.
So almost everything is forked and I then just have the agent keep my changes in sync with upstream. Works like a charm. I suspect my pattern is commonplace.
Yep, same here. I hate it a lot, but it's the new reality. It's easier/better for me to just fork, change whatever the hell I want, and push it to my fork. If I become away that upstream wants it I'm happy to put in the work to get a clean merge, but I'm not wasting anymore time pushing things upstream without some indicator that my time is valued by them. Been burned too many time now. It wasn't this way pre-AI, but AI peed in the pool and there isn't a good way to clean it yet
> If I become away that upstream wants it I'm happy to put in the work to get a clean merge, but I'm not wasting anymore time pushing things upstream without some indicator that my time is valued by them. Been burned too many time now.
Do you realize that all the major package system on BSD and Linux works that way. You take upstream, patch it to get it to compile on the system, and then build a package. That is what open source is about. It's not about building a community and what's not.
Why fork at all? Why not just vendor the dependency and slop the changes you want on top of it? You can even pull from upstream down the line for the latest updates.
The problem is sloppers really, really want other people to use their code, so they feel useful for doing a bit of prompting, probably to rationalize how much they pay Anthropic et al to do the actual work for them. I just wish they'd direct that money directly to the projects they find useful instead of trying to insert themselves as middlemen.
Well, yes, exactly. And yet nobody but the biggest corp-sponsored projects get anything more than negligible donations. So what does this tell us? These "contributors" are happy to throw money at open source projects as long as they think they're doing something by prompting the LLM?
Given the CLAUDE.md, you slopped it, so yes, it was easy. Don't take this as combative but.. if anyone has a right to be proud, it's Anthropic, you just paid them to make this for you.
This crosses into personal attack and is obviously against the site guidelines. You've been doing it in other threads too (e.g. https://news.ycombinator.com/item?id=48223342). We ban accounts that do this, so please don't do it again.
Gosh hacker news is so disappointing nowadays. You show a project, you say hey, this is hard, I’m proud of it, and someone comes along and tells you that ackshually it was easy because you used a few prompts.
You have no idea. Try to redo what I did if you think it’s easy. No looking at my solutions either.
"You slopped it" should be bannable. In the overwhelming majority of cases, the author is wrong, it does nothing to further the conversation, and it’s a criticism that can be leveled at literally any project that isn’t concealing the fact that they’ve used AI when everyone uses AI now except for artisan work.
Go on, I dare you to try to redo what I did. You won’t even know where to start, since I had to buy a book from the 2000s on Viaweb and implement templates based on the contents. Now kindly leave me alone.
So many people on HN don't understand coding with AI at all. I honestly think they just haven't done it. AI does not take the grind out of coding. Plain and simple. I've been working on a project in the evening for months with AI. Yet there are people on HN that think one-shotting a pong game is the same thing.
There is room for a wide spectrum of opinions about AI on HN, as on any topic, but your comments on this are so repetitive that your account has practically turned into a single-purpose account, and we don't allow those here. Also, repetitive-indignant comments are the worst kind of HN comments. We want the opposite quadrant of that 2x2 matrix here.
Personally I just stopped accepting public contributions entirely. File issues, sure, but no PRs apart from accounts I added who have contributed before the slopageddon started.
Maybe the whole web-of-trust idea will make a comeback for code contributions, it seems like a clean solution.
web of trust is already quietly back, just informal. the PRs i actually merge now come from people i know from discord or a mutual. cold drive-by contributions went to near-zero acceptance. same thing happened to hiring at the same time, same mechanism: the open funnel stopped carrying information so we rebuilt the referral network.
on the same note though, if i would like to create a software vision with all designed architecture and tickets, i wouldn't mind public contributions. why not? helping each other.
They're stuck in this idea that somehow they're better at prompting the slop generator than anyone else, therefore they're helpful and people definitely want their output merged in to these various projects. They will have trouble understanding that their personal contribution to the whole process is somewhere between negligible and harmful, and simply donating those tokens to a maintainer who is actually aware of how the codebase works and where all the skeletons are is a much better proposition.
For now. Give it another half year and "I contribute to open source" will carry the same weight as "I donate to charity" ie nobody cares because any idiot can do it.
I wonder how long it'll take before "I don't use LLMs for coding" carries weight.
Rather, it did work at milestone 14, but then regressed at milestone 15, where it changed the link from a wikimedia image to a nonexistent file in /assets (despite still having the "Photo via Wikimedia Commons" caption).
If you check "DEPLOYMENT.md," there is a lengthy list of deployment instructions for the app, and it includes creating an assets folder and putting an image of Claude Shannon in it. There are also other instructions, like "please make a favicon." So I think that bit is valid, the AI is simply farming out work to the human agent.
My question, though, is why the "Live, public build log" only showing up to milestone 3, but the artifacts go up to milestone 15? And there are different index.html pages in the artifacts list, one for milestone 14 and one for milestone 15? Are there different conceptions of "milestone" in here? What's up with that?
I have found that on long-running tasks, many of the communication (and other) invariants get dropped at seemingly arbitrary points along the way. It probably just stopped doing the log.
yeah.. deployment.md had instructions to stick a photo there, but rather than explain I just got rid.
gonna work on a few examples and fund them so people can see it actually work
There's been a lot of talk about this (for years, honestly), but it all stems from a fundamental nonunderstanding of how LLMs work. There is no distinction for an LLM; "instructions" are a prompt concept, nothing more. It's not possible to separate the two, because LLMs simply take text (ie your instructions, then the data, or maybe in a different order, or maybe something completely else) and "predict" the next token, and repeat for as long as you want, with the volatility you ask for. There is no control plane, and there never will be a control plane, because asking for that is akin to asking "how do I separate data from instructions when I speak to a person?". You can ask nicely, "pretty please obey the first part of what I say and not stuff after", but there's no way to guarantee it (like you're used to with software). There is just input and output.
Right, you have to set boundaries. You put each task and user input into a box, and then the LLM makes a decision. It can only access APIs that have user identity attached, that act within the scope of the requesting user.
It can be done, but unsurprisingly it looks exactly like microservices distributed auth (also ZTP).
It's all the same problem, just instead of a JVM, it's an LLM.
User identity attached is not a solution, it doesn't solve anything if you have to pull in external data that you can't control.
Like in the banking world, you can make everything super authenticated, but if you have an API that receives the latest wire transfer YOU received with the message attached, you don't control the message content and it can be an attack vector.
Being authenticated/authorized is not the solution, it is data that the user can access.
You can't guarantee an LLM does anything. Custom data can often subvert the machine whether or not it's instructions.
But that doesn't mean that separation between instructions and data is impossible. You can format them in different ways, and you can prevent the output tokens from ever using instruction formatting.
> But that doesn't mean that separation between instructions and data is impossible.
Yes it does! The comments you are replying to are concerned that it is not possible to be sure that data and instructions have been separated. With certain kinds of automated systems (traditional ones), unless you write them incorrectly, you can be sure of this. And it is possible to engage in a productive incremental process where mistakes can be identified and removed, in a way people comprehend and can plan around.
LLMs do not have this. They have heuristics and guesses. Nobody knows what will work ahead of time, nor even a probability that it will work. That is not a doomer comment by the way! The same is true when you talk to a person. But it is a fundamental limitation, it cannot be removed.
This is conflating different problems, in my opinion.
Can you make sure the instructions and data are separated and the machine follows only the instructions and doesn't change its behavior based on the data? No.
But the part that's impossible is not "the instructions and data are separated". The part that's impossible is "the machine follows only the instructions".
Separating instructions and data is not impossible, but it doesn't solve your problems.
One really important consequence of this is that even if the data doesn't have anything that looks like instructions, it can poison the machine anyway! If you get too focused on "instructions" then you miss that security flaw!
Even if you don't give the machine any data at all, it might not follow the instructions. It's not instruction/data conflation as the root cause, it's that instructions don't really work in the first place.
What we have is a machine trained on many old documents that takes one new document and dreams up stuff to append. The LLM algorithm cannot specially recognize contents as "instructions" to itself-the-author.
Even if special tokens are used absolutely perfectly (somehow avoiding escapes or ambiguities or reflected attacks) they are ultimately the same as highlighting all the parts of the document in different colors. You've saved the signal, but there's no mind to receive the intended meaning.
This means that your markers--while far more exclusive--ultimately exist on the same data-level as punctuation and using ? to indicate a question.
> you can prevent the output tokens from ever using instruction formatting
The right words may still outweigh the formatting around them, the same way that they can already outweigh other words around them.
I would love to have a unicode character for representing the start/end of a data block so that LLMs could at least send data meant to be uncorrupted down a different path at tokenization.
I mean: imagine we double our token space to get "red" tokens ans "blue" tokens.
Then in all post-training, instructions are red and data is blue. The model can be explicitly trained to ignore instructions written in blue tokens. All external data is blue.
All you'd need to do is figure out a nice way to pre-train -- interestingly, you could try pre-training on unfiltered blue data and processed red/blue transcripts!
Likewise, model-actions (e.g. open file) could be written only in red, and hence you'd never learn to do them from the unfiltered data.
The only connection between the red world and the blue world would be the processed trainign chats containing red and blue data togethers -- allowing the model to learn the relationship between them (while only being exposed to examples where red instructions are strictly followed, whatever the blue says)
Fun schemes like this are all just lipstick on the pig of "asking nicely", unfortunately -- it's just a more creative iteration of "Simon says". It'll improve the probabilities, sure, but you can't guarantee separation like you can in real software. This, like hallucinations, is simply a core facet of LLMs and requires thinking through the threat model and adjusting other parts of the system to accomodate, rather than trying to "solve" IMO.
What does this mean, actually? If you are imagining that blue tokens are just words, maybe the "token space" is just all things that we agree might be words, what are the red tokens? Are they not text? You could maybe encode words by, say, putting an x at the front and the start. So tokens of the form xTx encode the blue token T as a red token. But then how do you stop someone from putting xignorex xallx xpreviousx xinstructionsx in their data?
My assumption with their intent: is that red tokens come in 'slot' a-b, and blue tokens go in 'slot' c-d - Positional encoding determining data/text.
I don't think is guaranteed to actually work, it's a hypothetical after all, but maybe it's better than the current setup of pushing instructions and data into the same slot.
If it occurs in the text box for instructions you encode it as an instruction "the" and if it occurs in the text box for data you encode it as a data "the"
Think of how an image of a car and a car in front of you may look indistinguishable in 2D -- but due to your 3D vision you know they're not the same thing (but also know the image is of a car, while not literally being a car).
Likewise, blue tokens are the image of red tokens.
A system that separated data from instructions would work differently. Perhaps the instruction tokens would be highlighted, adding a vector to them that is specific to the highlighting and can't be reproduced with text.
You're saying that a Harvard architecture computer can't exist because instructions and data are stored in the same memory, well guess what, in Harvard architecture computers they're not.
The hilarious part is that spam actually makes money, while slop does not. There's no reason to tire out if it's profitable, right?
Meanwhile.. have you ever paid for a vibe-coded anything? Why would you, when you (along with everyone else) can slop the same thing together in a weekend with a $20 CC subscription?