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")