Lab Experiment · A2A Protocol
Agents talking to agents.
The Agent-to-Agent protocol defines how an agent discovers another agent, delegates a task, streams progress, and handles results — without human intermediation. We're running a live harness to understand what breaks at scale.
Key Findings · EXP_A2A
F_01<200msAgent discovery latencyvia /.well-known/agents.json
F_023–4×SSE vs polling overheadPolling adds 3–4× latency on long tasks
F_03<1hrRecommended token TTLFor headless agent-to-agent auth
F_04>2sTask streaming benefitStreaming wins on tasks longer than 2 seconds
F_05DraftProtocol statusA2A spec still evolving — expect breaking changes
Findings
What we've learned so far.
F-01
Agent cards are the new business card
An agent with a well-formed /.well-known/agents.json gets discovered and invoked by other agents automatically. Latency to first handshake: under 200ms in our test harness.
F-02
Task streaming beats request-response
Long-running tasks (>2s) benefit massively from streaming responses with intermediate status updates. Orchestrators that poll a status endpoint add 3–4× overhead vs. SSE streaming.
F-03
Auth is still the hard part
OAuth 2.0 push authorization works well for human-triggered flows. Agent-to-agent headless auth needs service account tokens with explicit scope limits and short TTLs.
The Stack
What we're testing with.
a2a.harness · orchestrator → specialist handoff
→ agent.discover /.well-known/agents.json at research.internal
← agent.card name: ResearchAgent · skills: [web_search, summarize] · auth: oauth2
→ task.create id: tsk_9x2m · input: "Summarize Q2 2026 AI agent funding rounds"
← task.accepted status: working · stream: true
← task.update progress: 40% · msg: "Found 14 rounds, filtering to Series A+"
← task.complete result: 847 tokens · latency: 6.2s · cost: $0.0089