As a review, I want to highlight the constructive feedback:
- Overwhelming majority support some kind of tagging to identify AI projects and discussions
- A small portion have mentioned a preference for a “Not AI” tag, specifically for project promo posts to make it an active choice
- Too many tags would make it too complicated
- A tag for AI topics as well as a tag for AI projects would be helpful
- A variation of [AI] is preferred by folks who commented on tag naming
- A tag is not enough, how they used AI is important
- A tagged post should not have drive-by comments that don’t add to the conversation
For those who want “no AI ever”, that isn’t really possible. I’d recommend starting a new community, as so many critical pieces use AI in some capacity (linux, openssl, mariadb, curl, node, go, etc) that it would be a very different, hyper-specific community.
My recommendation based on what was said:
- Three tags:
- [CBH] - Code By Human - A promo post with a project that did not use AI in any capacity.
- [AIP] - AI Project - A promo post with a project that used AI in development in any capacity. Disclosure is required for how it was used.
- [AIT] - AI Topic - A discussion topic that includes AI. This is for items like “I want to customize a model to evaluate fish happiness based on CV captures” or “I’m having trouble configuring this MCP”
Posts that are not promotional and do not involve AI would not require a tag.
All promo posts would require a tag, making it an active decision to put [CBH] or [AIP], and would become kind of an extension of rule 7.
For [AIP], there would be a disclosure followup. I’m thinking something akin to the candor.md/ai-declaration.md approach, and this structure is based on that. The poster would need to identify which part of the process used AI:
- Design - architecture, system design
- Implementation - production code
- Testing - writing tests, test plans, and QA.
- Documentation - Docs, comments, readmes, changelogs
- Review - Code review and pull request feedback
- Deployment - CI/CD configuration.
And then the level (human only elements can be skipped):
- Hint - AI suggested solution, human does the task.
- Assisted - AI acts on part of a task, but a human handled the bulk.
- Pair - About a 50/50 split of human made and generated.
- Generated - a human prompted, the llm generated. (I see no substantial differentiation between Copilot and auto from ai-declaration.md for our use case, so I renamed to ‘generated’)
The requirement would be to call out only the parts which used AI, and the level of AI involvement for that process. So lets say there was an post tagged [AIP], and lets also assume there was a working automod to make this comment:
It looks like you’ve posted a project with the [AIP] tag.
Please reply to this comment with your AI Disclosure as described in the [AI RULES POST] (this will be a link), required for all [AIP] posts.
Identify which parts of the process involved AI (Design, Implementation, Testing, Documentation, Review, Deployment) and the level of AI involvement (hint, assist, pair, generated). See the [AI RULES POST] for details. Additional notes on use are welcomed if you’d like to provide them.
The [AI Rules Post] would contain the details above, just like the expanded rules post/explanations.
Failure to provide a disclosure after using the tag would mean removing the post. It could be locked, but I would have to assume the majority of the spam-type postings that happened to make it past the rule 7 criteria are the ones who will not provide the requested disclosure. I think it makes for a good filter this way, but please comment if you think otherwise.
In terms of timing, I’d say an hour should be more than enough time to provide a reply. If there isn’t one, then the post should be reported so it could be removed. Removals, as always, will be by a person, so they will be at some point after the hour limit.
I’ll likely make a crappy little bot in python to handle the tag check, check post_id to make sure it hasn’t already replied (this way if it gets edited in it will still comment) specifically for the [AIP] tag only. It won’t do a single thing otherwise. If you know of an existing (and good) bot for this, please share, or be subjected to the roughly 50 lines of code I wrote this morning. If I do use mine, I’ll put it up on codeberg so everyone can see exactly what its doing… and then get mad and tell me there is a better way.
Speaking of, I’ve made a repo for /c/selfhosted, currently with just the detailed rules post. I’ll put other information there later, such as the AI rules post, the comment bot (if applicable), etc. This will also go into the sidebar once I’ve had time to update the README and other details.
Please respond with your questions, comments, and criticisms
Those three tags for promo posts seems like a pretty good compromise, don’t really have any better suggestions for the exact acronyms or tag specific descriptions. I use LLMs for personal and work but I don’t post promotional material about any of it, I think most people using AI for personal side-projects aren’t making promo posts about it either, so already this won’t affect most people. The most vocal users in Lemmy selfhosted are going to downvote the hell out of anything that has an AGENTS.md or a single commit that smells AI-generated regardless of the tags, this will mostly speed up the dogpiling.
regardless of the tags, this will mostly speed up the dogpiling.
Yep.
But single word comments getting posted repeatedly can be removed, so while I don’t think the up/downvotes will change, I think the comment section will.
And maybe those folks who rush to downvote will realize they can just filter out the posts instead. We’ll see how that works out though.
You’re doing a good job herding cats @curbstickle@anarchist.nexus. I don’t envy you.
As a thought, if a repo is already using ai-declaration.md or a similar ai disclosure, I think posting a link to that declaration as the reply to the AIP comment should count as the declaration reply, since they are already providing that information.
Failure to provide a disclosure after using the tag would mean removing the post. It could be locked, but I would have to assume the majority of the spam-type postings that happened to make it past the rule 7 criteria are the ones who will not provide the requested disclosure. I think it makes for a good filter this way, but please comment if you think otherwise.
Sounds reasonable to me!
I think the major choice is for y’all (the mod team), as enforcing a tagging system is going to increase the moderation workload. Though I guess it would cut back on AI reports, like you said.
I have no recommendations for an existing bot.
…You could use an embeddings model for a little extra automation though.
This is a pre-LLM thing, but basically you could feed a script new untagged posts, use a embeddings model to compare the text of their bodies to a keyword (“AI”?), and spit out a number as a rough “similarity” metric. If it’s above a certain threshold (eg if the post seems AI related), send a message to the moderation team to check it, or maybe even post a rules reminder in the comments.
And FYI, embeddings models are tiny, so it doesn’t need special resources to run or anything.
Don’t think I need the model tbh, I’m generally on enough to address the untagged. The annoying part would be making the same comment over and over again (thus the short bit of python)
Christ.
When will the forward-planning sub-committee of the AI tagging steering group be meeting? I presume they’re going to need to submit a motion to the ways-and-means council sub-sub-committee first and then maybe we can expect a notice on the procedure to follow for interim planning permission to write a post? Will interim planning permission allow the post to be made (subject to the countersignature of the automated post approval bot) or should it be saved in Drafts and then a separate submission (noting the interim permission and any objections received in the consultation period) be made to the full plenary session of the zoning committee?
Or do we just say “fuck this shit” and find another group?
You are more than welcome to offer another option.
I’ll mention:
- No tag is generating reports
- No tag is causing a bunch of unhelpful comments
- No disclosure is generating reports
- Too basic of disclosure is generating reports
Please, feel free to provide an option.
I’ll point out that what you’re commenting on specifically applies to promo project posts, and nothing else.
Sounds like too many rules to me. I’d recommend a “no low effort ai” rule.
Also, AIT is regularly used to abbreviate AI Tool
I think anything over the “assisted” threshold in the OP is low effort and should be dumped.
The only ones with extra effort will be promo posts, and this disclosure is regularly requested of them anyway.
You’d also need to define “low effort ai”.
I don’t see that working, sorry.
Asking people to tag AI, and also have a few different AI tags, and also read more than 3 sentences…mods are going to be busy enforcing the rules.
That would be me, yes. And considering what I already get reports on, this makes for clear practice and would overall reduce the issues that are currently out there.
Normally I’d agree, but the tagging rule won’t affect the majority of posts. I think it’s an acceptable complication, in this case.
Especially with how much vibecoded spam is in the horizon.
Vibecoded spam is deliberately engineered to look “high effort,” so even with the vagueness of such a rule, it wouldn’t cover the spam so well.
How would the proposed rules help? Isnt spam already covered regardless of AI?
Because, with a cursory glance, it doesn’t always look like spam.
A classic example I see starts with “I built a…” in the title, has a wall of text in the description, and actually promises to do something interesting. Only upon deeply inspecting the code (or trying it yourself)… it becomes clear it’s hallucinated nonsense.
And it’s not always malicious, either. A lot of devs get deep in AI psychosis and truly believe they’ve building something revolutionary with their vibe coding agent.
And sometimes these projects are interesting!
Hence it would be EXTREMELY helpful to have this tagged, up front. To me, an [AIP] is gigantic red flag to warrant extra caution, but not necessarily a smoking gun, and would help “regular” homebuilt projects stand out from the vibecoded ones.
And [AIT] is just nice to have. Some users don’t want to see any AI in /c/selfhosted, period. Hence AI discussion posts get reported as spam because people interpret it as spam, and this would clarify that nebulous distinction, while giving those users a way to easily filter AI posts out.
I wish the mods best of luck with implementing and enforcing this.
AI generally doesn’t need a lot of special handling when it comes to policies. It’s like any other tool, it’s just made it a lot easier for people that don’t know how to code get something made.
If anything, it might be easier for people to tag their level of experience.
Maybe, but even experienced devs seem to want to fall into the trap of thinking their expertise will mean they can skim review AI code and spot it’s mistakes rather than taking the time to properly review and understand the code. Low effort is low 3ffort regardless of your expertise.
Vibecoded self promo is a growing, specific spam problem though.
And a appreciable fraction of Lemmy/Piefed is “anti AI absolutist.”
I think that’s pretty unique.
Woah …
This is overly complex.
As a dev that sometimes published something, and I don’t vibe code butnl who doesn’t use AI nowadays? That is way too much complex. And zero projects today don’t use AI in any forms blnot even to search or bugfix …
Then this must come as a surprise to you, but I do not use “AI” whatsoever. Not for coding, not for fixing bugs, and not for coming up with concepts. Crazy right?
Not at all …
You are free to do as you please, and I fully respect that.
I was also a no AI coder, but somehow changed my mind slowly as I learned how to use PROPERLY the tool, which can be quite useful.
Learning how to use it has been fun too, so I suggest you give it a try if you haven’t done so yet.
The first risk is abusing it. The second risk is trusting it. And there are many more risks, but AI is a knife and not a pistol: there are good uses for it, but you must be careful and use it properly all the time.
Disclosure itself is a need, and I can confidently say there are enough people who are “no ai ever”, “all ai all the time”, and “only the AI use I agree with” to make something needed.
About the only way to simplify would be to not define the disclosure types, just to disclose it, but then half the post will be discussing where and how if its not defined (along with a bunch of reports about not fully disclosing AI use).
If promo posts included that up front, I don’t think it would be an issue, but its rare that any post includes even “I used/didn’t use AI”, if that.
Disclosure is needed, I agree.
Let’s say it feels complex, and the tags will not avoid the discussion in the comments anyway … but it’s a start so good for it
I’d love an idea to trim it down… but with the wide varieties of ways AI can be used, its hard.
I’m a good example of the “problem” person in a way. I’ll test all kinds of things (including a completely, 100% vibe coded app posted here recently… in a sectioned off vlan of course), but what AI was used for influences where I look. Documentation? Ok, not the worst, but I’m going to check for human review/blatant llm goofs. You used it to figure out how to talk to a serial controlled endpoint? Ok, thats what needs to be checked first.
You made the whole ass thing with Claude? I’ll test it like I said, but I doubt it would ever end up anywhere near my own production use, its more as a curiosity. 99/100 that level of generated is basically the same as calling it unmaintained imo.
So there is definite value to knowing where/how/how much, and if the comments consist of things already stated and just add “slop”, thats going to get deleted, its already disclosed, the people who comment that should filter instead. Its a two way benefit this way as I see it.
That said - I’m always open to options here, but considering recent comments and reports since I’ve taken over moderating, something is definitely needed.
Edit: And just to mention - nothing is ever set in stone, if you’ve not seen my other comments about it. Should anything change, or it becomes unwieldy, or someone finds a workaround to abuse, whatever - its always open for discussion.





