Skip to content

The LLM Laziness Deficit Fallacy

The belief agents can be instructed into the virtue of laziness; because LLMs pay no time cost, restraint comes from harness gates, not prompts.

The Fallacy

Larry Wall named laziness a programmer virtue: the drive to produce crisp abstractions so future you spends less time on clunky ones. Bryan Cantrill's "The peril of laziness lost" identifies the cost function that produces it: "The best engineering is always borne of constraints, and the constraint of our time places limits on the cognitive load of the system that we're willing to accept."

LLMs do not pay that cost. "Work costs nothing to an LLM. LLMs do not feel a need to optimize for their own (or anyone's) future time, and will happily dump more and more onto a layercake of garbage" (Cantrill, via Simon Willison).

The fallacy is the response: add "be concise" or "write minimum code" to the system prompt and expect restraint to follow. The asymmetry is in the cost function, not the attitude — and prompts do not change cost functions.

Why Instruction Alone Fails

Attitude instructions have a documented backfire mode. Cursor found that telling a Codex agent to "preserve tokens" caused it to refuse substantive work rather than execute more cheaply (Cursor). See Token Preservation Backfire.

Empirical signal without restraint gates:

The Correct Mental Model

Human laziness is an emergent property of time scarcity. The agent equivalent must be an emergent property of the harness — objective constraints applied where output meets a measurable gate.

Three gate categories bind:

  • Diff-size budgets — hard limits per change, split enforced by tooling. Oversized PRs are a documented rejection cause (Xiao et al., 2025); a cap forces consolidation because the tool rejects sprawl.
  • Complexity budgets — cyclomatic complexity, function length, and duplication thresholds in CI detect bloat mechanically (Addy Osmani).
  • Deletion targets — a "delete more than you add" rule, or periodic garbage-collection passes. Martin Fowler documents this as harness-engineered cleanup (Fowler/Böckeler).

Each is an objective constraint the agent can observe. The prompt does not ask for laziness; the environment makes sprawl expensive.

Where Restraint Gates Are Wrong

Gates are not universal:

  • Exploratory generation inside a harness — when the harness curates and discards intermediate output, per-call gates add latency without quality gain (venture-bystander): intermediate code is search, not product.
  • Known-growth systems — when a factory or registry is on the roadmap, a diff cap forces a later refactor. Scope gates to the current task.
  • Small single-author projects — one person's cognitive-load budget is their own; layered review adds process without addressing debt.

The operative question is not "are agents lazy enough?" but "does my harness impose a cost the agent can observe?"

Example

Applying the fallacy — attitude instruction without gates:

The team adds to CLAUDE.md: "Prefer simple solutions. Do not over-engineer." An agent ships a notification feature: one function requested, six classes delivered, plus a rate limiter and retry policy nobody asked for (Fowler/Garg case study). Next week, the same prompt produces another 800-line change. The instruction was read; the cost function was unchanged.

Avoiding the fallacy — harness gates that enforce the constraint:

The team removes the "be concise" instruction and installs three gates:

  • CI fails any PR over 400 changed lines without the large-change label and a linked design doc.
  • Cyclomatic complexity per function capped at 10; CI rejects over.
  • A weekly cleanup agent runs and must produce net-negative diffs.

The same agent hits the 400-line cap on the first attempt, splits the change, and prunes two speculative classes to fit. The restraint is a property of the pipeline, not the prompt.

Key Takeaways

  • Human laziness is produced by time scarcity; LLMs have no equivalent cost function, so instruction alone cannot reproduce it.
  • Attitude prompts like "be concise" either do nothing or backfire by changing whether the agent works, not how.
  • Restraint that binds is objective and external — harness-engineered diff-size caps, complexity budgets, deletion targets, review gates.
  • Gates are not universal — exploratory harness calls, known-growth systems, and small single-author projects have different constraints.
Feedback