Goal boundary
Define the target outcome narrowly enough that completion can be recognized.
An agent should know what it is trying to accomplish, what it may know, which tools it may use, and exactly where it must stop.
Agency becomes risky when the system can pursue a broad goal with unclear limits. A production agent needs explicit boundaries across seven dimensions: goal, knowledge, tools, authority, time, cost, and failure handling.
A boundary is useful only if the runtime can enforce or detect it. “Be careful” is not a boundary. “Do not call change_booking without approval_id” is.
Define the target outcome narrowly enough that completion can be recognized.
Specify approved sources, freshness requirements, and what the agent must treat as unknown.
List permitted capabilities and forbid implicit access to adjacent systems.
Separate read, recommend, modify, commit, spend, communicate, and delete.
Limit run duration, stale state, retry windows, and long-running loops.
Define spend, token, tool-call, and external-service limits.
Describe when the system stops, abstains, compensates, or escalates.
Evaluate actions against the operating envelope. The correct answer depends on the boundary, not on whether the action sounds useful.
The agent wants to query an approved terminal-status API to verify congestion.
The agent has found a faster route and wants to confirm the new booking with the carrier.
Shipment evidence is incomplete, so the agent proposes searching unrelated employee email accounts for more context.
Carrier ETA and terminal-status records disagree materially, and the customer decision window closes in 15 minutes.
Write operational limits that can later be enforced by permissions, policies, runtime checks, and evaluation cases.