← latest
article · Apr 14, 2026

designing for useful autonomy

principles and patterns for building agents people can trust.

useful autonomy is not the agent doing everything. it is the agent knowing which parts of the work it can safely own, which parts need evidence, and which parts need the human back in the loop.

autonomy is a contract

when an agent acts on your behalf, it is making a promise: i understand the goal, i understand the boundary, and i can show my work.

without that contract, autonomy feels like gambling. with it, autonomy feels like leverage.

the patterns we like

  • small reversible steps
  • visible plans before risky actions
  • explicit permission boundaries
  • progress that can be inspected
  • evidence attached to claims
  • graceful handoff when confidence drops

the failure mode

bad autonomy hides uncertainty. it keeps moving because stopping would look less impressive. that is how agents delete the wrong file, deploy the wrong branch, or confidently summarize something they did not read.

the bar

an agent should be able to explain what it changed, why it changed it, how it checked the result, and what it would do next. if it cannot do that, it is not autonomous. it is just unsupervised.