Protocol Specification

Agent Observability Protocol (AOP) v1.0 — an open, vendor-neutral standard for real-time observability of autonomous AI agents.

Design principles

  • Agent-native, not agent-wrapping. Events are emitted from inside the agent, capturing reasoning and intent.
  • Zero coupling. All events are fire-and-forget HTTP POST with a 500ms timeout.
  • Self-describing events. Every event carries enough context to be understood in isolation.
  • Minimal by default, extensible by design. Custom types via namespacing.

Event tier hierarchy

Tier 1 — Lifecycle
session.started
session.heartbeat
session.ended
Tier 2 — Cognition
cognition.thought
cognition.goal
cognition.decision
cognition.uncertainty
Tier 3 — Operation
operation.tool_start
operation.tool_end
operation.agent_spawn
operation.memory
operation.external_call

Event envelope

{
  "spec": "aop/1.0",
  "session_id": "sess_9f3k2m",
  "parent_session_id": null,
  "agent_id": "research-agent",
  "sequence": 1,
  "timestamp": "2026-04-03T10:00:00.000Z",
  "type": "session.started",
  "payload": {}
}

Event types

Tier 1 — Lifecycle

Report the agent's existence and operational status.

session.startedsession.heartbeatsession.ended

Tier 2 — Cognition

Capture the agent's internal reasoning — why it does things, not just what.

cognition.thoughtcognition.goalcognition.decisioncognition.uncertainty

Tier 3 — Operation

Record the agent's actions — tool calls, API requests, memory access, inter-agent communication.

operation.tool_startoperation.tool_endoperation.agent_spawnoperation.memoryoperation.external_call

Multi-agent sessions

sess_root           (parent_session_id: null)
├── sess_child_1    (parent_session_id: "sess_root")
└── sess_child_2    (parent_session_id: "sess_root")
    └── sess_grand  (parent_session_id: "sess_child_2")

Full reference