ai-skeptics 2026-06-08

No, I’m not a fan of any type of weapons.

I think that β€œAI skeptic” is almost a nonsense phrase, since skepticism requires some kind of assertion to doubt. It’s easier to be skeptical the more specific the claims are.

Semi-unrelated, but interesting. Claims that gen-z is the first generation in modern history to underperform on cognitive tasks relative to their parents. https://www.youtube.com/watch?v=Fd-_VDYit3U

πŸ’” 4

According to the person, they have solid data from at least the 60s that show the same problem concerning tech and learning. That being said, I’m sure other factors are not unimportant.

I doubt this is AI since gen-z is much older than 2022

It's more likely "consumerist screen time"

Agreed, which is why it’s tangentially related. The point from an AI PoV is, if you believe Horvath, AI won’t help.

I certainly believe AI won't help

Sure, but it’s not unreasonable to believe that it might help, unless you have a good reason to think otherwise, which he has.

you can use AI to improve your cognitive tasks, you mean?

Depends on what you mean by β€œimprove cognitive tasks”. If I’m bad at cognitive tasks, and the LLM is better at them, then yeah, delegating to the LLM would improve the results of those tasks. But it wouldn’t make me better at them.

One thing I'm thinking about. When learning a foreign language, you can use an LLM to make exercises for yourself, etc.

but probably a minority of people use it like this regularly

Right. But it’s also inefficient compared to learning by immersion or by speaking with natives of that language. OTOH, it’s accessible.

Incentives are misplaced. We have to do something about that. We're now rewarding shock content, pranks, looks, or anything idiotic, more than anything else. Financially and reputationally, you can do better by being an idiot on camera than a PHD. 57% of Gen-Z report they'd want to be an influencer. People go where rewards take them. Being logical, reasonable, talented, caring, doesn't get any views or engagement and doesn't lead to financial or reputational success. Cognitive aptitude doesn't matter anymore. Even in business, influence matters more, you don't need to show any fundamentals, just have a fan base.

It's telling that other discord/slack server I've ended up on has done the opposite, an AI containment channel. Disappointing to see this be the direction of Clojurians.

πŸ’― 4
πŸ™ 1
πŸ™πŸ» 1

How does that work? Any project which uses AI needs to announce in that channel instead of the regular one?

I would have much preferred that!

πŸ’― 2

Simple all discussion around AI ends up in that channel. It drowns out the hype, and gives you a place to drink from the AI fire hydrant if you want/choose. Also keeps AI bashing in one place, so it works for everyone.

It end up being a great resource if you care about agentic stuff, but lets the rest of the server stay human.

OK, but we have #C068E9L5M2Q and now this channel. Aren’t these exactly that?

Or, is intended to be, at least.

No, this channel regardless of the description will drown out any doubt/concern/ethics/dangers regarding AI in the public channels.

Before, if someone posted slop, another user could make that obvious with a comment. Now they can't

OK, I don’t think that’s true, but a mod would have to weigh in. If people are filling up the regular channels with crap, mods tend to get annoyed, and I don’t think they care if it’s AI or organic crap.

I think this channel exists as an attempt to handle the following: β€’ β€œI made a Clojure in Rust! I used LLMs quite a bit” β€’ β€œOK, but have you considered that LLMs will doom us all?”

It's about trust and not wasting time. There's been a surge in vibeslop projects/articles.

If you care about signal to noise this matters.

The person wanted to talk about the Clojure in Rust, on its own terms. Any metaconvo about AI writ large is arguably off-topic. That being said, I’m not sure this channel is a good idea.

I'm not saying dogpiling is good (that's another reason to push all the AI chat to one channel).

We’ve had, and I have participated in, some lib announcements which have run into the hundreds of comments about the state of AI, coding, morality, pragmaticism, etc. etc. I get both points: it doesn’t belong there exactly, and yet it’s not a bad thing to discuss as such.

Those libs should be posted in an AI-enhanced channel then.

The mistakes LLMs make are subtle and nothing like humans.

So it requires a completely different mindset to audit.

Alright, so #C06MAR553-ai and #C015AL9QYH1-ai

πŸ‘ 1

Exactly, ethics issues/non-issues aside, it lets people select for the type of content they are reading/consuming.

LLMs can be great for some things, and can definitely make prototypes like clojure in rust achievable in a short time frame. But, it's a whole other thing than someone building that by hand over a longer period.

It has a different class of failure modes, it's generally going to be a lot more code etc etc. It will have more features, and be less constrained.

It's fundamentally a different way of working because it removes fundamental constraints (time, effort, code length etc) that lead to different outcomes.

@andersmurphy I don't really see it as a direction but I might be wrong. IMO this channel is a first iteration and an announcement-ai could be complementary to this one. I guess you could make a case for it in community-development My main concern when starting the discussion in community-development that resulted in this channel, was that I was perceiving conflicts/frustration in the announcement channel. Personally I found that more disturbing than seeing the AI slop. But I get your point and some filtering via channel names of LLM posts/vs non-LLM posts could be helpful, as I'm now manually checking the source code for Claude.md files, and sometimes these files are not even committed.

Yeah, from a moderator perspective it's very much about having a safe space to talk about LLM/AI (avoid dogpiling) and generally the easiest way to do that is keep then LLM/AI chat in a few specific places. But, also not having it monopolise every single conversation in every other channel (which hype waves tend to do, regardless of whether they are valuable or not). Why do it this way round? Generally, there's asymmetry. AI/LLM tools let you generate a lot of stuff very fast (comments, projects, posts, slack messages etc), combine that with being a massive hype cycle means everything else just gets drowned out.

(from a moderator perspective)

I was very disappointed after reading the announcement last week. I tried responding to the thread, which isn't possible, and originally didn't want to join this channel, because I didn't want to participate, and ended up sending Sean some feedback along the same lines instead. (My FOMO pulled me in here just a day later πŸ˜‚)

🧠 1

I think @andersmurphy has made some excellent points to why, as did @plexus and @raymcdermott in the thread just above here, so I don't have much to add. But the increasing amounts of AI content in various channels is eroding the trust, and cooling my enthusiasm for participating.

πŸ’― 5
☝️ 4
1

I mean we could create #announcements-for-humans etc, but why concede a community built over a decade to the LLM hype?

πŸ’― 3
☝️ 2
1

yes, 100% agreed... I am sure we already lost a bunch of good people who lost interest in participating here. Signal to noise ratio is dropping precipitously. Like I said in #C0353589RFC, you either pick a side, or you side with the AI boosters and push everyone else out. Since the admins don't want to pick a side, maybe it's worth trying to aim for a middle ground with specific spaces, guidelines, disclosure and transparency, but given how defensive people get just for asking for disclosure, I have my doubts about how realistic that path really is.

❀️ 3

AI is literally killing the community.

😒 2

Is disclosure in README enough or should it be appended to each message related to a project using AI?

ah apologies, I'll move the message, but I actually have something to say on the topic

I saw a vibrant programming community die recently. They were under strong impression that AI is killing the community because it takes joy out of hobby programming so the mod team banned any and all discussion AI-adjacent discussion and projects that have even one line written by an LLM. This rule was also applied to a long running handwritten projects previously celebrated by the same community, as people started combing through commits looking for evidence. All of this created a kind of atmosphere that took the community's focus from discussing cool hacks and showing fun experiments to testing and proving purity. Right now it's maybe 10 people whose main subject is dislike for slop. And the kicker is that it's not the AI that killed the community, it's how it was handled.

so you think that of the 147 folks here (a minor subset of the server) the vast majority are fine with AI and only joined this channel to echo your points?

I didn't say any of this. I gave an account of what happened to another community. I invite you to judge it for yourself. @raymcdermott

> Right now it's maybe 10 people whose main subject is dislike for slop.

yeah, that is what's left of that particular community: 1. they banned discussion about AI and projects polluted by it 2. they enforced it strictly 3. majority of the community, regardless of their stance on the subject, felt unwelcome 4. the community has been effectively purified 5. it did a 180 degree turn into obsessing about slop and discussing it daily

No one is suggesting that kind of approach here @xnooga . Not even close. So it's hard to read this as anything else but concern trolling

I see. I'll take your point @plexus and leave this space concern-troll-free.

Sorry maybe that's a bit harsh, point is the general vibe from the mods here seems to be quite friendly towards AI, and more concerned with people using AI getting abuse. And that's fair, people shouldn't get abuse for this. But I do think it's helpful to channel and moderate things so it doesn't overwhelm. That's what people are asking for.

So I think the risk of this turning into a dead space where people have their agents read other LLM generated announcements is bigger than the risk of a suffocating anti AI witch hunt

❀️ 1

I agree in general, I was not trying to dismiss these concerns

I'd say the Admin team here overall is split about 50/50 between skeptics and... fans? and there's definitely a spectrum of pro- to anti- sentiment there. As nooga indicates, if you start trying to completely shutdown some projects and some discussions, you end up with two problems: 1) constant battles about whether a project/discussion is on one side of the line or the other 2) a general feeling of oppression -- can I post this question? can I post about my project? can I ask for help with this? As I've noted in other threads, "most" of the (pro-)AI-related discussion here already happens in side channels. Yes, we are seeing more project announcements/releases that are AI-driven to some degree (again, a spectrum), but per the community etiquette, this is a space for people who make things and for technical discussions. We've always tried to accommodate opinion-based discussions as well, but those should be kept in opinion-based channels. And, yes, we are all going to need to be a bit more proactive about steering conversations to appropriate channels until we figure out a balance in these turbulent times.

πŸ’― 1
❀️ 3

Well, Lisp came straight out of AI, and was even a scapegoat for an https://en.wikipedia.org/wiki/AI_winter#The_collapse_of_the_LISP_machine_market. So based on that alone, one might predict more interest in AI-assisted programming here.

That was a very different type of AI. It did not have all the ethical concerns that LLMs have.

Do you mean symbolic vs connectionist/subsymbolic AI? I was going to mention that, but I'm not sure it ultimately made a big difference. Sure, the goal was that you could follow the reasoning more, but on this slack we see people adding symbolic techniques to LLMs, like logic (Prolog/Minikanren)

I meant that "old school" AI wasn't mass-trained on other people's published works and didn't require massive data centers causing noise and water pollution and raising electricity costs.

Yeah, but already GOFAI (Good Old Fashioned AI) spawned Frankenstein movies like Terminator and Wargames. I doubt they imagined AI industry would balk at violating intellectual property and raising electricty prices And as I understand, they couldn't effectively train AI on human culture back then anyway

πŸšͺ πŸ’¨

Given that we seem to have more people here who want to discuss their AI workflows than people critical of AI, maybe it's better to rename this channel to #ai-discussion , and have it indeed as @andersmurphy suggests be a place to centralize discussions so they don't overwhelm other channels

βž• 1

I would discourage that, #C068E9L5M2Q already exists for discussing workflows.

☝️ 2

I was thinking "ai-debate" but "ai-discussion" sounds more sane πŸ˜„

Ok, then we'll redirect people from here to there who are now derailing every thread that comes up

(but better than -skeptics, as I think both pros and cons should go here)

There is also #C117LBN0K, and I think that channel should have become this channel here, to group everything that is not about "method" (which #C068E9L5M2Q is for)

That said, I’m not in love with the name. To me skepticism means something specific, and alternatives like β€œdiscussion” or β€œdebate” is the right direction IMO. But dear lord no, we don’t need one more place to discuss workflows and harnesses and whatever. Then we might as well delete this channel and redirect to #C068E9L5M2Q

πŸ‘ 4

A skeptic requires evidence for claims, and challenges assumptions. The term doesn't imply for/against. I believe @seancorfield alluded to that in his channel announcement.

Right, it requires a knowledge assertion that you can be skeptical to, which just β€œAI in general” is kind of too vague for.

@seancorfield Honest question, is only argumenting against AI allowed? or are discussions allowed also? (assuming real learning intentions and not just trolling oc.) Because being critical of AI for me assumes openness to discussions.

@jpmonettas I would expect any advocacy for AI here to be challenged deeply on several points: ethics, copyright, social impact. I think it is fair game to dive into evidence for and against. Does that answer your question?

1

Well, if we're doing the etymology thing, https://www.etymonline.com/search?q=skeptic referred to a https://en.wikipedia.org/wiki/Pyrrho#Philosophy where you suspend judgement while gathering information. As a negative example, the thread cites https://anthonymoser.github.io/writing/ai/haterdom/2025/08/26/i-am-an-ai-hater.html: "But I am more than a critic: I am a hater. I am not here to make a careful comprehensive argument, because people have already done that. If you’re pushing slop or eating it, you wouldn’t read it anyway." Since AI advocacy is challenged, can anti-AI advocacy be challenged as well? From the same essay: "AI cannot be a hater, because AI does not feel, or know, or care. Only humans can be haters. I celebrate my humanity." Which opens a critique of some of the anti-AI movement as being an inherently hateful ideology.

I don't think it's fair to equate both sides here, on the one hand we have people who point out the environmental impact, data colonialism, polluting of the data environment, mental harm including suicide, open source maintainer burnout... on the other hand we those who say, "we're going to ignore all those concerns, because I like it too much / it creates economic growth / it will make me rich"

Even if AI itself becomes so good that it’s indefensible to code by hand from a utilitarian perspective, there’s still plenty of discussion to be had around who this benefits and how. There’s AI, and the power structures around AI. Conflating β€œhating” one with β€œhating” the other is, I’m sure, useful to whoever holds the power right now.

There are important discussions to be had, in our industry, around the ethics of AI systems and AI usage, and those discussions need and imply a spectrum of positions on AI. Mostly, we are not having those discussions tho'... Think of this discussion about labeling in the context of perhaps allergens in food labels, or perhaps the GMO/organic context. Assume there's agreement on labeling: the question is what/how do we label things? If you're using AI-powered autocomplete? Does "a lot" vs "a little" make a difference? What about editors where it's unclear how much AI is used to power autocomplete (since we've had basic autocomplete for years/decades)? If you have AI design something for you but write all the code by hand? If you write the source but have AI write the tests? If you write all the code and have AI review it (and then you fix the issues... what about if you let AI fix the issues)? Do we have different labeling rules for different maintainers (as indicated in another thread about trust and reputation)?

πŸ‘πŸ» 1

on the other hand we those who say, "we're going to ignore all those concerns, because I like it too much / it creates economic growth / it will make me rich"
Well, that argument has yet to be made; we're skeptics and this channel is new, so maybe we're in an info-gathering phase before rushing to such conclusions. One point is that tech has a dual face. Take the deskilling issue. Tech can deskill workers and strengthen manager control β€” or instead ampify skilled workers and remove layers of management. This was analyzed by David Noble, who wrote about the war within machine shop floors between "Numerical Control" vs "Record Playback" systems, back in the mid-20th century. NC deskilled workers in favor of managers and an engineer class; that's today's CNC. An alternative was RP, which recorded workers' movements (kind of like Emacs keyboard macros) and put power in their hands. I should say he was fired from MIT and the Smithsonian for his work, if that means anything. Now when we look at today's tech organizers, like Tech Workers Coalition, workers' analyses of AI https://techworkerscoalition.org/blog/2021/03/09/issue-5/ than "hate AI". And when I look at political groups (please ignore if that's bad/divisive), many https://www.reddit.com/r/LeftistsForAI/ how AI's benefits can be shared with everyone, rather than owned by a few technofeudalists. We could go on, like with people I know who flock to AI because they've been damaged by the medical and psychotherapy industries and finally have "'someone' who listens to me". Now, that's not to blindly advocate AI; we're probably in a golden age where it has a smiley face. The question is what's the next face.

You beat me to it @ericdallo, I had this. Any objections: > A place to discuss concerns and skepticism regarding the use of AI/LLMs, and AI assisted coding. Code of Conduct is in effect, keep it civil. For discussions about workflows and techniques, use #C068E9L5M2Q.

πŸ‘ 1

Go ahead! the 250 max chars limit is a PITA πŸ˜…

You can always put a longer version in the description.

πŸ’‘ 1

A couple of thoughts on disclosure shape for releases / announcements (even blog posts maybe). If an AI was used at some point, encourage stating: β€’ which provider (Google, Anthropic, local.. etc) β€’ which model (self explanatory) β€’ which stage (throughout, design, testing, implementation, whatever) My hunch would be that including details would provoke better discussion across the skeptical-enthusiast axis, and still leave interpretation up to individuals. It’s not about saying one way is right or wrong, it’s just giving us all tools to make up our own minds, from an informed perspective.

πŸ‘ 1

Theres’s too much nuance to just say β€œAI used” and leave it there, in other words

Not sure how to translate this to software, but my thinking in terms of content in general, writing and videos is, from now on I assume everything is slop, and I try to consume only what I trust, which worst case might mean I know the person. πŸ˜„

πŸ˜… 1

Books and articles pre 2022 are fine.

Here's a real world example that I'm curious about people's thoughts: HoneySQL has been hand-crafted since the beginning, but for one specific GitHub issue, I had Copilot one-shot the PR, including tests and docs. That PR was part of one release, along with other fixes/enhancements. No other issues before or since were implemented with AI. a) how would folks have liked that one release to be labeled? b) do folks feel that all subsequent releases should still note that one PR in the past was authored by AI?

A little more serious, I think what I am trying to say above is that I am following more the line of argument that was mentioned elsewhere, that open source is provided as-is for good reasons. What I suggest is, and that has also been touched on, is making your process transparent, a.k.a. working with the garage door open.

@seancorfield using the framework above, I’d have found it fascinating to know you’d used pattern-coding tools, and would have been curious to see the result, grounded in the details as mentioned. Personally I’d have compared notes on my own practice, which is helpful, others may have wanted to avoid - but the information is generic. @dan203 exactly - and working with the garage door open is a lovely way to put it.

@seancorfield curious about the same thing. I was handcrafting let-go for years and decided to finish it with Claude/Codex. It's hard to tell how much of it is handcrafted and how much is AI written at this point (in a meaningful way). Software does not grow like rings on a tree.

(the thought I had already, of showing your process, but didn't have the term until then)

I’d stand by my suggestion at the top - if a specific release had an AI involved at some point, saying what and how would be more useful than a generic label. If a subsequent release didn’t, then it wouldn’t be relevant at that point.

My answer would be depends. Because honeysql is by you @seancorfield, I'd go by reputation (and don't need know anything more about the process). In general, if somebody does not have that reputation, them transparently labeling AI usage can be trust-building.

@dan203 That sounds very subjective -- and how is someone to know whether they have sufficient reputation for AI usage to not be a problem? Are you saying that AI usage by someone really well known for high-quality projects is not a problem, only AI usage by "unknown" people? I suspect there are folks here who would disagree with that.

Yes, completely subjective with the onus on the user's end. Reputation is connected to good judgment, so I'd say I trust someone with good judgment using AI.

@dazld how would you use it? For example: "local-abyrvalg-throughout", then what? I'm very interested to hear about the problem such label suppose to solve and this is already a second thread without attempt to frame it, unfortunately.

You could go by normal authorship rules and say that if an LLM authored something, it’s useful to mark it as the author for that bit. As we would for a human. However, for git blame, I think it’s relatively useless to have a model as the β€œauthor”, because AIs can’t assume responsibility. A human must be ultimately responsible.

βž• 2

At least for claude code and #C093426FPUG, the git commits and PRs are including the model name + variant (effort high etc), I believe this helps achieve what @dazld is interested

πŸ‘ 1

From my personal experience receiving lots of PRs made with AI, knowing which model and effort was used is quite relevant, most PRs are slops and really fix/help me maintain my libs

@delaguardo - it’s not a problem solution as such, more just raw information. What one does with that information is entirely up to the individual. One person may compare notes, as I mentioned above, with their own practice. Others may wish to avoid for personal reasons - there’s a universe of reactions of different kinds, for different reasons. All of these are helped by more specific information.

πŸ‘ 1

VS Code also has a setting to add Copilot as a co-author to commits: you can choose chat + agent, all (i.e., includes code autocomplete), or off. Not sure what the default is. It doesn't seem very reliable, however, since my recent vibe-coded Calva settings audit script shows no co-authorship, even tho' I didn't touch a line of code. I do see Copilot as co-author in a slew of commits at work however.

What would be interesting if the AI commits on every change, under its git handle, and all edits you make subsequently, you make under yours.

I'll also note that Copilot can run in "auto" mode so it uses different models for different parts of the work so asking folks to label "which model" isn't necessarily practical. I suspect there are other agentic harnesses that similarly bounce back and forth between different models.

I’d find it interesting more if people are on local, perhaps.

it’s really up to the author to decide how much or how little is relevant.

> What one does with that information is entirely up to the individual. right, but before guessing what other people would do with such information I would like to know what you as individual change in your processes after seeing such label. So far I have only "walk away" from few people and that is it. And because this is not very diverse reaction I doubt the good faith of requests to demand mandatory label.

πŸ‘ 1

we can talk about that in another thread perhaps, because it’s somewhat different - but there are concrete takeaways @delaguardo

In my experience the model used is less important than the process around the model usage. Without knowing how information is going to be used, what is the incentive for providing it? I would agree with @delaguardo that it just seems to be as a signal to walk away,

βž• 2

> than the process around the model usage yes. i use LLMs very differently depending on context

> Without knowing how information is going to be used, what is the incentive for providing it? Transparency, for one, but from an archival perspective, it starts as facts and turns into information at a later stage.

πŸ‘ 2

I was thinking specifically about the differences in training data for base models, RLHF, SFT, alignment etc between different model providers - but that’s really a side conversation, and a bit nuanced. As someone who is interested in these nuances, I’d find it interesting. Keeping things on track - that’s why I mentioned it might be encouraged to share. As this is a technical community, I’m sure others would be interested too. The framework at the top is not a mandatory thing though - if someone finds the time to share, I’d appreciate them for doing so. Whether or not it should be mandatory is probably the crux. Strongly encouraged is perhaps as far as I’d go.

How do you learn to recognize generated code? I think this skill is unfairly under-discussed.

I don't know how you would learn this skill now, but it helps being a senior clojure developer before the AI wave. My indicators: β€’ AI artifacts (such as Claude.md) β€’ Lines of code per time frame - more than what most people would produce β€’ Code style (unidiomatic Clojure code) β€’ Lines of documentation. AI projects seem to have a lot of documentation β€’ Reputation of creator I guess overtime this will change as it is all dynamic.

I bet there are fancy techniques where given some code and model weights you could assign some score to the code assessing the likelihood that it was generated by the model, and perhaps it would even work across models to some degree. I know there are things that detect ai generated images and this is just a guess (I don't actually know how they work) but I bet you could apply pretty similar techniques to code. I'm skeptical that people could come up with hand crafted lists of "here are things to look for" that would useful across different models and time, even though I do very much feel I know ai code when I see it

Like I think those from @jeroenvandijk are all good and practical to use right now but they wouldn't hold up if someone were intentionally trying to hide it was made by ai and skimmed all the output (though they would have to be good enough at coding/clojure to know what's clearly not idiomatic, etc)

βž• 1

big comment blocks separating parts of the namespace, which sucks IMO

I recently learned a bit of a fashion history and there was one term that poped-out here and there β€” "well-watched". Basically it is about more you interact with the design more you understand how it works. even if it is impossible to give a measurable assessment. So for now I deliberately read projects that evidentially written with LLM support to catch that "well-watched" state. comment blocks does not work well to me because SQLite source code is the best large C code base I ever read through. And it is basically one humongous comment section.

It also help to read from more than one projects of the same person to catch some sort of a personal style. Good example would be high use of comment in production code from Peter Taoussanis. Looks like it is hard for LLM to catch up a habit to migrate such nuances across projects.

But how resilient is the list of things you come up with to a big system prompt header saying "never do these things"? Are you just trying to spot LLM usages from people that would have no problem just admitting they use it? Or are you trying to make it work in adversarial contexts?

A CLAUDE.md doesn't tell you: is this a completely vibe-coded project or was claude just used to diagnose some issue? etc

There are already cases of projects run by anti-AI folks who added a "poisoned" CLAUDE.md or AGENTS.md file to their repo to make it hard for folks who use AI. In addition, tools like Microsoft AgentForge leave a very different footprint on a project (everything is under .github and it's "skills" and "instructions" etc). I'm also skeptical that you can always recognize "AI-generated code". Sometimes, yes, it looks "off". But I've also looked at code where I couldn't tell -- in the same way that "em-dashes" is claimed to be an indication of AI-generated writing but they also tend to be used by people with background training in English and/or journalism. After all, the training data is generally "stuff produced by humans" so you would expect the generated result to look like that -- and it increasingly is.

I think it'd be more helpful in general, AI or not, if people made clear the expectations in their repo: is this project throwaway code, or to be maintained for years, etc

I think voluntary self-labeling is about the best option at this point, and as an Admin I'd be happy to encourage folks to do that when announcing projects/releases -- and also for news/articles. I mostly want to make sure we have clear guidelines on that, so we don't get into a lot of murky discussions about whether or not Author A should have disclosed something in Project X.

imho, any sort of labeling (self included) ends up being the worst solution on a long run. it is often walked hand in hand with discrimination and gate keeping.

Several people here want that label upfront at the top of the README so they don't have to spend any more time looking at the project. Labeling is the only solution that addresses that, yes?

my intention for this thread was to find an alternative solution :)

Oh, I get that. But I think the answer to your original question is "Realistically, you can't" and I believe it will get even harder and harder. I think you used to be able to tell fairly easily, and on some projects you still can. That's why I think self-labeling is the only viable option -- since AI-generated code keeps getting better and more idiomatic, and you don't necessarily need any of those "flag" files to guide AI so you can't use the presence/absence of those either.

I think if you're interested in it you should google "arxiv llm generated code detection" seems like there's useful/promising techniques, it's just not going involve human intuition

πŸ‘ 1

I wonder if unit-tests are an indicator, as people code-review them less, and AIs have far more endurance to write them. And they're key to AI programming

@jjttjj Interesting approach in that paper. It's about 18 months old now. I wonder how well it holds up for recent models given it is based on GPT 3.5 and 4?

Given that is going to be harder and harder to tell apart ai generated code, I don't think there is any incentive to put a "contains some ai" label on anything. If you are anti AI, you don't need this label, and I guess most people that are ok with AI will not go through the trouble, because it is a label that needs to constantly be thought about. Like if you ask gpt for some function, and then modify it your self, what is it, should I add the label now?

@seancorfield sorry i didn't mean to refer to a specific paper, just that there seem to be people actively researching this very thing (some of the papers seem more recent)

@jpmonettas If someone is anti-AI, they want a label so they don't have to spend any time on the project. They probably don't care how much AI, just that you decided to use AI instead of hand writing the code and the tests and the documentation.

@jjttjj Ah, I misunderstood and assumed you mean the best match for that search.

@seancorfield yeah I understand and respect that, just saying I'm not seeing that happening, but who knows

You're not seeing what happening?

You're not seeing what happening?
On the long run people going through the trouble of labeling. You can start a project just by hand, and then at some other time make some use of AI in many different ways, so you need to constantly be considering if you should now label your project, and I feel it is kind of a drain of energy. I can imagine myself battling between wanting to be nice with my fellows humans, but at the same time not wanting my entire project to be ignored by a bunch of people because I used an LLM to help me with some stuff.

☝️ 1

Ah, I understand you now. See my question about the nuances of labeling in this other thread: https://clojurians.slack.com/archives/C0B7Q4XRM1U/p1780932469070189?thread_ts=1780920814.122479&cid=C0B7Q4XRM1U I think there are some clear-cut cases -- "all code (or 'all initial code') in this project is AI-generated" -- and many less clear-cut cases. That's why I asked how folks felt about HoneySQL, given one release contained one PR that was entirely AI-generated (incl. tests and docs). Does it "taint" the rest of the project? Does it "taint" it "forever"?

πŸ‘ 1

My initial comment in this channel was triggered by my release of a project where I did not directly mention use of AI. I have since added a simple "run by ai" comment at the end of the README. As a concrete example, I'ld be interested to hear how people think this should be labelled. β€’ The project doesn't contain a single human edited or reviewed line. β€’ I put a lot of work into the process used to create the project β€’ It does contain a log of all the work the agent did. The project isn't large. I'll include the project link in the thread.

The project is https://github.com/hugoduncan/scry. The logs of all work done by AI under the munera directory.

Was it human-designed or AI-designed? It sounds like it is entirely AI-generated? Is the plan for it to be AI-maintained going forward, or human-maintained? For many people here (in this channel), I suspect the "AI-generated" label would be sufficient for them to dismiss it, so the answers to the other two questions may matter less or more to other users.

The design was a joint process. I would certainly use AI to maintain it. I don't have sufficient confidence in letting AI handle github issues in any sort of automated fashion.

I would want something like that prominently marked at the top of the Readme. If I'd ended up spending some amount of time reading and then afterwards been told it's all AI generated I would probably put all your work on the ignore list.

☝️ 4

It's about respecting peoples time

In the before time. I'd read a readme because someone time into it.

If that contract is broken everything falls apart

I'm happy to make the notice more prominent, But I'm guessing you would then dismiss the project irrespective of the actual code quality?

Because if you can't be asked to write the readme what's the point?

So for you the "contract" is no AI?

The readme is how you communicate the value of the project and your understanding of it

I don't care what claude thinks of your project

This is not the same as no AI.

In what way does the readme not explain the value of the project?

If it is written by AI.

so your "contract" is no AI

Fair, yes, having an AI disclaimer at the top of the README instead of the bottom means that folks who don't want to use AI-generated projects don't have to waste their time reading the whole README. I just asked Copilot to move the disclaimer on my recent calva-settings project because of this thread.

Also, you cannot copyright AI-generated code (according to US law, at least), so you can't license it in the usual sense. (why calva-settings uses the Unlicense)

If I wanted to read LLM generated text I am perfectly capable of promoting a chatbot myself.

No my contract is write the readme by hand what's hard to understand about that? Show you have some understanding in communicating what you have built That's not don't use AI. Sigh.

Analogy: you can find search engines to be a useful tool even if you know that putting up a blog where every post is a "let me Google that for you" is a bad idea.

yeah reading output tokens in a readme describing more output tokens (the code) is a fundamentally different thing than a human written about human written code, but yet it's often presented as the same thing (the ai-companies encourage normalizing this, and it seems to be working)

> The project doesn’t contain a single human edited or reviewed line. A little speechless. If nothing else, you must flag this very clearly as an experiment in hands free development before doing anything else. > But I’m guessing you would then dismiss the project irrespective of the actual code quality? Point is - if no one actually reviewed the output, who knows if it’s good or bad quality, or even actively harmful? What was on your mind, @hugod? You mentioned that you don’t trust the AI to manage github issues, but .. you do trust it to write privileged code that operates on other people’s environments without review?

I would say it's more than an experiment. It solves a specific issue I was having with AI constantly re-running tests trying to narrow down relevant test information. I was exaggerating a little when I said no code review - I did at least read it to make sure it wasn't doing anything egregious

@jjttjj How is it different when those tokens are the result of a process that has been developed to produce "good" output? I'm going to make the labelling more prominent anyway, but I would like to know what the difference is, other than it is "AI generated"

For some people, there is no difference @hugod -- they won't use an AI-generated project, regardless of whether the README is handwritten or not. The point I think Anders is making here is: if you take the time to hand write the README, you are at least showing that you have sufficiently understood the generated code and you are standing behind it -- whereas if you just let AI write the README (as well as the code), then you are just relying on the AI's explanation of what it thinks the generated code might do.

❀️ 1
☝️ 1

I'm coming to the conclusion that I should just simply disclose AI use. Anything more nuanced seems to make no difference.

@andersmurphy would you honestly consider an AI written project even if it had a hand-written readme?

Yes. Readme can convince me for sure. A friend has a close source project that's mostly LLM generated but the docs, specs and readme are all hand written.

OK, I stand corrected. That's not the impression I got from reading your comments.

Interesting article on the balancing act of talking about AI in workplaces: https://www.workersdecide.tech/resources/2025-09-14-committees/ Maybe this slack is a bit like a virtual workplace, and we're facing these dynamics too...

I've noticed, like I'm sure others have, that we're seeing more and more releases of both new and existing open source projects that are heavily using AI. On Reddit, I've noticed projects get announced that receive no comments, not many votes, and so on, which in the past would have garnered a lot more hype. I think one issue is that you can no longer assess the quality and seriousness of projects the way you did before. If I see someone release a new dialect language or port of Clojure to a new host, and at a quick glance all I see is an AI README, AI commits, with rocket ships and emojis everywhere, I just move on. But I'm not someone who thinks you cannot produce high quality, serious software using AI. I think you can. And yet I dismiss those projects very quickly myself. The challenge is that, prior to AI, I'd gain immediate trust from seeing someone post even an alpha of such a project, because I'd know they spent considerable effort to get there. They must be pretty smart and knowledgeable to have made it that far. But if it's AI-assisted, all of that implicit signal disappears. It could just as easily be some half-baked attempt from someone who will lose interest in a week and doesn't really know what they're doing. In the world of AI, mediocre and good look so similar. How do you differentiate between the two? How do you decide where to put your trust and what dependencies to commit behind? In my opinion, this impacts the ecosystem as a whole, and both consumers and maintainers can end up feeling disenfranchised. Consumers are flooded with noise and can't take anything seriously anymore, while maintainers who are doing serious work aren't taken seriously either.

πŸ‘ 15
πŸ‘πŸ» 2
βž• 6
☝️ 5

Couldn't agree more

People have started to invoke Jevon's paradox here ... that all shitty software will be made as the marginal cost is approaching zero.

What people miss. If you read Jevon's book. Is, although the mines are bottomless ultimately supply becomes the limiting factor because of the cost of extraction. This is why prices ultimately go up (because of unbounded demand). Sorry just an interesting aside.

I think the rsync problem is related. Not being able to see communication beforehand about the use of LLM or the plan of how it is going to be used will erode trust. No matter what the end result or code was.

There was a supply issue in software, but now the gates are open and there is an unlimited supply of shitty software 🀷 .

I'm not the first to say this, I'm just parroting it, but writing code was never the expensive part of software development

Not sure how I missed it, but I just discovered this podcast by @raymcdermott and @jmglov today and I am thoroughly enjoying it ❀️ https://politechs.dev thanks so much for making this! πŸ™ gratitude

πŸ‘ 1
πŸ‘€ 8

I guess in the long-run most of us will be forced to use AI for coding? Either by their employer or directly by the market pressure due to competitors that uses AI to ship more?

The idea that competitors are shipping more will only last until people start experiencing the consequences of this approach. I'm sure some employers will force their employees to do stupid things, but I refuse to accept defeat and just follow along. I will use the tools I find useful in the way I find them useful, but I still believe that humans with absolute oversight over their technical work is the reliable way to build high quality software for the long run.

1

Employers sure. Market pressure to ship more? Depends on the real costs (both post sub, supply shock, deskilling and maintenance). I view AI like the cloud. You can do 1 million inserts per second with sqlite on a $20/m vps or you can pay $30k/month for RDS and have a bad time. Just because RDS is more popular doesn't mean you can't have amazing margins with sqlite and a potato.

πŸ˜‚ 1

VHS vs Betamax again.

πŸ’― 2

If this profession devolves into writing specs for a fucking chatbot I will seriously find a new career.

πŸ«‚ 5

I've passed on too many all-consuming fads without loosing my job to be too worried about this, though. The tech industry is incredibly trend-driven, but it is possible to be successful without following trends. Of all places, I would have thought people on this Slack agreed with that πŸ˜…

πŸ‘ 3
πŸ’― 6

I believe heavy use of LLM for technical work will do to our learning and reasoning skills what cell phones and social media did for our attention. I'm not joining that experiment again. When this happens at scale, there will be great demand for people who can do this work the old way to clean up the mess. I'll surf that wave into retirement πŸ˜„

☝️ 4
1

The silver lining for me is it seems to rip through large tech companies like uncontrolled mutations and I think the damage may be irreparable. So I'm optimistic that this might lead to a more interesting market in the long run.

If this profession devolves into cleaning up AI mess, I will seriously find a new career

πŸ‘ 3
πŸ˜… 3

Hehe, I agree. I didn't really mean to literally clean up the mess, but to come in and deliver some quality software after LLM slop has screwed people over.

There's already companies who came up with a token limit recently for their employees because it became too expensive to lean on the chatbot for all the work.

I'm using AI in very selfish developer-like way: doing all the refactorings that would have been way too expensive beforehand πŸ˜…

In the grim darkness of the 2nd millennium one Borkdude stands against total collapse.

πŸ˜‚ 4

Refactoring is already a solved problem with deterministic software. Why anyone would trust a stocastic model to make wide changes across a project is beyond me.

☝️ 3

Any pointers/references on refactoring with deterministic software?

clojure-lsp? clojure-mode. clj-kondo

❀️ 1

some people make AI tools based on the output of those tools ;)

I don't doubt it

Those tools are great, but that's a fairly limited definition of refactoring.

☝️ 2

@christian767 Those tools are good for small, focused refactoring. Are there deterministic tools for broader refactorings?

What's a "broad refactoring"?

Maybe "replace all uses of clojure.java-time with direct Java interop"?

I would use Emacs to do that, either an Emacs macro or writable-grep

Or "find code that looks similar to this function, and replace that code with calls to this function" -- you can't do that with grep (nor, having gone thru that java time refactoring myself, could you realistically replace clojure.java-time usage with Java Time interop using any sort of grep).

Disclosure: I've refactored my prelude based emacs config into a self-contained emacs config since I no longer wanted to rely on someone else's config and choices which kept changing over time (I'm thankful for the time I did use prelude, for more than a decade). Basically 1 hour with claude. That's the kind of refactoring that would've taken me weeks tbh, something I simply wouldn't have done and no deterministic tool would've done for me. I'm not advocating for "vibe code all the things", but I have to say, this was pretty useful to me.

πŸ‘ 5

@borkdude that sounds more like a rewrite than a "refactor"

I guess the line between rewrite and refactor can be very blurry

@seancorfield "find code that looks similar to this function, and replace that code with calls to this function" is not something I would automate. But sure, I can see how using an LLM could be useful to guide such work.

"automate" = unsupervised? I wouldn't do this unsupervised. One hard rule for me is that I have to understand the code it writes so I can maintain it without an LLM afterwards

πŸ‘ 4
πŸ‘πŸ» 1

@borkdude sure, at least the way it's commonly used. I like the original meaning of changing the implementation without changing the interface/observed behavior.

πŸ‘ 1

I mean the LLM uses regex to do that these days. So it must be possible in some sense

yep, that's what I did. my emacs UX is 100% the same as before :)

The first task in my first job was to internationalize thousands of JSPs. Despite writing an editor macro for it, the whole thing took months. Yesterday, Codex did the same for a hobby project (much smaller size) in matter of minutes without mistakes. And the LLM also speaks all the languages I don't know.

As someone who speaks four languages I'd caution against LLM translations

βž• 1
☝️ 1

Clojure, and what are the other three? ;)

😁 1
πŸ˜‚ 3

@christian767 If you're using emacs, maybe checkout https://github.com/clojure-emacs/clj-refactor.el if you haven't But that's a subset of refactoring, not for broad refactoring

@tjg I work next to the guy who wrote it on a daily basis πŸ˜„

πŸ‘ 1

@maxweber So including your verification, the whole process took "minutes"? πŸ€”

@christian767 reviewing becomes the new bottleneck. I only translated to German which I can verify.

It didn't take "a matter of minutes" if it took you hours to verify. Apples and oranges.

Yes, but without AI we would never even consider to tackle internationalizing our SaaS at work, since it would be way too expensive

If your choices are: β€’ manually enter all the text into Google Translate (or similar) -- time-consuming (and expensive) β€’ employ professional translators -- expensive (and can be time-consuming) β€’ throw LLMs at it and spot check the results -- cheap and fast That third choice is going to be very appealing to most companies.

Our public library has fired a lot of people who would otherwise make book summaries/recommendations in the library system. It's awful now. But cheap :)

😒 5

I wouldn't use large tech companies as a good reference, because they sell the shovels. If they aren't telling everyone how they write their own stuff 100% with AI and it's amazing, no one will rent their GPU compute. I think if you are forced to use AI to keep up with competition, then yes, but this is actually the open question no one has the answer to currently. There's a FOMO trend, every company worries if this is true, then they must use AI right away. Is it true though? I do worry it won't matter if it's true or not, once you get employees hooked on a calculator, they cannot go back to mental math. People just won't know how to operate without, and if it didn't turn out to be a competitive advantage, it will now just become a normalized additional cost of doing business.

πŸ‘πŸ» 1
πŸ’― 2

Forgot to mention: they use AI for it now

@maxweber I heard someone (but can't remember source) say: > With AI, everyone can now build the features that were never worth building before. > It kind of makes you lose sight of what matters. How is internalizing your internal tooling affecting bottom line, product quality, customer acquisition and retention? And what compared to other things that would have a bigger impact? And even if AI makes it you can do it now, it's still a bit of time wasted on this thing where there are way better projects you could focus on.

☝️ 1

Not to mention that increasing the amount of wide reaching changes to a code base is bound to affect its overall stability. There's a reason why everyone loves posting Clojure's code retention graph.

> It kind of makes you lose sight of what matters. One of the axes of "what matters" that I think often gets short shrift is over what time scale.

@didibus i18n is still at the very end of our endless todo list. It's just an option that I would have never considered beforehand, despite many customer requests over the years. @christian767 I love the Clojure's code retention graph, it should be the goal for all software projects. The problem for me is that we made many mistakes that we want to fix in our rather large and old codebase. Most of those fixes were too time consuming beforehand. Just today I started to let Codex refactor some parts to a vertical slice architecture. Where I hope that namespaces becomes quicker "immutable" to contribute to a better code retention graph in the long-term.

@grzm I'm not so sure. Generally you do assess impact over cost. But at the same time, the relative cost of things have similarly been lowered across the board. The more impactful things are also X% faster to get done (assuming AI does boost productivity). So I don't think it changes much how you'd choose priorities. It might mean you're tempted to throw in less impactful things, and I would say that's the risk of bloat. Now that the cost of certain things appears small, you're tempted, but you should still mercilessly cut requirements and challenge everything as why would we do this?

@didibus Issues I'm thinking of are behaviors that can affect the long-term sustainability of the business, employees, and careers.) I know these need to be balanced with shorter-term priorities (like this month's bottom line).

> One hard rule for me is that I have to understand the code it writes so I can maintain it without an LLM afterwards @borkdude but the code it writes is often so bad, something that a human would never arrive at (in a bad way), so do you actually subject yourself to understanding every single ridiculous branch every single time?

what do you mean with branch, git branch or if/else branch?

Logic branch yes

and yes, I have to understand it all, else no publish

What is your flow then, do you struggle through or when something is too much do you say rewrite this to make it clearer?

@anthonykfranco Different people have different experiences in terms of generated code quality. It definitely depends on how good you are at "context engineering" and what existing code it can mimic. (but that's drifting off-topic for this channel)

πŸ‘ 1

No discussion of workflow here. Use #C068E9L5M2Q for that.

πŸ™ 1
βœ… 1

To directly answer OP, we'll be forced to do whatever the economics dictate in the long-run, but the market can stay irrational longer than we can always stay solvent. So buckle up, this is the same hype cycle on steroids. Carve out your niche and pray to be left alone

Says the guy with an AI-generated avatar? ;) (j/k)

😁 1

My whole personality is AI-generated most days

or agent, or whatever they call it

I can't even remember what they used to say, something like "as a large language model, I am unable to blah blah"

Thank you for pushing back on that.

πŸ˜‚ 1

> we'll be forced to do whatever the economics dictate in the long-run I feel like this is the default attitude for so much. Where does this leave choice and morality? If we all submit to what the market wants rather than recognizing that we are active participants in that market? That our choices help drive the market as well?

πŸ‘ 4

Also going back to the OP's Q: one thing I've seen folks struggle with in several of the spaces I'm in, is how to find a job that doesn't involve AI (let alone a company that doesn't use AI), and is likely to stay AI-free for a while. I think there's a definite need for some sort of curated job board for folks who want to live AI-free.

πŸ’― 2

@grzm I agree. Personally, I'm just not smart enough to predict the future on this topic. I can have gut feelings or even semi-logical assumptions, but self-preservation means I am one foot in, one foot out. Like, hey, if your programming language is so un-ergonomic as to require too much typing to express a relatively small amount of semantic meaning, then we have the whole movement that's been pushing you to use better programming languages to help you there. But if the world is about mindshare, and Python has the most for data science and TypeScript for heavy front-end applications or whatever other niches emerge, then maybe LLM's are the only way to cross the manic ecosystem churn that's expected of a glue coder

> I'm just not smart enough to predict the future on this topic. You and me both. But I'm increasingly starting to think many of those who are making the decisions aren't particularly smart, either.

πŸ’― 3

No I completely agree with you there lol. The vibe feels more and more like desperate snake oil selling everyday with a dash of hopium (hey maybe my engineers will actually make this all work out, either way, I'm eying my exit)

Speaking of exits, I'm going to touch grass.