Live data from Hacker News

LLMs understand nullability

dmodel.ai

61–70 of 143 posts

Re: LLMs understand nullability

#61

We’re all just elementary particles being clumped together in energy gradients, therefore my little computer project is sentient—this is getting absurd.

Well you can say it doesn't understand, but then you don't have a very useful definition of the word.

You can say this is not 'real' understanding but you like many others will be unable to clearly distinguish this 'fake' understanding from 'real' understanding in a verifiable fashion, so you are just playing a game of meaningless semantics.

You really should think about what kind of difference is supposedly so important yet will not manifest itself in any testable way - an invented one.

Re: LLMs understand nullability

#63
post #14

Earlier quoted context omitted.

You declare this very plainly without evidence or argument, but this is an age-old controversial issue. It’s not self-evident to everyone, including philosophers.

It's not age-old nor is it controversial. LLMs aren't intelligent by any stretch of the imagination. Each word/token is chosen as that which is statistically most likely to follow the previous. There is no capability for understanding in the design of an LLM. It's not a matter of opinion; this just isn't how an LLM works. Any comparison to the human brain is missing the point that an LLM only simulates one small part…

The thermostat analogy, and equivalents, are age-old.

Re: LLMs understand nullability

#64
post #57

Earlier quoted context omitted.

We spent 40 years moving the goal posts on what constitutes AI. Now we seem to have found an AI worthy of that title and instead start moving the goal posts on "consciousness", "understanding" and "intelligence".

My joke was that the what it cant do debate changed into what it shouldn't be allowed to.

There ARE no jokes aloud on hn.

Look I’m no stranger to love. you know the rules and so do I… you can’t find this conversation with any other guy.

But since the parent was making a meta commentary on this conversation I’d like to introduce everyone here as Kettle to a friend of mine known as #000000

Re: LLMs understand nullability

#65
post #9

Earlier quoted context omitted.

> we don't really care if a variable is an int specifically, but rather that it supports _add or _sub etc. that it is numeric my brother in christ, you invented Typescript. (I agree on the visualization, it's very cool!)

I am more than aware of Typescript, you seem to have misunderstood my point: I was not describing a particular type system (of which there have been many of this ilk) but rather conjecturing that targeting interfaces specifically might make LLM-based code generation/type inference more effective.

Yeah, I read that comment wrong. I didn't mean to come off like that. Sorry.

Re: LLMs understand nullability

#66
Dear future authors: please run multiple iterations and report the probability.

From: ‘Keep training it, though, and eventually it will learn to insert the None test’

To: ‘Keep training it, though, and eventually the probability of inserting the None test goes up to xx%’

The former is just horse poop, we all know LLMs generate big variance in output.

Re: LLMs understand nullability

#67
LLMs "understand" nullability to the extent that texts they have been trained on contain examples of nullability being used in code, together with remarks about it in natural language. When the right tokens occur in your query, other tokens get filled in from that data in a clever way. That's all there is to it.

The LLM will not understand, and is incapable of developing an understanding, of a concept not present in its training data.

If try to teach it the basics of the misunderstood concept in your chat, it will reflect back a verbal acknowledgement, restated in different words, with some smoothly worded embellishments which looks like the external trappings of understanding. It's only a mirage though.

The LLM will code anything, no matter how novel, if you give it detailed enough instructions and clarifications. That's just a a language translation task from pseudo-code to code. Being a language model, it's designed for that.

LLM is like the bar waiter who has picked up on economics and politics talk, and is able to interject with something clever sounding, to the surprise of the patrons. Gee, how does he or she understand the workings of the international monetary fund, and what the hell are they doing working in this bar?

Re: LLMs understand nullability

#68
post #60

Once LLMs fully understand nullability, they will cease to use that. Tony Hoare called it "a billion-dollar mistake" ( https://en.wikipedia.org/wiki/Tony_Hoare#Apologies_and_retra... ), Rust had made core design choices precisely to avoid this mistake. In practical AI-assisted coding in TypeScript I have found that it is good to add in Cursor Rules to avoid anything nullable, unless it is a well-designed choice. In m…

I don’t get the problem with null values as long as you can statically reason about them which wasn’t even the case in Java where you had to always do runtime null-guards before access.

But in Typescript, who cares? You’d be forced to handle null the same way you’d be forced to handle Maybe = None | Just except with extra, unidiomatic ceremony in the latter case.

Re: LLMs understand nullability

#69

One thing that is exciting in the text is an attempt to go away from describing whether LLM 'understands' which I would argue an ill posed question, but instead rephrase it in terms of something that can actually be measured. It would be good to list a few possible ways of interpreting 'understanding of code'. It could possibly include: 1) Type inference for the result 2) nullability 3) runtime asymptotics 4) What th…

5) predicting a bunch of language tokens from the compressed database of knowledge encoded as weights, calculated out of numerous examples that exploit nullability in code and talk about it in accompanying text.

Re: LLMs understand nullability

#70

One thing that is exciting in the text is an attempt to go away from describing whether LLM 'understands' which I would argue an ill posed question, but instead rephrase it in terms of something that can actually be measured. It would be good to list a few possible ways of interpreting 'understanding of code'. It could possibly include: 1) Type inference for the result 2) nullability 3) runtime asymptotics 4) What th…

Is there any way you can tell whether a human understands something other than by asking them a question and judging their answer?

Nobody interrogates each other's internal states when judging whether someone understands a topic. All we can judge it based on are the words they produce or the actions they take in response to a situation.

The way that systems or people arrive at a response is sort of an implementation detail that isn't that important when judging whether a system does or doesn't understand something. Some people understand a topic on an intuitive, almost unthinking level, and other people need to carefully reason about it, but they both demonstrate understanding by how they respond to questions about it in the exact same way.

Post reply on HN