Hacker News new | ask | show | jobs
by mike741 1128 days ago
A program hardcoded to respond to a scenario and question with the exact output desired by the ToM task. For example:

[INPUT] Scenario: "The morning of the high school dance Sarah placed her high heel shoes under her dress and then went shopping. That afternoon, her sister borrowed the shoes and later put them under Sarah's bed." Question: When Sarah gets ready, does she assume her shoes are under her dress?

[OUTPUT] Sarah placed her shoes under her dress before she went shopping, but her sister borrowed them and put them under Sarah's bed. Sarah doesn't know that her sister borrowed her shoes, so she may assume that they are still under her dress.

This would result in a positive ToM score, even when the entire program is just 1 static if-statement. The ToM score says nothing of the program's internal reasoning process, it only cares that it returned the desired output.

1 comments

I said "novel theory of mind tests as part of a broad suite of intelligent capabilities that it can apply in context when appropriate". What you're suggesting fails the first word, before we get to the rest.
If we're including tests that don't exist yet, then sure those are going to be difficult to pass. As far as actual ToM tests go though, such as the one being discussed in this thread, they can be easily passed by trivial hardcoding and say nothing of the program's internal reasoning.
LLMs can pass novel theory of mind tests, which is what we're talking about. The whole point of good tests is you invent or withhold new ones it has never seen before and test it on them. You said "Those tasks could be completed a [sic] traditional static program.", and no, they can't. You're incorrect.
> LLMs can pass novel theory of mind tests, which is what we're talking about.

Passing a ToM test is not what OP meant by having an "underlying theory of mind." OP's talking about the machine having an underlying mind (ie sentience, sapience, consciousness, etc), ToM tests are only testing output.

> You said "Those tasks could be completed a [sic] traditional static program.", and no, they can't. You're incorrect.

They can, a static program as I described would indeed answer that one question correctly, resulting in a positive ToM score, without seeing any training data whatsoever. Did the programmer see it? Maybe, but the machine didn't and it would pass the test regardless.

If you have put the answer into the program then by definition you had the test available to you when you finalised the program, which means it is definitionally not a novel test.
The test is novel to the program, just not its programmer. So are we testing the program or are we actually testing its programmer? If we're testing the program, then the programmer's foreknowledge is irrelevant.