← Back to context

Comment by antonvs

16 days ago

Examples would help.

Here is an example of how a protocol defined in Hibana can confine even an AI agent’s behavior within an explicit interaction flow.

https://github.com/hibanaworks/hibana-agent

From an AMPST perspective, the key idea is this: one global choreography is projected into role-local protocols (Agent/Browser/Human), with affine progression (each step is consumed exactly once).

  const LOOP_BODY: g::Program<LoopBodySteps> = g::seq(
      g::send::<Agent, Browser, BrowserAction, 0>(),
      g::send::<Browser, Agent, BrowserObservation, 0>(),
  );
  
  const ADD_TO_CART_APPROVAL: g::Program<AddToCartApprovalSteps> = g::seq(
      g::send::<Agent, Human, RequestApproval, 0>(),
      g::seq(
          g::send::<Human, Agent, ApprovalDecision, 0>(),
          g::route::<0, _>(
              g::route_chain::<0, AddToCartArm>(ADD_TO_CART_ARM)
                  .and::<SkipAddToCartArm>(SKIP_ADD_TO_CART_ARM),
          ),
      ),
  );

So even AI-agent behavior is confined by protocol structure: illegal traces (skip/reorder/reuse/wrong branch) are unrepresentable, not merely blocked by ad hoc runtime checks.

As another example, we’re also preparing `hibana-quic` (a QUIC implementation built with Hibana) for public release. It already passes interop tests with neqo.