Martin Fowler on LLMs: https://martinfowler.com/articles/202508-ai-thoughts.html (posting here since it isn't about Clojure but I figured it warranted a wider audience than the various AI/LLM channels).
I wish people would stop using the word "hallucination" to describe the erroneous behavior of LLMs. Interesting article though.
that really bothers me as well
I've found that it is really hard to describe interactions with AI without falling into anthropomorphic language:slightly_frowning_face:
besides using a mental health disorder to describe program behavior, it implicitly buys into the notion that these things can think
Yeah... And there are already people out there who think AI chat bots are "real"π
Here we go - I gave the page to gpt5 and asked for a summary with no anthropomorphic language: - Nature of LLM Output LLMs inherently produce variable, non-deterministic outputs (βhallucinationsβ). Repeated queries and comparison of responses can yield more reliable results. Deterministic calculations should not be delegated to LLMs, though they can generate code to perform them. π€£π€£π€£
(I didn't know M$ had already integrated GPT5 into the Android Copilot app - since I'm on my phone, at the pub)
It's certainly an effort to anthropomorphize the language used by people to describe LLMs, I think the nature of that effort is a corporate focus grouped marketing push to make people think of LLMs as humans that think and not as computer programs that compute. People should use different words less out of concern for speaking offensively of mental illness, and more to consciously resist fortifying the bully pulpit of the messianic types who control these tools
> LLMs inherently produce variable, non-deterministic outputs (βhallucinationsβ). Am I wrong, or is this a LLM sane-washing itself? AFAIK, "hallucinations" meant "inventing stuff that's not on their training data that is incorrect"
All their output is "based on" their training data -- I've always considered "hallucinations" to mean when they randomly generate (plausible) stuff that isn't accurate -- as opposed to randomly generating stuff that is accurate π
Early on, I think it was more surprising when they generated stuff that happened to be correct. Certainly, my early experiments with ChatGPT were mostly full of randomly incorrect stuff (that still sounded plausible on the surface)...
Agreed, this framing in the article is confusing. Hallucinations are just a anthropomorphized way to mean they generated inaccurate output.
Nobody uses "hallucination" to mean generating text that's not verbatim from the training data
Though there is a bit of a tension between precision and recall (like with all ML models). I think some early models would let you choose some parameters that tuned it for if it will get more creative or less creative, as in, stick closer to it's training set, or deviate further away.
I grant that using anthropomorphizing language is a common and accessible means of describing things, but I think there are degrees to which it is applied. Speaking of household pets in affectionate human terms is one thing, it's more or less harmless and innocent. I think the practice of using "hallucination" to describe non-deterministic behavior in computers is, apart from the suggestion of pathological deviation from a norm, one of these instances of "lazy language": someone coined it (whatever their intentions were in doing so) and then people have adopted it without giving any thought to it.
i would not go for a pint with LLM. the ultimate "I think you'll find" guy
Claude, you're talking bollocks again mate
Ya, I don't know who coined it. But it sounds a bit like marketing as well, if you say "inaccurate", it sounds like a worse product.
learned about style="filter:invert(1)" recently: here is the anti-clojure logo
That's a nice combination of colors.
javascript: (
function () {
// the css we are going to inject
var css = 'html {-webkit-filter: invert(100%);' +
'-moz-filter: invert(100%);' +
'-o-filter: invert(100%);' +
'-ms-filter: invert(100%); }',
head = document.getElementsByTagName('head')[0],
style = document.createElement('style');
// a hack, so you can "invert back" clicking the bookmarklet again
if (!window.counter) { window.counter = 1;} else { window.counter ++;
if (window.counter % 2 == 0) { var css ='html {-webkit-filter: invert(0%); -moz-filter: invert(0%); -o-filter: invert(0%); -ms-filter: invert(0%); }'}
};
style.type = 'text/css';
if (style.styleSheet){
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
//injecting the css to the head
head.appendChild(style);
}());from https://stackoverflow.com/questions/4766201/javascript-invert-color-on-all-elements-of-a-page
That's a weird hack. Couldn't one just assign an ID to the style tag and conditionally add/remote the tag?
i didn't read the giant blob of javascript, i just copy pasted it
Wario!
Anti-Clojure: β’ Complicated made hard. β’ It's just mutable stateful side-effecting opaque classes and methods that access the fields. β’ Semicolon is required after each closing bracket.
(defn get-port [http-server];
(let [server (deep-clone http-server);
port (.getPort server);];
(undo-side-effects port);
port););)let ]msg "hello world"[
)println msg((Quick, someone make a NDE parser
"It's just pointers".
Am I the only one finding the gold-brown and purple actually looks completed? It's like someone made a soup of stuff and stirred it together. Probably just my mind playing tricks on me, I don't know. I did NOT know CSS could invert colors either - thanks Ethan!
> "It's just pointers". > It's just indirection. The whole thing, only indirection.
Yeah, direction is for losers...
ptr->ptr->ptr is the way to go.
the more indirection the better π₯
for the love of Turing and Durin, let's not return values!
There's no problem in computer science, that can not be addressed by another layer of indirection! π
Pointer calculus. An integer N is expressed as a chain of pointers of length N.
Or as a linked list.
> Pointer calculus. An integer N is expressed as a chain of pointers of length N. this language also has a newsletter called deref ... except it doesn't really have what you think it has