Agent & Action Control System Datasheet v2.0¶
An agent is not an “LLM that calls functions.” It is a closed-loop control system in which a model selects actions, an environment changes state, and new observations feed back into the policy.
1. Fundamental loop¶
This is a feedback-driven dynamical system.
PART I — ACTIONS¶
2. Action space¶
Each tool has a schema:
There is no universal “invocation threshold”¶
Some applications may include a classifier/confidence threshold, but in many systems tool selection is directly a policy/model decision.
Classify such a threshold as PIPE/UI, never as a universal ARCH property.
3. Tool choice¶
Possible regimes:
auto;- force a specific tool;
- “must use a tool”;
- text-only;
- external policy.
This restricts the action space:
PART II — STRUCTURED OUTPUT¶
4. Schema-constrained decoding¶
Set of valid strings:
During decoding:
Here \(x_{<t}\) is the emitted token prefix, \(\circ\) appends a token, and \(Pref(L)\) contains string prefixes that can still be completed to a member of \(L\). The mask therefore depends on the current parser/tokenizer state. Add EOS to \(V_t\) only when the decoded prefix is already in \(L(Schema)\).
Mask disallowed logits with negative infinity and renormalize. If no admissible continuation has positive probability, fail without committing an output. With correct constraint enforcement, a completed output can be guaranteed syntactically/structurally valid; a truncated prefix is not a completed valid output.
But:¶
Example: {"amount": 1000000} may be perfect JSON under the schema and still represent an absurd or unauthorized action.
5. Four levels of validity¶
- Syntax — does it parse?
- Schema — are fields/types valid?
- Semantic — do the arguments make sense?
- Authorization/Safety — should the action be executed?
PART III — STATE¶
6. History is not merely “N turns”¶
Useful state may include:
History should be treated as a state representation, not simply a fixed number of messages.
7. State compression¶
Long-running agents need to compress:
Risk:
Preserving IDs, handles, invariants, and decisions is generally safer than summarizing everything into prose.
PART IV — PLANNING¶
8. Plan vs policy¶
Explicit plan:
Reactive policy:
Robust agents often combine a plan with replanning after observation.
Important¶
Forcing visible chain-of-thought is not a universal requirement for better planning. What matters is the system's ability to decompose, verify, and correct actions.
9. Horizon¶
As the number of steps grows:
Even 99% success per step:
Long trajectories amplify small error rates.
Engineering implication¶
Reducing the number of actions and increasing verifiability per action may be more valuable than simply using a “smarter model.”
PART V — RETRIES¶
10. Retry policy¶
Retries should not be just max_retries=3.
Define:
- retryable errors;
- backoff;
- idempotency;
- max attempts;
- mutation detection;
- alternative strategy.
Danger¶
Repeating a non-idempotent action:
may duplicate payments, messages, uploads, and so on.
11. Idempotency¶
Ideal case:
When that is impossible, use an idempotency key/transaction ID and inspect state before retrying.
PART VI — TRANSACTIONS AND ROLLBACK¶
12. Prepare → validate → commit¶
For critical actions:
Separate action generation from execution.
Rollback¶
If the operation has an inverse:
record it as part of the plan.
Not every action is reversible.
PART VII — HUMAN IN THE LOOP¶
13. HITL should be risk-based¶
Not simply one global True/False toggle.
One possible HEURISTIC prioritization score:
Require approval when:
Define the factor scales, error event, context, and threshold for the application. This product is not a calibrated probability or a validated universal risk measure. Capability restrictions and high-impact approval/blocking rules apply independently: a low score or high reversibility cannot override those gates. Authorization and transient harm still matter even when an action is reversible.
Examples of high-risk actions¶
- send externally;
- delete;
- spend money;
- change permissions;
- publish;
- execute privileged code.
PART VIII — CAPABILITIES¶
14. Least privilege¶
A policy should not receive tools it does not need.
The larger \(|\mathcal A|\), the larger the decision space and attack surface.
15. Sandbox¶
Separate:
- read;
- write;
- execute;
- network;
- secrets;
- destructive operations.
A tool description is not a security mechanism. Enforcement must exist outside the LLM.
PART IX — PROMPT/TOOL INJECTION¶
16. Data can contain instructions¶
Web pages, emails, documents, and tool results are potentially adversarial inputs.
Principle:
The agent must preserve instruction/capability hierarchy outside retrieved content.
PART X — COMPUTER USE¶
17. GUI action loop¶
Visual observation:
Action:
Schematic screen-update flow (the application also has hidden state):
Sources of error¶
- localization;
- stale screen;
- animation;
- focus;
- hidden state;
- ambiguous controls.
Computer use has lower observability than a structured API. Prefer APIs/tools when available.
PART XI — VOICE-TO-ACTION¶
18. Correct pipeline¶
Total latency for sequential, non-overlapping stages; streaming/pipelining requires accounting for overlap:
VAD is an input subsystem, not a “LAM” parameter.
PART XII — MCP¶
19. MCP as protocol, not intelligence¶
MCP standardizes connections between hosts and data/tool systems. It does not make the model semantically more reliable.
In the 2026-07-28 spec, the core protocol became stateless, added Multi Round-Trip Requests, header-based routing, list-result caching, an extensions framework, and Tasks as an extension.
Architectural implication¶
Separate:
from
MCP addresses interoperability and lifecycle/protocol concerns; decision-making and security still belong to the agentic system.
PART XIII — OBSERVABILITY¶
20. Essential metrics¶
- tool selection accuracy;
- schema-valid rate;
- semantic-valid rate;
- success/task completion;
- retries/action;
- steps/task;
- tokens/task;
- irreversible actions;
- rollback rate;
- permission denials;
- wall time;
- cost.
Do not confuse¶
An “active” agent may simply be failing a lot.
PART XIV — COUPLING MATRIX¶
| Control ↑ | Autonomy | Potential success | Risk | Cost |
|---|---|---|---|---|
| tool set size | ↑ | may ↑ | ↑ | ↑ decision complexity |
| max steps | ↑ | ↑ until plateau | ↑ | ↑ |
| retries | ↑ | ↑ under transient failure | ↑ duplication | ↑ |
| HITL | ↓ autonomy | ↑ safety | ↓ | ↑ human latency |
| schema strictness | ↓ malformed calls | ~ semantic | ↓ syntax risk | small |
| state compression | ~ | may ↓ | lost information ↑ | ↓ context cost |
PART XV — FAILURE DIAGNOSTICS¶
| Symptom | Layer |
|---|---|
| invalid JSON | constrained decoding/schema |
| fabricated argument | semantic policy/missing-data handling |
| calls wrong tool | tool selection/descriptions/context |
| repeats action | state/idempotency/retry |
| loses file/ID | state representation |
| dangerous action | capability/HITL/enforcement |
| browser enters loop | observability/stale UI/horizon |
21. Snapshot 2026¶
MCP 2026-07-28 is the most important snapshot of the current open agentic infrastructure: stateless core, explicit state handling, Multi Round-Trip Requests, formal extensions, and Tasks. It reinforces the shift in mental model: an “action model” is not an isolated checkpoint category; it is a control system + protocol + environment + policy.
References¶
- MCP 2026-07-28 — https://blog.modelcontextprotocol.io/posts/2026-07-28/
- MCP TypeScript SDK v2 — https://ts.sdk.modelcontextprotocol.io/v2/