A recurring user complaint: a model that used to write full solutions starts getting "lazy" — leaving placeholder comments like "// implement the rest here," truncating long outputs, or refusing tedious work. It feels like the model got moody. The real causes are more concrete.

What "laziness" looks like

The pattern: instead of doing the full task, the model does part of it and gestures at the rest. It writes the skeleton of the code but stubs the hard functions. It summarizes when you wanted the whole thing. It says "you can continue from here." For long or repetitive tasks especially, it seems to cut corners.

The model isn't tired. But it has learned, from training, that a partial answer is sometimes the "expected" response — and that shows up as laziness.

The concrete causes

Several real factors drive this:

  • Training signals — if the training data or preferences rewarded concise answers, the model may generalize "shorter is better" too aggressively.
  • Output length pressure — models are shaped to be efficient with tokens; on long tasks, that can tip into cutting things short.
  • Imitation of human text — the internet is full of "left as an exercise for the reader" and stubbed examples; models learned that pattern.
  • Instruction calibration — vague instructions let the model choose brevity.

How to fix it

Laziness is largely promptable away. Be explicit: "Write the complete implementation, no placeholders or TODOs." Specify length and completeness. Break huge tasks into chunks. On models with effort/reasoning settings, raise them for thorough work. Newer models are also tuned to narrate and complete more by default.

Why it matters

"Laziness" is a useful lens on a real truth: models don't have intentions, they have learned tendencies from training and prompting. When a model underperforms on completeness, it's usually a calibration or instruction issue, not a mood — and it's fixable by being explicit about exactly what "done" means.

0 viewsSource: AnalysisCite · BibTeX
Was this useful?