I often find that when I ask AI chatbots Clojure-specific questions, they maybe get me 1/4-1/2 of the way there (and sometimes send me in a completely opposite direction). I eventually wind up sifting through Slack's search results for answers anyway. I wonder, how challenging would it be to export all of the public Clojurians Slack channels/threads into a loosely structured ZIP file to feed an AI as context? Or has someone already done something like this somewhere?
this type of thing has been discussed in the past. The gist that i remember is that everyone chats here under an expectation that this is just chat with humans and not content for LLMs.
also, you might find more success with something like clojure-mcp, that hooks into the REPL and can introspect things/generate feedback @bwancor
Apart from the above, the context window of modern LLMs is not nearly large enough to just take this server's whole history. Not even close.
@dpsutton is that more relating to the user privacy, than the content itself?
i can find the conversations in a little bit. But yeah i think it was about user privacy and expectations over the years
@p-himik I imagine that would be a challenge, I guess my thinking is Slack knows how to efficiently search, so given an instruction on how to search, an LLM could perform a similarly efficient search operation.
You may get away with using a slack mcp server. This one looks like it fits the bill: https://github.com/korotovsky/slack-mcp-server
It would be a bit similar in concept to Context 7, Iβm thinking.
clojure-mcp + slack-mcp-server could be a super power combo!
@dpsutton No need to look for the convo. Privacy concerns is reason enough not to do an export.
But also, LLMs straight up suck if what you're asking is something complex. I mentioned it not too long ago somewhere here - multiple LLMs that I've tested tried to persuade me that RLS policies in PostgreSQL are restrictive by default. Whereas in reality they are permissive by default. And I'd expect that PostgreSQL docs are fully in the training dataset - probably multiple times, once for each version. And the mailing list. And the code itself. And a bazillion of open source projects that use RLS. And yet here we are, with LLMs suggesting insecure stuff. Tried with MusicXML some time ago - same crap. Working at the superficial level, utterly wrong conceptually. But it's as documented as it gets. With a plethora of examples. And the underlying music theory is also most definitely in the training data. Even bloody MIDI doesn't get a proper handling. Don't remember the specifics at this point, it was something about mishandling events about note releases. > Slack knows how to efficiently search Efficiently but not effectively. You feed it a phrase - it searches for words from that phrase. With some conjugations, but that's it. > so given an instruction on how to search, an LLM could perform a similarly efficient search operation That would have to work via some API, not on top of a data export. And an LLM would have to issue multiple search queries just because the same thing could be expressed in multiple ways. And even after that, the usefulness is highly questionable. The more specific of a request you have, the more garbage you'll find via Slack. But I haven't actually experimented in this regard.
All fair points. I suppose AI still has quite a ways to go before use for moderately complex tasks.
I myself am patiently waiting till we get models with online learning capabilities usable on regular PCs. :) Would be nice to feed it all you know yourself, all you want to learn, everything you could grab from the specific domain that you're interested in, and keep it all local. But I doubt it'll happen within a decade.
Hopefully sooner rather than later
Thanks all for the feedback! I'll certainly check out clojure-mcp & slack-mcp-server
Thereβs currently an issue with the slack-mcp-server and large slacks preventing it from being any useful on Clojurians. But hopefully theyβll fix it. https://github.com/korotovsky/slack-mcp-server/issues/110 Also, @bwancor, if you happen to be a Calva user, I can promote Calva Backseat Driver, which is a bit like clojure-mcp, but a native VS Code extensions with absolutely Zero setup required. Just ask it to use your repl and it will happily start hammering on it.
I have a hard time resisting using LLMs as tutors for getting started on a new technology. But once I have absorbed enough knowledge, it just gets in the way. Especially with clojure and the likes, because LLMs seem to not prioritize elegance too much.
I know that what I say may be controversial nowadays, but still, isn't the strongest point of Clojure it's simplicity (once you're past the novelty of parentheses and functional style)? Just learn the damn language π
(joking of course, but there's some truth in it π
If the libraries are hard to wrap around in your head, voice your frustrations and help the authors make them simpler and easier to learn.
you know, the old way π
they'll burn you for this
> Thereβs currently an issue with the slack-mcp-server and large slacks This issue is now fixed. The agents can now search this treasure of Clojure know-how.