Chapter 16 of 36 · ~1 min

Where Should the Agent Stop?

Autonomy is not a switch. It is a series of decisions about which steps a model may take and which are fixed in code. A refund policy is a rule; let code apply it. Reading a customer's message to understand what they want is reasoning over unstructured text; let the model do that. Deciding to issue the refund sits between them, and where you put it depends on the stakes.

A useful test for each step: is there a correct answer that a rule can express? If yes, write the rule. Deterministic steps are cheap, testable, and never surprised. Reserve the model for steps where the input is open-ended and the rule cannot be written down. Then let the two hand off to each other explicitly, so the boundary is visible in the design rather than buried in a prompt.

Where the agent stopsValidate requestruleRead the messagemodelApply refund policyruleApprove?personIssue refundruleOne run, one shared state. Rules where a correct answer can be written down; the model where the input is open-ended.Can you write the rule?for this one stepCodecheap, testable, never surprisedModeljudgement over open-ended inputyesno
One process, two kinds of step. The test for each step: can you write the rule?

Exercise

Do it yourself

A refund request flows through fixed rules that compute a decision, then through an agent that explains the decision to the customer without the power to change it. A side panel shows which steps called a model and which did not.

Big question

For each decision in your process, could you write the rule? If not, why not?