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

Versioning

The spec field in the event envelope identifies the protocol version. The current version is aop/1.0.

  • Patch versions (e.g. 1.0.1) — spec document fixes only, no changes to the wire format.
  • Minor versions (e.g. 1.1) — new optional fields or event types. Fully backwards compatible: existing agents and collectors continue to work without changes.
  • Major versions (e.g. 2.0) — breaking changes to the envelope or existing event payloads.

Collectors accept all minor versions within the same major version. For example, when AOP releases v1.1, existing v1.0 agents and collectors will continue to work without any changes.


Full reference