Replies: 1 comment
|
The problem statement here is right, and the retry loop is the symptom that makes it visible: the agent learns an action failed, guesses at what would succeed, and keeps trying variations until it exhausts itself or trips the same rule again. Raising a push variant alongside the pull one you describe, because the two differ on a security property rather than only on ergonomics. Pull, as proposed here. The Observed Agent asks the Guardian for the constraints that apply, and decides what to put in the LLM's context. It answers before the first step, which is the part the decision path cannot do. Push. A decision optionally carries guidance, so the answer arrives attached to the thing that prompted the question. No extra round trip, and the guidance is scoped to the action that was actually refused rather than to the session in general. They compose. Pull sets the boundaries before the agent acts, push corrects when it walks into one. The reason to specify them together is that both create the same trust-boundary crossing, and it is worth getting the constraint right once. Why this has to be constrained rather than just added. Either way, text carrying the Guardian's authority enters the agent's context, and the agent acts on it precisely because it trusts the source. If the Guardian's agent layer composes that text after reading attacker-influenced content, an injection enters the agent's context wearing the Guardian's credibility. That is a worse outcome than the retry loop we are trying to fix. So the shape that seems defensible:
Content rules, most of which you already named:
Guidance is never load-bearing for enforcement. A malformed or oversized payload is dropped and audited, and never changes the disposition. If an action must not proceed, the disposition is On your question about whether this conflicts with the agent not having knowledge of hooks: agreed that it does not, and the push form sidesteps it further. The agent never learns that a hook exists or fired. It receives a statement about its environment attached to a refusal it was already going to see. Two dependencies worth naming now, because both are cheaper to design in than to retrofit. A revision iteration counter, so a steer loop on Whether deny-side guidance belongs on hooks that are not currently decision-eligible. That question is now #146, which found that "Not decision-eligible" means two different things in the spec today and that |
Uh oh!
There was an error while loading. Please reload this page.
(An untested idea, raising it for discussion)
Today the Observed Agent learns policy only after a DENY, so it might keep retrying variations that can't pass.
Before the first step it gets only methods_evaluated from ServerHello.
Suggest: an optional method where the Observed Agent asks the Guardian for the constraints that apply, and decides if/how to put them into the LLM's context.
The answer can be free text. Not the exact limits or thresholds - just enough for the LLM to know the boundaries exist and not hit the wall in retries.
Does this conflict with "the agent MUST NOT have knowledge of hooks"? I'd say no - the LLM learns the rules, not how or whether they are enforced. And the Guardian decides how much to disclose.
All reactions