What Are You Delegating?

Every abstraction is a trade: it removes work by making decisions for you. Those decisions are still being made — just not by you, and not visibly. For each abstraction: what it genuinely handles, what remains yours, and the escape hatch.

What are you delegating to an llm or coding agent?
Agentic AI
You write
1"Add retries to the payment call and make it robust."
The abstraction handles
  • Producing a plausible implementation in seconds
  • Recalling APIs, idioms and boilerplate you would otherwise look up
  • Explaining unfamiliar code, tools and error output
  • Drafting tests, docs, migrations and runbooks
  • Exploring alternatives faster than you could type them
Still your responsibility
  • Verification — whether the plausible solution is correct under concurrency, failure and load
  • The problem statement — the constraint it should optimise for, which it cannot guess
  • The failure mode it ignored — a retry without an idempotency key looks robust and double-charges
  • Security and blast radius — what the generated code can reach, with whose credentials
  • Debugging without it — when it is wrong, down, or confidently repeating the same fix
Know your escape hatch

When: The output is wrong in a way you cannot articulate, or the model keeps proposing the same non-fix.

Drop to: Your own engineering knowledge: the fundamentals that let you read the trace, the plan, the packet, the stack.

This is the whole point of the principle. The LLM amplifies what you bring; it cannot supply what you lack, and neither can you tell when it did not.