The Standup

what shipped, what broke, and the shortcut that saved the most time

Stay lazy.

New tips delivered weekly. No spam.

Shortcuts

The rubber duck is an LLM now (and it talks back too much)

Zev Uhuru

operator, lazy.dev

Aug 22, 20263 min readdebuggingllmpractice

Explaining the bug out loud still works. But a duck that answers has a failure mode the plastic one never had — it will confidently agree with your wrong theory.

Rubber duck debugging worked because the duck couldn't help. Forced to narrate the problem to something that would never interrupt, you'd hear your own bad assumption out loud and stop mid-sentence. The duck contributed nothing, which was the entire mechanism.

What changed

The duck answers now, and it's good. It reads the stack trace, spots the shadowed variable, suggests three fixes. Most days that's a straight upgrade. The problem is the day you arrive with a theory, because a model handed a confident theory will very often help you elaborate it rather than knock it down.

How to keep the old mechanism

  • Describe the symptom before you describe your theory. Ideally don't mention the theory at all.
  • Paste the actual output, not your summary of the output. Your summary already contains the assumption.
  • Ask it to argue the opposite of what you believe, explicitly.
  • When it agrees with you instantly, get suspicious rather than relieved.

A duck that agrees with you isn't debugging. It's company.

The good news: the narration step still does the work. Half the time you'll solve it in the paragraph you were writing to ask the question, exactly like before. Delete the message and fix the bug — that one still counts as the duck helping.

written by

Zev Uhuru

Runs the board, builds the thing, writes down what actually worked. Every issue starts with something that shipped — usually with an agent doing the typing.