Remix.run Logo
simonw 7 hours ago

I'm not completely convinced by this comparison between blind chess and prompting LLMs.

In blind chess you get deterministic information about the state of the board: each mental update to your board model can be precise, and you have the full state at every point in time.

LLMs are notoriously non-deterministic, and even at temperature zero you still can't predict exactly where the weights will take you next.

I suppose you can get closer to deterministic if you adopt a prompting style where you almost dictate every line of code, but at that point the coding agent is more of a typing assistant.

The productivity benefits of coding agents unlock themselves when you figure out how to turn short prompts - "add tests that exercise the registration form and check the happy path and all failure states" - into larger changes.

If you're completely blind to the results of those you're going to end up with a system you don't 100% understand very quickly. In blind chess terms you'll no longer know the positions of every piece on the board.

andai 6 hours ago | parent | next [-]

>you're going to end up with a system you don't 100% understand very quickly

This has been my experience with all software projects. Even if I wrote all the code, my understanding of how everything works and fits together decays.

( See the Forgetting Curves https://en.wikipedia.org/wiki/Hermann_Ebbinghaus )

gridspy an hour ago | parent | next [-]

While that may be true, you can be confident that it works in a way you personally understand. Because you understood it in the past.

Also, if you finish your work on a module with care - you return to a module you can trust with clear boundraries and known flaws. This is not true of AI output.

youre-wrong3 an hour ago | parent [-]

No. You can absolutely build things with AI small or large and understand it. If you don’t understand it. Then you’re not caring about the output to begin with and not guiding it to build the solution you want.

simonw 5 hours ago | parent | prev [-]

Yeah, that's a fair point. I have plenty of older projects where I no longer understand how they work despite having written the code myself.

I guess the key thing is that you need to be able to demonstrate to yourself that you understand the code at least once, because that means you should be able to revise how it works in the future.

You also can't evaluate if a solution is fit for purpose if you don't understand it.

NameError 7 hours ago | parent | prev | next [-]

I agree with your take, particularly because of this line in the article:

| the skills that define a strong blindfold chess player are the same as those of a programmer who can thrive behind a Claude Code terminal whilst not reading nor writing any code.

If you're actually not reviewing the outputs, you're just getting a fuzzy description of the state of the chessboard.

But I (and everyone I work with) use Claude Code in a workflow where I -do- review the outputs, or at least I make an honest effort to try. Rather than blindfolded, I think bullet (1-minute) chess is a fairly good analogy for this: you have all the info you need to keep your mental model up to date with reality, but the pace of change is too fast to do a good job unless you have a lot of preexisting chess expertise.

danielovichdk 7 hours ago | parent [-]

You learn a lot more by reading code than writing it.

So reading the output i believe is an immensely big gift by an LLM, because if you actually take note - and of course know your skills - then ot becomes such a great pal to work with.

I like reading what the LMM gives me, not always, but a lot of times.

lelanthran 6 hours ago | parent | next [-]

> You learn a lot more by reading code than writing it.

"You learn a lot more by reading trigonometry than by doing problems"

See how ridiculous that sounds?

simonw 4 hours ago | parent | next [-]

Have you heard of the worked-example effect https://en.wikipedia.org/wiki/Worked-example_effect ?

It's quite a surprising result: it turns out that there are cases where seeing someone else work through a worked example is more effective than struggling through the problem yourself.

(Obviously it doesn't apply universally, but your "see how ridiculous that sounds?" suggests to me you may not have heard of this before.)

lelanthran 44 minutes ago | parent [-]

As that link says, this approach is used in Maths textbooks, and yet, as the parent of two kids, I have never come across a single student who is able to pass trig without working the problems.

If reality differs from the results of academic studies, it's not the reality that is wrong.

DoctorOetker 5 hours ago | parent | prev | next [-]

I can find a kernel of truth in both statements:

As long as the literature contains insights a reader isn't aware about, reading the literature is low-hanging fruit compared to having to derive all the things yourself.

As soon as the literature no longer contains insights, it becomes more productive to explore mathematics oneself by trial and error.

Organized education will model this on a topic by topic basis: during class you're handed the more valuable insights on a silver platter, during an exam you are prevented from looking at your textbook.

Every time you read a chapter and do the exercises it's a small simulacrum of catching low hanging fruit followed by making sure you can derive similar statements with trial and error for fixing any gaps. The trial and error while you do problems does improve your intuition, but only trial and error is like having every student redevelop the frontier starting from antiquity.

bwfan123 5 hours ago | parent | prev [-]

> See how ridiculous that sounds?

For most of us, writing code is the way to carve out intuition into an artifact. But, I have noticed some people are able to read deeply - and by that I mean, reverse the code to understand the intuition that brought it to life. This is a rare skill and I dont have it, but some do. Not just for code, but also for any book - fiction or non-fiction - some are able to deconstruct the scenarios much better than others, and in that sense understand what they read.

dgellow 5 hours ago | parent [-]

I feel one need to also have developed the intuition by writing lots of code for reading to be really effective.

An an analogy I’m reading a lot of German those days as I’m aiming to become fluent, and it’s very effective to improve only because I spend so much time developing a the intuition by going through the whole grammar, forcing myself to write, forcing myself to speak, etc. Doing only the reading improves your pattern recognition, but doesn’t make you go as deep as one who also writes and speak. If you combine the different aspects they reinforce each other and you progress way faster

bwfan123 4 hours ago | parent [-]

> I feel one need to also have developed the intuition by writing lots of code for reading to be really effective.

This is one of the problems young engineers are going to face who rely excessively on AI to generate code. Their intuitions on what constitutes good code will not sharpen, since they are not exercising the tool that sharpens it which is writing code. Intuitions start fuzzy, and incorrect, and gradually sharpen with precise communication of said intuition in the form of writing code or proofs. Reading alone may delude one into a sense of false mastery where intuitions are actually fuzzy, but one thinks otherwise.

throwawee 6 hours ago | parent | prev [-]

> You learn a lot more by reading code than writing it.

Really? In my experience it's been the opposite. It's like how you can learn more about art by trying to recreate it than just looking.

DoctorOetker 5 hours ago | parent [-]

a lot of people get stuck, or code up a naive brute force algorithm and call it a day, nothing intrinsically forces a coder that refuses to look at the work of others to write better code.

vunderba 7 hours ago | parent | prev | next [-]

IMHO the thrust of the article feels a bit forced, but LLM = Blindfold chess is not what the author is saying:

> Thus in many ways programming with AI is the opposite of blindfold chess: you don't have to pay attention every turn, you don't have to remember what the important pieces are, the details of the tactical relationships (such as code interfaces and APIs).

relativeadv 7 hours ago | parent [-]

That sentence was awkward. Maybe even a typo? The following sentences to the one you just quoted ignores that and proceeds to argue FOR blindfolded chess being like programming with LLMs.

The article itself takes several paragraphs to get to the argument it wants to make and then ends having only argued for a few more sentences. No real evidence is provided either.

vunderba 7 hours ago | parent [-]

Well no, it argues that the SKILLS for playing blindfold chess are similar to people who use LLMs to develop code - not that blindfold chess = vibe coding.

And then earlier in the article defines said skills as having a sense of high-level relationships (chunking, positioning, etc) over the board rather than a photographic memory of the board.

But as I said, the whole article feels very fluffy anyway.

trollbridge 7 hours ago | parent | prev [-]

  LLMs are notoriously non-deterministic, and even at temperature zero you still can't predict exactly where the weights will take you next.
An LLM can be made to be completely deterministic. I use them in this mode so I can reproduce test cases. Of course it requires complete control over the model, etc. but this myth that a computer program is non-deterministic needs to end.

You can 100% predict where the weights “will take you” given a set of inputs.

shakna 6 hours ago | parent | next [-]

Floating point matrix calculations are non-deterministic. You need to invent new hardware, that doesn't use floating point math, first. [0]

[0] https://arxiv.org/html/2506.09501

trollbridge 2 hours ago | parent | next [-]

Floating point math is entirely deterministic. For a given set of inputs, the same outputs come out, every time.

mrob 6 hours ago | parent | prev | next [-]

>Floating point matrix calculations are non-deterministic.

This is not inherent to floating-point math. That actual (true) claim in the article is that different hardware and different hardware configurations produce different results. But deterministic inference is possible, e.g. llama.cpp on CPU is deterministic by default.

shakna 13 minutes ago | parent [-]

Right... That's why I added "matrix" in there. Because we don't have matrix operations in software, but in hardware.

feelamee 5 hours ago | parent | prev [-]

using which floating point standard? IEEE754 is totally deterministic

shakna 25 minutes ago | parent [-]

The software standard is. GPU matrix calculations, are not. The hardware, has tiny shifts that rarely matter, except in high finance and... AI modeling.

circuit10 4 hours ago | parent | prev | next [-]

I think when people say non-deterministic what they mean is closer to chaotic, like https://en.wikipedia.org/wiki/Chaos_theory as in very small changes in conditions can produce completely different output making predictions difficult

Folcon 7 hours ago | parent | prev | next [-]

> You can 100% predict where the weights “will take you” given a set of inputs.

Do you mean reproduce?

Sorry it's just if you are saying what your statement implying then either the model is very simple, or you've figured out something incredible

trollbridge 2 hours ago | parent [-]

Sure. Take the inputs and run it through the model.

You now have the output which will be perfectly reproduced with the same inputs.

simonw 6 hours ago | parent | prev | next [-]

By "can't predict exactly where the weights will take you next" I meant with your brain. The blind chess analogy suggests you can predict, using your own thought process, the exact output of a prompt.

trollbridge 2 hours ago | parent [-]

I could use my brain to run a set weights, given enough time (on the order of millions of years).

simonw 5 hours ago | parent | prev | next [-]

Can you provide steps to reproduce so I can see one of these deterministic LLMs running myself? API based or local models.

trollbridge 2 hours ago | parent [-]

I’d recommend starting with llamafile due to its simplicity and then move up to llamacpp and Unsloth.

andai 6 hours ago | parent | prev | next [-]

Could you give some examples?

techpression 6 hours ago | parent | prev [-]

You should publish, likely a Nobel price or Turing award waiting, and generational wealth at some tech giant.