Yeda AI Tips · #199

Español

Force an Assumptions Block Before Any Non-Trivial Task

The four-line block that kills AI rework.

The single most common failure mode of a coding agent isn't a syntax error. It's the agent quietly filling an ambiguous requirement with a plausible-but-wrong assumption and then building fifty files on top of it. By the time you notice, the mistake is load-bearing. The fix is not a better prompt for the task itself. It's a standing rule that forces the agent to surface its assumptions before it writes any code.

The failure mode: silent guessing

Requirements are almost never complete. When you say "add caching," the agent has to decide: cache where, invalidate how, per-user or global, what TTL. A good human engineer asks. An agent, optimized to be helpful and to produce output, guesses and proceeds. Each guess is individually reasonable. Stacked together they drift from what you actually wanted, and the drift is invisible until you read the diff.

The cost is asymmetric. Catching a wrong assumption in one sentence of English is nearly free. Catching it after the agent has restructured your module is expensive and demoralizing.

The mechanism: an assumptions block

Add a rule to your CLAUDE.md, AGENTS.md, or system prompt that fires on any non-trivial task:

## Before non-trivial work

Before writing code for any non-trivial task, output an ASSUMPTIONS block:

- **Requirements** — what I'm inferring about the desired behavior
- **Architecture** — where this fits, what it touches, what I'll change
- **Scope** — what's in, what's explicitly out

End with: "Correct me now or I proceed."
Then wait for my reply before touching files.

The magic is the last line. It converts an implicit guess into an explicit checkpoint that you have to acknowledge. You read four bullets, catch the one wrong inference, and redirect in a sentence.

Why this beats "just ask more questions"

Telling an agent to "ask if unsure" underperforms because the agent rarely feels unsure. It has a confident answer for every ambiguity. An assumptions block sidesteps confidence entirely: it doesn't ask the agent to detect uncertainty, it forces it to enumerate its own inferences where you can see them. You supply the judgment about which inference is wrong.

ApproachWhat the agent doesWhere errors surface
No ruleGuesses silently, proceedsIn the final diff, after the work
"Ask if unsure"Rarely triggers; feels certainStill in the diff
Assumptions blockLists every inference, waitsIn four bullets, before any code

Power moves

Resources

Shipping AI or cloud systems? Yeda AI audits and hardens production LLM and agent pipelines. Talk to us · Read the blog