28 March 2026
Talk to your AI agent like a caveman
Most people write to AI agents the way they write to a colleague they don't know well: "Hi! I was wondering if you could possibly help me take a look at something — I think there might be an issue with the login flow, when you get a chance?" Forty words. The agent needed six: "Login flow broken. Find the bug."
This isn't a style preference. There are real mechanics underneath, and they all point the same way.
Why padding actively hurts
Your fluff competes with your facts. A model's attention over a long prompt isn't uniform — the well-documented lost-in-the-middle effect shows accuracy dropping for information buried in the middle of the context. Every "I was wondering if perhaps" is ballast that your actual constraint has to compete with. Short prompts keep the signal where the model can't miss it.
Verbosity is an uncertainty smell — in both directions. A study with a title I love, Verbosity ≠ Veracity, documents "verbosity compensation": models pad their answers when they're uncertain, and longer responses correlate with worse performance, not better. Padding in, padding out. When you write tight, you're also implicitly demanding tight back.
The vendors agree. Anthropic's own prompt-engineering guidance leads with being clear and direct; practitioner guides converge on the same rule — "as short as possible, as long as necessary". Nobody who measures this stuff recommends warming up with pleasantries.
And it's money. Tokens are billed both ways. In an agent loop where your message gets re-read on every tool-call hop, that polite preamble is charged five times.
Caveman mode: the practice, formalized
Matt Pocock ships this as an actual skill in his open-source skills repo — it's called caveman, and the self-description is the whole philosophy:
"Respond terse like smart caveman. All technical substance stay. Only fluff die."
The mechanics: drop articles, filler ("just", "really", "basically"), pleasantries and hedging; keep every technical term exact; quote errors verbatim; code blocks unchanged. Claimed effect: ~75% fewer tokens with full technical accuracy intact. The example from the skill file says more than I could:
Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use
<not<=. Fix:"
I adopted the underlying style guide for my own AppMaker project, and the detail that convinced me it's engineering rather than a gimmick is the auto-clarity exception: caveman explicitly switches itself off for security warnings, irreversible-action confirmations and step sequences where a fragment could be misread. Terse where terseness is free, full sentences where ambiguity costs. That's a thought-through trade-off, not a vibe.
What this looks like in practice
My messages to agents have converged on a pattern: fact, constraint, ask.
- "Tests fail after vitest 4 bump. Error:
<paste>. Don't touch the configs in /infra. Fix." - "Need invoice status for claimant M. from FreeAgent. Read-only."
No apology, no "could you", no recap of what the agent already knows. Errors pasted exact, never paraphrased — the error text is the highest-density information you own. Constraints named explicitly, because the model can't respect a boundary it never saw.
The surprise side effect: it improves your thinking. Stripping a request to fact-constraint-ask forces you to know what you actually want before you ask for it — half the time I catch my own confusion before the agent ever sees it. Cavemen knew something.
Be polite to people. Be precise with machines. They're different kindnesses.