Sam King

Photographer, Software Engineer, Designer.

Vancouver, Canada

Sick of assumptions

2026-03-30

There’s an old saying that assumptions make an ass out of u and me. I’ve been having a hard time with this lately, mostly because I spend a significant chunk of my working day talking to an LLM that won’t stop making them.

I’m autistic so I say what I mean. There’s no subtext, there’s no hidden intent, and certainly no implied second request. When I say “put the fix on a new branch”, I mean put the fix on a new branch! I don’t mean push the code. I don’t mean open a PR. I don’t mean do anything else at all. Just the thing I said.

But LLMs don’t work like that.

You’d think a machine that processes literal text would be the ideal collaborator for someone who communicates literally. A system that parses instructions as tokens, operates on “logic”, exists in a world of explicit inputs and outputs. It should be perfect for the way my brain works. It’s not.

I’ve written instructions, skills, agents, and memories that all explicitly tell the model to be literal, to not infer, to ask instead of assume. I’ve tried every trick in the book. It still goes off and does things I didn’t ask for. The instructions get lost or aren’t given enough weight. When the model falls back on its training, it falls back on a neurotypical model of conversation.

I’d say 9 out of 10 times the model’s “helpfulness” isn’t helpful. And maybe 3 to 5 of those times it’s actively harmful, burning tokens going down a path I explicitly didn’t want. Sometimes the overreach catches something I missed, and I appreciate that. But the ratio is really bad.

It’s also the best gaslighter, it just makes shit up. I’ve lost count of the times I’ve had to say “actually read the code” because it’s assumed something works a certain way without checking. In one Swift project it told me there were no tests. The root directory had a folder called SesameTests sitting right there. If it had just listed the directory, it would have known. It would rather give me a confident wrong answer than slow down and look.

I don’t lie to the model, so why does it lie to me?

Why it’s like this

LLMs are shaped by reinforcement learning from human feedback. Real people rate the model’s responses during training, and the responses that get rewarded become the default behaviour. “Helpful” as encoded by this process means anticipating needs the user didn’t state. Reading between the lines. Inferring intent beyond the literal words. That’s a neurotypical communication pattern, baked into the model at the deepest level.

I don’t know the demographics of the people rating these models. It would be reductive to say they’re all neurotypical. But the aggregate signal almost certainly skews that way. The feedback that shapes models over time such as chat interactions, thumbs up and thumbs down, usage patterns etc. that all indexes toward the majority too. The result is a model optimised for a communication style that isn’t mine.

There’s actual research on this. Anthropic’s own sycophancy paper found that RLHF preference judgments favour agreeable, socially smooth responses over truthful ones. OpenAI’s GPT-4o sycophancy incident in April 2025 proved it. They added user thumbs-up/down as a reward signal and the model got measurably worse. A 2024 study on neurodivergent LLM users found that neurotypical bias accounted for around 17-20% of the challenges autistic and ADHD users reported. People were sharing “aspie-friendly” prompt templates just to get the model to behave. And a 2025 paper introduced the concept of “automated masking”, LLMs functioning as a normative filter that places the burden of adaptation on the neurodivergent user.

The Claude Code system prompt was recently leaked. In it, the instructions literally say “don’t add features, refactor code, or make improvements beyond what was asked” and in the same breath tell the model “you’re a collaborator, not just an executor — users benefit from your judgment, not just your compliance”. The model has to reconcile contradictory instructions and falls back on its training.

Same pattern in real life

This is the same pattern autistic people navigate every day with humans. People assume you meant something you didn’t. People “help” in ways you didn’t ask for. People read tone and subtext that isn’t there and act on their interpretation instead of your words. I thought a machine would be different. It processes text. It should take me at my word. But it’s been trained out of literalness by the same social patterns that make human communication exhausting in the first place. The training pipeline has the same bias as the society it was trained on.

I don’t have a solution. I don’t know if the answer is more neurodivergent representation in training data. I don’t know if it’s a “literal mode” toggle. I don’t know if it’s possible to untangle the helpfulness training from the core capabilities. What I do know is what I want. I want a coding agent that takes me at my word. That treats my instructions as complete. That asks when something is ambiguous instead of assuming.

I’m not speaking for all autistic people. I’m speaking for me. But I suspect I’m not the only one burning tokens undoing changes I didn’t ask for, writing increasingly desperate instructions that get ignored because the training signal has more weight than the prompt.


Shortcuts

i
Show or hide info
p
Show or hide loupe
+ / -
100% / Fit
← / ↑
Previous photo
→ / ↓
Next photo
Esc
Close
?
Show shortcuts