An agent becomes useful when it can act: look up an order, create a ticket, update a record. It also becomes risky. Good agent design is mostly about boundaries.
Least privilege, always
Give each agent the narrowest set of tools it needs, with read-only access by default and explicit confirmation for anything that changes data.
Log everything
Every tool call, input and output should be traceable. Observability turns mysterious behaviour into something you can debug and improve.

